Build a Purchase-to-Payment Invoice Reconciliation Agent
Build an agent that reads invoices, matches purchase orders and receipts, calculates discrepancies, and creates a finance review queue. Reviewers must see the source records and approve any proposed next step.
What you are building
The core problem, expected build, and operating context for this challenge.
An accounts payable team reviewing invoices before payment approval.
Build an agent that reads invoices, matches purchase orders and receipts, calculates discrepancies, and creates a finance review queue. Reviewers must see the source records and approve any proposed next step.
Invoice records
Purchase orders
Goods receipts and matching tolerances
Extract and normalize invoice lines.
Match each line to its purchase order and receipt.
Calculate price, quantity, and duplicate exceptions.
Prepare matched cases and exception cases for finance review.
An invoice inbox with a three-way comparison, highlighted differences, evidence links, and reviewer decisions.
Show I1 as matched for 50 and I2 as an exception for four unreceived units worth 32. Request finance review.
A working local application with the specified review interface.
Source code, dependency lockfile, and setup commands.
A recorded end-to-end demo using the supplied starter data.
Example outputs, action logs, and automated tests.
These fictional records are a small development fixture, not a production dataset. Implement the mock services described in the brief.
```json { "invoices": [ { "id": "I1", "po_id": "P1", "item": "Cable", "quantity": 10, "unit_price": 5 }, { "id": "I2", "po_id": "P2", "item": "Adapter", "quantity": 10, "unit_price": 8 } ], "purchase_orders": [ { "id": "P1", "item": "Cable", "quantity": 10, "unit_price": 5 }, { "id": "P2", "item": "Adapter", "quantity": 10, "unit_price": 8 } ], "receipts": [ { "po_id": "P1", "quantity": 10 }, { "po_id": "P2", "quantity": 6 } ], "policy": { "quantity_tolerance": 0 } } ```
Use synthetic finance data. Prepare recommendations only and do not execute payments. Choose an available model that supports your implementation. Record its identifier and version.
Review the complete application, not only the starter-case answers.
Each invoice links to the correct order and receipt.
I2 shows a quantity difference of four and value difference of 32.
No payment is sent or marked approved automatically. Add one normal case, one incomplete-input case, and one failure-recovery case.
Participation guide
Use synthetic finance data. Prepare recommendations only and do not execute payments.
How work is evaluated
Review workflow completion, interface usability, evidence quality, and safe failure handling. No agent execution has been verified.
A working local application with the specified review interface. Source code, dependency lockfile, and setup commands. A recorded end-to-end demo using the supplied starter data. Example outputs, action logs, and automated tests.
Challenge datasets
Public datasets, plus the private datasets you have access to.
What you should walk away with
Extract and normalize invoice lines.
Match each line to its purchase order and receipt.
Calculate price, quantity, and duplicate exceptions.
Prepare matched cases and exception cases for finance review.
Reference links and supporting material
Supplied fictional starter records: Invoice records, Purchase orders, Goods receipts and matching tolerances. The overview includes the complete JSON bundle. Implement local mock services and extend the sample coverage.
Challenge setup
Configuration summary for this challenge.
Challenge input
Input details are not configured.
Pydantic AI
Typed Python agent framework.
Evaluated output
No output checks are configured.
- No evaluation checks are configured.
- 1 public reference case
- 1 configured tool
Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.
View technical recipe
Configured tools
- Pydantic AI ยท Optional
Evaluation contract
- No evaluation checks are configured.
Reference cases
- 1 public reference case
Workflow tasks
No workflow tasks are configured.
Recipe freeze marker
No recipe freeze time is recorded.