AP Clerk

Emailed invoices in, coded bills on hold in your accounting system, a Slack ping for review. You post when you're ready.

AP Clerk is a fieldset that handles the front of your accounts-payable workflow. It reads invoices from your inbox, has Claude extract the vendor, invoice number, amount, and GL coding, creates the bill in Acumatica — on Hold, never posted — and notifies your AP reviewer in Slack with a confidence score. A human reviews and posts the bill in Acumatica. That review step is the point: AP Clerk does the typing, your team keeps the control.

What it does

On a schedule it scans your invoice inbox for unread messages with attachments, skipping anything already handled. For each new invoice, Claude extracts the vendor, invoice number, dates, currency, line items, total, and a proposed GL coding per line. It then creates the bill in Acumatica in Hold status and posts a notification to your AP review channel in Slack — bill details, the proposed coding, and a confidence indicator (high / medium / low). Your finance team reviews each bill in Acumatica and releases it. On Belay never posts or releases a bill.

Who it's for

Finance teams that receive vendor invoices by email and key them into Acumatica by hand. AP Clerk removes the data entry and the GL-coding first pass while keeping the human posting decision exactly where it is today.

Prerequisites

You need three On Belay integrations connected:

  • Gmail — the inbox AP Clerk reads invoices from.
  • Acumatica — where the bills are created on hold.
  • Slack — where review notifications are sent.

All three are required. Enabling the fieldset is admin-only. Because AP Clerk touches GL coding and your accounting system, setup is done with help from the On Belay team rather than fully self-serve — there are vendor mappings and coding rules to get right.

Setup

  1. Connect Gmail, Acumatica, and Slack on the Integrations page.
  2. Go to Dashboard → Fieldsets and enable AP Clerk, passing through the requirement check and consent step.
  3. Work with the On Belay team to set up your GL coding rules, your vendor map, and your Acumatica connection. This is the part that makes the coding accurate for your chart of accounts.
  4. Choose where AP Clerk posts in Slack: a channel for bills ready to review, and a channel for unknown-vendor alerts (see Configuration).

Reach us at hello@onbelay.ai to get the setup call scheduled.

Configuration

Settings live at Dashboard → Fieldsets → AP Clerk → Settings (admin-only). You choose:

  • Bills review channel — where AP Clerk posts each created bill for review.
  • Unknown-vendor alert channel — where it flags invoices from vendors it doesn't yet recognize, so you can add them to the vendor map. If you don't set a separate one, these go to the bills review channel.

GL coding rules, the vendor map, and the Acumatica base URL (used to deep-link to each bill) are configured as part of setup.

How it runs

AP Clerk runs on a daily schedule. The scheduler enqueues a run for each enabled org, and the run polls your inbox and processes any new invoices it finds. It's safe to run repeatedly: each invoice email is processed once. A unique constraint and a "processing" guard mean the same invoice never produces a duplicate bill, and the inbox query skips messages it has already labeled as processing, processed, errored, or awaiting approval.

Review & approval

This is the human gate, and it's deliberate.

Every bill AP Clerk creates lands in Acumatica in Hold status — visible, coded, and ready, but not posted. AP Clerk has no path to release or post a bill; that action only ever happens when a person does it in Acumatica.

The Slack notification gives your reviewer everything they need to decide: vendor, invoice number, due date, total, the per-line GL coding, a confidence indicator, and a link straight to the bill in Acumatica. The confidence reflects how sure the coding is — a known vendor with a clean, single-account match reads high; an unrecognized vendor or ambiguous coding reads lower, and large or non-USD amounts are nudged down a level so they get a closer look. The overall confidence is the lowest of any line on the bill.

Your reviewer opens the bill, checks the coding, and posts it. If a vendor isn't recognized, that invoice is flagged to the unknown-vendor channel so you can add it to the map and improve future coding.

The run log — every processed bill

The run log is the main surface you work in. Find it at Dashboard → Fieldsets → AP Clerk, below the status bar. It's a table of the bills AP Clerk has processed, newest first, one row per invoice. The page loads the most recent 200 records and shows them 50 at a time — when there are more, a Load more button reveals the next 50.

Each row shows six columns: the date and time the bill was processed, the vendor, the invoice number, the amount, the status, and the Acumatica bill reference. The Acumatica column is a direct link that opens the bill in your accounting system in a new tab; rows with no created bill (skipped emails, errors, held invoices) show a dash there instead.

Status reads as a colored chip:

  • Bill created — the bill was created in Acumatica on Hold.
  • Needs approval — the invoice is held because the vendor isn't recognized yet.
  • Not an invoice — the email was scanned and judged not to be an invoice, so it was skipped.
  • Error — something went wrong processing the email and no bill was created.
  • Processing — the invoice is being worked on right now.

For skipped emails the vendor column falls back to the sender's name (or reads "Not an invoice"), and the amount shows a dash, because nothing was extracted as a bill.

Filtering the run log

Above the table is a row of tabs that filter what you see: All, Bills, Held, Errors, and Skipped. Each tab carries a count badge so you can tell at a glance how many records fall into it.

  • All — every processed record.
  • Bills — only invoices that became a bill in Acumatica (status Bill created).
  • Held — invoices waiting on vendor approval. The held-bills alert (below) links straight here.
  • Errors — invoices that failed to process.
  • Skipped — emails that weren't invoices.

The list defaults to All unless you arrive via a filter link — for example the held-bills alert opens the run log already filtered to Held. Switching tabs resets you to the first page.

When AP Clerk hasn't processed anything yet, the run log shows a "Your first bills will appear here" message that tells you it's checking your Gmail inbox every 15 minutes and roughly when the next check is due. When a filter tab simply has no matching rows, you'll see a short note like "No held bills right now."

The run detail drawer — reviewing one bill

Click any row in the run log (or the date button at the start of the row) to slide open the run detail drawer from the right. It's the review interface for a single bill — everything AP Clerk extracted and coded, with no extra loading; the data is already on the page. Close it with the X, the Escape key, or by clicking outside it.

The drawer header repeats the vendor, invoice number, processed date, amount, and status chip. Below that:

  • GL coding — a table of the proposed line items: description, account, sub(account), amount, and a per-line confidence dot (green = high, amber = medium, red = low). Hovering a dot shows which coding rule matched it. The table totals to the bill amount. If there are no coded lines, the drawer explains why — the email wasn't an invoice, coding is paused until the vendor is approved, or bill creation failed before coding finished.
  • Overall confidence — a one-line summary of the bill's confidence: high means every line matched known GL rules, medium means some lines needed a best-guess, and low means one or more lines couldn't be confidently coded.
  • Invoice extraction detail — a collapsed section (click to expand) showing exactly what Claude read off the invoice: vendor name detected, invoice number, invoice and due dates, currency, the number of line items found, and whether the source was a PDF attachment or the email body.
  • View in Acumatica — for created bills, an Open in Acumatica button that deep-links to the bill (in Hold status). For held bills it explains the bill is pending vendor approval and hasn't been created yet; for skipped emails it notes no bill was created.
  • Error details — for failed invoices, the error message AP Clerk recorded, with a reminder that you'll need to create that bill manually in Acumatica.

The drawer is read-only. It's where you decide whether a bill is ready — the actual posting still happens in Acumatica.

The held-bills alert

When invoices come in from vendors AP Clerk doesn't recognize, they're created on hold and surfaced in an amber held-bills alert at the top of the fieldset page — above the run log. It only appears when there are held bills; when there are none, nothing shows.

The alert headlines the count of bills waiting on vendor approval and lists up to five of them, each with the vendor name, the date, and the amount. When more than five are held, it caps the headline at "5+" and gives you a View all held bills in the run log link that opens the run log filtered to the Held tab. These are the invoices that need a human to approve the vendor mapping before they can move forward; once the vendor is mapped, you re-run AP Clerk or process them manually in Acumatica.

Outputs & where they land

  • Acumatica — a bill per invoice, in Hold status, fully coded.
  • Slack — a review notification per bill, with details, coding, confidence, and a deep link to Acumatica; plus unknown-vendor alerts to their channel.
  • Dashboard — the fieldset page shows a status bar (last run, bills this week, errors this week), a run log of recent bills, and a panel highlighting bills still held and awaiting review.

Gmail, Acumatica, and Slack calls all run through the On Belay proxy, so credentials stay server-side and every action is recorded in your audit log.

Billing

AP Clerk is included with your base plan — flat-rate, no per-invoice or per-bill metering. Your On Belay subscription covers it. (See Billing for how plans and the trial work.)

Tips

  • Keep the vendor map current. Watch the unknown-vendor alerts and add vendors as they appear — coding confidence climbs as the map fills in.
  • Use the held-bills panel as your queue. It's the running list of what's waiting on a human; nothing posts until you say so.
  • Trust the confidence, then verify. High-confidence bills are quick to clear; spend your review time on the medium and low ones, and on anything large or in a foreign currency.
  • Watch the error count. A rising error count on the status bar means some invoices didn't parse cleanly — a malformed attachment or a vendor the rules can't place — and are worth a look.

Related