Accounts Payable | Bill Capture & OCR
Bills land. Captured, classified, ready for approval.
Invoices sent over InvoiceNow arrive as structured data and skip OCR entirely. Everything else, email forwards, PDF uploads and vendor portal pushes, lands in the same queue, where OCR reads header fields at 95 to 98% accuracy and line items at 88 to 92%. Vendor matched on UEN. PO and GRN linked. Input tax eligibility 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, GST splits done in a calculator.
- Vendor master searched by name (which doesn't match the invoice's spelling), then by UEN (which the vendor sometimes types wrong).
- PO and GRN 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 |
|---|---|---|
| InvoiceNow receiving | Structured invoice over the PEPPOL network | Posted as data, no extraction step |
| 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 UEN + name + bank details | Single matched record, even where the name on the invoice differs |
| Live register status | Captured UEN | ACRA entity status and IRAS GST registration |
| PO + GRN linkage | Vendor + amount + date window | 3-way status (full, partial, no-PO) |
| Input tax classification | Line description + GL + expense type | Claimable or blocked, flagged per line |
| Duplicate detection | UEN + invoice no + date | Flag with link to the original posting |
-
InvoiceNow receiving
- Input
- Structured invoice over the PEPPOL network
- Output
- Posted as data, no extraction step
-
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 UEN + name + bank details
- Output
- Single matched record, even where the name on the invoice differs
-
Live register status
- Input
- Captured UEN
- Output
- ACRA entity status and IRAS GST registration
-
PO + GRN linkage
- Input
- Vendor + amount + date window
- Output
- 3-way status (full, partial, no-PO)
-
Input tax classification
- Input
- Line description + GL + expense type
- Output
- Claimable or blocked, flagged per line
-
Duplicate detection
- Input
- UEN + invoice no + date
- Output
- Flag with 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
-
GST Act
Tax invoice fields validated at capture, so a missing one surfaces for vendor follow-up rather than at the return.
-
Blocked input tax
Lines in a blocked category are flagged at capture instead of being claimed and reversed later.
-
Electronic Transactions Act
Digital invoices retain the same legal weight as paper originals.
Connects to
- InvoiceNow Receive over the PEPPOL network
- 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 is not GST-registered?
Suppliers below the registration threshold have no GST to charge, and their invoices are not tax invoices. The capture flow tags them as unregistered so the line never lands in the input tax claim. Where the supply is an imported service, the bill routes to the reverse charge workflow instead.
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.
Do we still need OCR once we are receiving on InvoiceNow?
For your counterparties on the network, no. The invoice arrives as data, already structured, and there is nothing to extract. OCR stays for everyone else, which in practice means overseas suppliers and the smaller local ones who have not moved yet. Both paths land in the same queue and the AP team works one screen, not two.
More in Accounts Payable
Related features
Forward your next bill. We'll do the rest.
Set up a capture inbox in 10 minutes. Forward one bill. Header, lines, vendor match and input tax classification all done before you've finished your morning email.