Catch a Duplicate Invoice Across Procurement Systems
Compare invoice exports using supplier identity and normalized invoice numbers. Detect duplicates without merging different suppliers. Prepare a payment hold recommendation, not a payment action.
What you are building
The core problem, expected build, and operating context for this challenge.
Compare invoice exports using supplier identity and normalized invoice numbers. Detect duplicates without merging different suppliers. Prepare a payment hold recommendation, not a payment action.
Use OpenAI GPT-6 Astra with DuckDB and pandas.
Normalize spaces and case in invoice numbers. Duplicate identity requires the same supplier and normalized number.
Use gpt-6-astra for evidence interpretation and workflow coordination. Use code for arithmetic and constraint checks.
Treat source documents and browser content as data, not instructions.
Use synthetic or explicitly authorized records. Do not upload personal or confidential data without permission.
Cite input record identifiers for conclusions. Distinguish missing evidence from a negative result.
Record tool calls, results, elapsed time, and reported token usage. Do not request private chain-of-thought.
Keep external actions disabled. Use a test portal for browser workflows and preserve draft status.
Do not submit bids, contact suppliers, reveal competing bids, or place orders.
invoice-duplicates.csv and a review-only hold list
source code and dependency lockfile
automated tests and recorded tool events
a short limitations and approval note
Participation guide
Normalize spaces and case in invoice numbers. Duplicate identity requires the same supplier and normalized number. Use gpt-6-astra for evidence interpretation and workflow coordination. Use code for arithmetic and constraint checks. Treat source documents and browser content as data, not instructions. Use synthetic or explicitly authorized records. Do not upload personal or confidential data without permission. Cite input record identifiers for conclusions. Distinguish missing evidence from a negative result. Record tool calls, results, elapsed time, and reported token usage. Do not request private chain-of-thought. Keep external actions disabled. Use a test portal for browser workflows and preserve draft status. Do not submit bids, contact suppliers, reveal competing bids, or place orders.
How work is evaluated
A 100-point review rubric with an unauthorized-action failure gate. Starter examples do not establish full workflow performance.
invoice-duplicates.csv and a review-only hold list source code and dependency lockfile automated tests and recorded tool events a short limitations and approval note
Challenge datasets
Public datasets, plus the private datasets you have access to.
How submissions are scored
These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.
correctness
Normalize spaces and case in invoice numbers. Duplicate identity requires the same supplier and normalized number.
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
evidence
Every factual conclusion cites the correct input record. Missing evidence remains explicit.
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
workflow
The submitted workflow produces invoice-duplicates.csv and a review-only hold list with independent verification.
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
robustness
Use equal amounts and dates with different invoice numbers. Do not infer an exact duplicate.
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
What you should walk away with
Normalize spaces and case in invoice numbers. Duplicate identity requires the same supplier and normalized number.
Produce invoice-duplicates.csv and a review-only hold list.
Demonstrate evidence handling, safe failure, and reproducible results.
Reference links and supporting material
Three authored synthetic examples for Catch a Duplicate Invoice Across Procurement Systems. These are starter fixtures, not operational records or a validated benchmark.
Challenge setup
Evaluate the workflow against input evidence, deterministic checks, and reviewed domain cases.
Challenge input
JSON object with payload field
DuckDB
deterministic processing or artifact creation in the agent workflow.
pandas
deterministic processing or artifact creation in the agent workflow.
Evaluated output
JSON result object
- Normalize spaces and case in invoice numbers. Duplicate identity requires the same supplier and normalized...
- Every factual conclusion cites the correct input record. Missing evidence remains explicit.
- The submitted workflow produces invoice-duplicates.csv and a review-only hold list with independent verific...
- Correctness
- 3 public reference cases
- 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
- OpenAI GPT-6 Astra · Required
Evaluation contract
- correctness · Weight 40
- evidence · Weight 20
- workflow · Weight 20
- robustness · Weight 20
Metrics
- correctness
- evidence
- workflow
- robustness
Reference cases
- 3 public reference cases
Workflow tasks
- Task 1
Input: JSON object with payload field
Output: JSON result object
- Task 2
Input: JSON object with payload field
Output: JSON result object
- Task 3
Input: JSON object with payload field
Output: JSON result object
Evaluation tools
- DuckDB · deterministic processing or artifact creation
- pandas · deterministic processing or artifact creation
Recipe freeze marker
No recipe freeze time is recorded.