An automatic checklist between the invoice and the ERP
Supplier invoices checked against purchase orders and contracts the moment they arrive.
- Python
- FastAPI
- PostgreSQL
- XML
- Webhooks
The problem
Supplier invoices were checked by hand against purchase orders and contracts in the ERP before being posted.
Checked by hand
Every invoice checked by hand against order and contract.
Several formats
Several document types, each with its own key and format.
Late cancellation
Cancellations arrived after the check.
How it works
Flexible intake
XML by webhook or in batches, with the document type identified on arrival.
Exceptions first
Cancellations and discards stop before any check runs.
Checklist
About ten items, each recording whether it passed, failed or was skipped.
A readable reason
Each invoice leaves with the reason for whoever handles it, not just a status.
Rules from real cases
Such as order balance and supplier validated by the invoice issuer.
Outcome
Triage now happens on arrival, and the tax team only looks at what failed, reason included.