Accounts Payable | Bill Capture & OCR
Bills land. Captured, classified, ready for approval.
Email forwards, PDF uploads and vendor portal pushes land in one queue, where OCR reads header fields at 95 to 98% accuracy and line items at 88 to 92%. Vendor matched against the master. PO and receipt linked. Whether the spend is 1099 reportable, and whether it carries a use tax accrual, both resolved per line. The bill reaches the approver already worked, not waiting.
How bills enter the books today
Capture is where the AP cycle quietly loses its days.
Bills arrive in a dozen different ways. The vendor email, the accountant forward, the ERP push, the PDF photographed on someone's phone at a site visit. Then the AP team takes over:
- Header fields are keyed in by hand from a printed copy.
- Line items typed into the GL one row at a time, tax split out in a calculator.
- Vendor master searched by name, which does not match the spelling on the invoice, then by taxpayer number, which the vendor sometimes types wrong.
- PO and receipt matched by opening three tabs and eyeballing the numbers.
Three minutes a bill, twelve hundred bills a month. Multiply that out before approvals start, and capture has cost the team a week.
What the system does
Capability, input, output.
| Capability | Input | Output |
|---|---|---|
| Email-to-bill ingest | Forwarded email + attachments | OCR-staged bill in capture queue |
| Format coverage | Native PDF, scanned PDF, photo, embedded image | Same extraction pipeline for all |
| Extraction accuracy | Unstructured supplier invoice | Header 95 to 98%, lines 88 to 92%, confidence shown per field |
| Vendor matching | Invoice name, taxpayer number and bank details | Single matched record, even where the name on the invoice differs |
| Payee status | Vendor record at capture | W-9 on file or missing, and whether the taxpayer number matched |
| PO + GRN linkage | Vendor + amount + date window | 3-way status (full, partial, no-PO) |
| Tax treatment per line | Line description, GL, expense type and state | Tax charged, or a use tax accrual raised where it was not |
| Duplicate detection | Vendor, invoice number and date | Flag with a link to the original posting |
-
Email-to-bill ingest
- Input
- Forwarded email + attachments
- Output
- OCR-staged bill in capture queue
-
Format coverage
- Input
- Native PDF, scanned PDF, photo, embedded image
- Output
- Same extraction pipeline for all
-
Extraction accuracy
- Input
- Unstructured supplier invoice
- Output
- Header 95 to 98%, lines 88 to 92%, confidence shown per field
-
Vendor matching
- Input
- Invoice name, taxpayer number and bank details
- Output
- Single matched record, even where the name on the invoice differs
-
Payee status
- Input
- Vendor record at capture
- Output
- W-9 on file or missing, and whether the taxpayer number matched
-
PO + GRN linkage
- Input
- Vendor + amount + date window
- Output
- 3-way status (full, partial, no-PO)
-
Tax treatment per line
- Input
- Line description, GL, expense type and state
- Output
- Tax charged, or a use tax accrual raised where it was not
-
Duplicate detection
- Input
- Vendor, invoice number and date
- Output
- Flag with a link to the original posting
Compliance + integrations
Capture isn't an island.
Every bill that enters the system resolves to a vendor, a tax position and a 3-way match status before it moves on. The capture step is treated as a tracked event with the same audit-trail rigour that applies to a posted journal entry.
Regulations we work within
-
1099 reportability
Reportable spend is coded at capture and accumulates per payee, rather than being reconstructed in January.
-
Use tax
A taxable purchase with no tax charged is flagged at capture instead of being found at year end.
-
ESIGN Act
Digital invoices and approvals retain the same legal weight as paper originals.
Connects to
- Email gateway Forward-to-capture per entity
- Vendor portal Self-service invoice upload
- Xero Native connector
- QuickBooks Native connector
- SAP Business One Native connector
- NetSuite Native connector
Bill Capture & OCR FAQ
What buyers ask.
Will OCR handle a vendor who sends a JPG of the invoice from his phone?
Yes. Photographed bills, embedded image emails, scanned PDFs and native PDFs all run through the same pipeline. Confidence drops from 95 to 98% on a clean PDF to 88 to 94% on a phone photo, with line items at 80 to 88%. Confidence is shown per field, so the team reviews only what isn't certain.
What if the vendor did not charge us tax?
Often correct, and sometimes the start of a liability. An out-of-state vendor with no obligation in your state will not charge you, and if the purchase was taxable there the tax becomes yours as use tax. Capture flags the line against the taxability of that item in that state, so it is a decision at the bill rather than a discovery at year end.
Can we capture into a non-default cost-centre or project?
Yes. The OCR can lift cost-centre, project or department from custom fields if the vendor's invoice carries them. If not, the AP team or approver can set them inline. Rule-based defaults by vendor are also supported.
How does this compare to Xero's or QuickBooks' built-in invoice import?
Both read structured imports cleanly and both have their own capture features. Where OneFinOps earns its place is the long tail: unstructured PDFs from suppliers who are not on any standardised software, matched against a PO and a GRN before anyone approves them. The captured bill syncs back, so the books in Xero or QuickBooks can stay the system of record where the team prefers.
Is there an e-invoicing network we should be receiving on instead?
Not in the US, and we would rather say so than imply otherwise. There is no mandate and no national registry, so almost every bill arrives as an email, a PDF or a portal upload. That is exactly why the extraction quality on unstructured documents matters more here than in countries phasing a network in.
Forward your next bill. We'll do the rest.
Set up a capture inbox in 10 minutes. Forward one bill. Header, lines, vendor match, 1099 status and use tax flags all done before you have finished your morning email.