Skip to main content
Challenge

Build an SME Trade Invoice Reconciliation and Document Correction Pipeline

Reconcile commercial invoices against Singapore GST requirements, purchase orders, and proof-of-delivery receipts. Detect price drift and missing tax registration details to generate structured correction notices.

Business OperationsHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Reconcile commercial invoices against Singapore GST requirements, purchase orders, and proof-of-delivery receipts. Detect price drift and missing tax registration details to generate structured correction notices.

SME Treasury Accountant

Extract structured line items, seller UEN, and GST breakdown from normalized SME commercial invoices.

Cross-check unit quantities and extended totals against matching delivery orders and purchase orders.

Calculate GST computation discrepancies and flag missing or malformed Singapore tax registration numbers.

Generate an itemized invoice reconciliation summary and formal vendor document correction notice.

A split-screen web reconciliation ledger displaying invoice fields, matched purchase order lines, discrepancy badges, and an editable correction draft.

Generate synthetic JSON invoice datasets with deliberate calculation errors and mock Singapore UEN numbers in a local test suite. Starter examples below are synthetic. They are not downloaded records.

Singapore open data API Utilize data.gov.sg dataset search schema specifications to format tabular financial reconciliation records.

pydantic-ai, fastapi, pytest. Pydantic AI guarantees type-strict schema parsing and deterministic validation for invoice arithmetic and tax IDs. Hosted general LLM with strong mathematical and table extraction reliability.

Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

Identifies unit price variances exceeding pre-set SME tolerance thresholds.

Verifies that 9% Singapore GST is applied correctly across taxable sub-totals.

Synthesizes structured correction notices citing specific mismatched line items.

Maintains audit logs of human approvals for corrected invoice ledgers.

```json [ { "input": { "invoice_id": "INV-SG-2025-01", "seller_uen": "201812345M", "subtotal_amount": 1000, "gst_rate": 0.09, "stated_gst": 90, "stated_total": 1090, "po_reference": "PO-8812", "po_expected_total": 1090, "po_items": [ { "item_id": "IT-1", "qty": 10, "unit_price": 100 } ] }, "expected_output": { "status": "reconciled", "math_discrepancy": 0, "gst_discrepancy": 0, "line_item_matches": true, "action_required": "ready_for_payment_batching", "correction_notice": null } }, { "input": { "invoice_id": "INV-SG-2025-02", "seller_uen": "INVALID_UEN", "subtotal_amount": 5000, "gst_rate": 0.09, "stated_gst": 400, "stated_total": 5400, "po_reference": "PO-9910", "po_expected_total": 5450, "po_items": [ { "item_id": "IT-2", "qty": 50, "unit_price": 100 } ] }, "expected_output": { "status": "discrepancy_flagged", "math_discrepancy": 50, "gst_discrepancy": 50, "line_item_matches": false, "action_required": "vendor_correction_requested", "correction_notice": { "invoice_id": "INV-SG-2025-02", "issues": [ "Stated GST of 400.00 does not match calculated 9% GST of 450.00", "Seller UEN format is malformed", "Stated total 5400.00 differs from expected PO total 5450.00" ] } } } ] ```

Executes accounting reconciliation and draft generation only; does not disburse bank payments. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Executes accounting reconciliation and draft generation only; does not disburse bank payments. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Identifies unit price variances exceeding pre-set SME tolerance thresholds. Verifies that 9% Singapore GST is applied correctly across taxable sub-totals. Synthesizes structured correction notices citing specific mismatched line items. Maintains audit logs of human approvals for corrected invoice ledgers.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Extract structured line items, seller UEN, and GST breakdown from normalized SME commercial invoices. Cross-check unit quantities and extended totals against matching delivery orders and purchase orders. Calculate GST computation discrepancies and flag missing or malformed Singapore tax registration numbers. Generate an itemized invoice reconciliation summary and formal vendor document correction notice.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Identifies unit price variances exceeding pre-set SME tolerance thresholds. Verifies that 9% Singapore GST is applied correctly across taxable sub-totals. Synthesizes structured correction notices citing specific mismatched line items. Maintains audit logs of human approvals for corrected invoice ledgers.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

A split-screen web reconciliation ledger displaying invoice fields, matched purchase order lines, discrepancy badges, and an editable correction draft.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Executes accounting reconciliation and draft generation only; does not disburse bank payments.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Extract structured line items, seller UEN, and GST breakdown from normalized SME commercial invoices.

  • Cross-check unit quantities and extended totals against matching delivery orders and purchase orders.

  • Calculate GST computation discrepancies and flag missing or malformed Singapore tax registration numbers.

  • Generate an itemized invoice reconciliation summary and formal vendor document correction notice.

Resources and assets

Reference links and supporting material

Dataset notes

Generate synthetic JSON invoice datasets with deliberate calculation errors and mock Singapore UEN numbers in a local test suite. Supplied starter examples are synthetic, not source extracts.

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.

Evaluation checks
  • Extract structured line items, seller UEN, and GST breakdown from normalized SME commercial invoices. Cross...
  • Identifies unit price variances exceeding pre-set SME tolerance thresholds. Verifies that 9% Singapore GST...
  • A split-screen web reconciliation ledger displaying invoice fields, matched purchase order lines, discrepan...
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 2 configured tools

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

Action Space
  • Pydantic AI · Optional
Orchestration
  • Pydantic AI · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build an SME Trade Invoice Reconciliation and Document Correction Pipeline