Invoice playground
Explore precomputed sample results. Sign in to try your own invoices.
Loading document viewer…
Needs review
Subtotal and adjustments do not reconcile with the invoice total.
Sample response · Allow row warnings · Duplicate detection: Off
Details
- Tax ID
- Not provided
- Address
- Address line 1
- 100 Example Avenue
- Address line 2
- Not provided
- City
- Austin
- Region
- TX
- Postal code
- 78701
- Country
- Not provided
Details
- Tax ID
- Not provided
- Address
- Address line 1
- 200 Demo Street
- Address line 2
- Not provided
- City
- Denver
- Region
- CO
- Postal code
- 80202
- Country
- Not provided
- Invoice number
- SYN-1002
- Issue date
- 2026-08-01
- Due date
- 2026-08-31
- PO number
- PO-EXAMPLE-2049
- Currency
- USD
- Payment terms
- Net 30
Line items · 2
Complete| Description | Quantity | Unit price | Line total |
|---|---|---|---|
| 2 | 360.00 USD | 720.00 USD | |
| |||
| 3 | 80.00 USD | 240.00 USD | |
| |||
- Subtotal
- 960.00 USD
- Tax
- 76.80 USD
- Total
- 1006.80 USD
Additional fields 1 field found
- Discount
- Not provided
- Shipping
- Not provided
- Other charges
- Not provided
- Amount due
- 1006.80 USD
Tax breakdown 1 component
- Type
- sales_tax
- Label
- Sales tax (8.00%)
- Rate
- 0.08
- Taxable amount
- Not provided
- Amount
- 76.80 USD
- Jurisdiction
- Not provided
Checks 1 needs review
Total consistencyNeeds review
Total
Subtotal and adjustments do not reconcile with the invoice total.
- Reported
- 1006.80 USD
- Calculated
- 1036.8 USD
- Difference
- -30 USD
Difference = reported − calculated. Based on extracted values.
Technical details
{
"code": "total_consistency",
"status": "fail",
"severity": "review",
"message": "Subtotal and adjustments do not reconcile with the invoice total.",
"paths": [
"/data/totals/total"
],
"details": {
"version": "total-consistency.v1",
"subtotal_tax_basis": "net",
"equation": "subtotal - discount + shipping + other_charges + tax = total",
"applicability": true,
"reason": "evaluated",
"blockers": [],
"operands": [
{
"name": "subtotal",
"operator": "+",
"amount": "960.00",
"currency": "USD",
"state": "extracted"
},
{
"name": "discount",
"operator": "-",
"amount": "0",
"currency": null,
"state": "known_absent"
},
{
"name": "shipping",
"operator": "+",
"amount": "0",
"currency": null,
"state": "known_absent"
},
{
"name": "other_charges",
"operator": "+",
"amount": "0",
"currency": null,
"state": "known_absent"
},
{
"name": "tax",
"operator": "+",
"amount": "76.80",
"currency": "USD",
"state": "extracted"
}
],
"actual_total": {
"amount": "1006.80",
"currency": "USD"
},
"calculated_total": {
"amount": "1036.8",
"currency": "USD"
},
"difference": {
"amount": "-30",
"currency": "USD"
}
}
}Document classificationPassed
Technical details
{
"code": "document_classification",
"status": "pass",
"severity": "info",
"message": null,
"paths": [],
"details": null
}Line item arithmeticPassed
Row 1 · Automation setup
Technical details
{
"code": "line_item_arithmetic",
"status": "pass",
"severity": "info",
"message": null,
"paths": [
"/data/line_items/0/quantity",
"/data/line_items/0/unit_price",
"/data/line_items/0/line_total"
],
"details": {
"version": "multiplication.v1",
"equation": "quantity * unit_price = line_total",
"applicability": true,
"reason": "exact_match",
"blockers": [],
"multiplier": "2",
"multiplicand": {
"amount": "360.00",
"currency": "USD"
},
"actual": {
"amount": "720.00",
"currency": "USD"
},
"calculated": {
"amount": "720",
"currency": "USD"
},
"difference": {
"amount": "0",
"currency": "USD"
},
"minor_units": 2
}
}Line item arithmeticPassed
Row 2 · Integration review
Technical details
{
"code": "line_item_arithmetic",
"status": "pass",
"severity": "info",
"message": null,
"paths": [
"/data/line_items/1/quantity",
"/data/line_items/1/unit_price",
"/data/line_items/1/line_total"
],
"details": {
"version": "multiplication.v1",
"equation": "quantity * unit_price = line_total",
"applicability": true,
"reason": "exact_match",
"blockers": [],
"multiplier": "3",
"multiplicand": {
"amount": "80.00",
"currency": "USD"
},
"actual": {
"amount": "240.00",
"currency": "USD"
},
"calculated": {
"amount": "240",
"currency": "USD"
},
"difference": {
"amount": "0",
"currency": "USD"
},
"minor_units": 2
}
}Tax arithmeticNot evaluable
Tax component 1
Technical details
{
"code": "tax_arithmetic",
"status": "not_evaluable",
"severity": "info",
"message": null,
"paths": [
"/data/taxes/0/rate",
"/data/taxes/0/taxable_amount",
"/data/taxes/0/amount"
],
"details": {
"version": "multiplication.v1",
"equation": "taxable_amount * rate = amount",
"applicability": null,
"reason": "unresolved_basis",
"blockers": [
{
"reason": "unresolved_basis",
"paths": [
"/data/taxes/0/rate",
"/data/taxes/0/taxable_amount",
"/data/taxes/0/amount"
]
},
{
"reason": "missing_operands",
"paths": [
"/data/taxes/0/taxable_amount"
]
}
],
"multiplier": "0.08",
"multiplicand": null,
"actual": {
"amount": "76.80",
"currency": "USD"
},
"calculated": null,
"difference": null,
"minor_units": 2
}
}Currency consistencyPassed
Currency
Technical details
{
"code": "currency_consistency",
"status": "pass",
"severity": "info",
"message": null,
"paths": [
"/data/invoice/currency"
],
"details": null
}Date consistencyPassed
Issue date · Due date
Technical details
{
"code": "date_consistency",
"status": "pass",
"severity": "info",
"message": null,
"paths": [
"/data/invoice/issue_date",
"/data/invoice/due_date"
],
"details": null
}Completed is not independent verification, tax compliance, or payment authorization.
Processing and document details
- Filename
- bad-total-us.pdf
- Content type
- application/pdf
- Page count
- 1
- Pipeline version
- playground-offline-synthetic.v1
- Duration (ms)
- 3000
- Processed pages
- 1
- Result expires at
- 2026-08-08T12:00:03.000Z
- Id
- doc_fixture_bad_total_us
- Object
- document
- Document type
- invoice
- Schema version
- invoice.v1
- Created at
- 2026-08-01T12:00:00.000Z
- External id
- Not provided
- Accounting entity id
- Not provided
- Callback
- Not provided
- Metadata
- {}
- Completed at
- 2026-08-01T12:00:03.000Z
Full sample response · invoice.v1
{
"id": "doc_fixture_bad_total_us",
"object": "document",
"document_type": "invoice",
"schema_version": "invoice.v1",
"created_at": "2026-08-01T12:00:00.000Z",
"external_id": null,
"accounting_entity_id": null,
"policy": {
"required_fields": [],
"line_items": "advisory",
"checks": {
"duplicate_detection": false
}
},
"callback": null,
"metadata": {},
"status": "needs_review",
"completed_at": "2026-08-01T12:00:03.000Z",
"document": {
"filename": "bad-total-us.pdf",
"content_type": "application/pdf",
"page_count": 1
},
"data": {
"vendor": {
"name": "EXAMPLE HARBOR SUPPLY LLC",
"tax_id": null,
"address": {
"line1": "100 Example Avenue",
"line2": null,
"city": "Austin",
"region": "TX",
"postal_code": "78701",
"country_code": null
}
},
"customer": {
"name": "SAMPLE AUTOMATION STUDIO",
"tax_id": null,
"address": {
"line1": "200 Demo Street",
"line2": null,
"city": "Denver",
"region": "CO",
"postal_code": "80202",
"country_code": null
}
},
"invoice": {
"number": "SYN-1002",
"issue_date": "2026-08-01",
"due_date": "2026-08-31",
"purchase_order_number": "PO-EXAMPLE-2049",
"currency": "USD",
"payment_terms": "Net 30"
},
"line_items": [
{
"description": "Automation setup",
"product_code": null,
"quantity": "2",
"unit_of_measure": null,
"unit_price": {
"amount": "360.00",
"currency": "USD"
},
"discount": null,
"tax": null,
"line_total": {
"amount": "720.00",
"currency": "USD"
}
},
{
"description": "Integration review",
"product_code": null,
"quantity": "3",
"unit_of_measure": null,
"unit_price": {
"amount": "80.00",
"currency": "USD"
},
"discount": null,
"tax": null,
"line_total": {
"amount": "240.00",
"currency": "USD"
}
}
],
"line_items_status": "complete",
"totals": {
"subtotal": {
"amount": "960.00",
"currency": "USD"
},
"discount": null,
"shipping": null,
"other_charges": null,
"tax": {
"amount": "76.80",
"currency": "USD"
},
"total": {
"amount": "1006.80",
"currency": "USD"
},
"amount_due": {
"amount": "1006.80",
"currency": "USD"
}
},
"taxes": [
{
"type": "sales_tax",
"label": "Sales tax (8.00%)",
"rate": "0.08",
"taxable_amount": null,
"amount": {
"amount": "76.80",
"currency": "USD"
},
"jurisdiction": null
}
]
},
"validation": {
"review_required": true,
"checks": [
{
"code": "document_classification",
"status": "pass",
"severity": "info",
"message": null,
"paths": [],
"details": null
},
{
"code": "line_item_arithmetic",
"status": "pass",
"severity": "info",
"message": null,
"paths": [
"/data/line_items/0/quantity",
"/data/line_items/0/unit_price",
"/data/line_items/0/line_total"
],
"details": {
"version": "multiplication.v1",
"equation": "quantity * unit_price = line_total",
"applicability": true,
"reason": "exact_match",
"blockers": [],
"multiplier": "2",
"multiplicand": {
"amount": "360.00",
"currency": "USD"
},
"actual": {
"amount": "720.00",
"currency": "USD"
},
"calculated": {
"amount": "720",
"currency": "USD"
},
"difference": {
"amount": "0",
"currency": "USD"
},
"minor_units": 2
}
},
{
"code": "line_item_arithmetic",
"status": "pass",
"severity": "info",
"message": null,
"paths": [
"/data/line_items/1/quantity",
"/data/line_items/1/unit_price",
"/data/line_items/1/line_total"
],
"details": {
"version": "multiplication.v1",
"equation": "quantity * unit_price = line_total",
"applicability": true,
"reason": "exact_match",
"blockers": [],
"multiplier": "3",
"multiplicand": {
"amount": "80.00",
"currency": "USD"
},
"actual": {
"amount": "240.00",
"currency": "USD"
},
"calculated": {
"amount": "240",
"currency": "USD"
},
"difference": {
"amount": "0",
"currency": "USD"
},
"minor_units": 2
}
},
{
"code": "tax_arithmetic",
"status": "not_evaluable",
"severity": "info",
"message": null,
"paths": [
"/data/taxes/0/rate",
"/data/taxes/0/taxable_amount",
"/data/taxes/0/amount"
],
"details": {
"version": "multiplication.v1",
"equation": "taxable_amount * rate = amount",
"applicability": null,
"reason": "unresolved_basis",
"blockers": [
{
"reason": "unresolved_basis",
"paths": [
"/data/taxes/0/rate",
"/data/taxes/0/taxable_amount",
"/data/taxes/0/amount"
]
},
{
"reason": "missing_operands",
"paths": [
"/data/taxes/0/taxable_amount"
]
}
],
"multiplier": "0.08",
"multiplicand": null,
"actual": {
"amount": "76.80",
"currency": "USD"
},
"calculated": null,
"difference": null,
"minor_units": 2
}
},
{
"code": "total_consistency",
"status": "fail",
"severity": "review",
"message": "Subtotal and adjustments do not reconcile with the invoice total.",
"paths": [
"/data/totals/total"
],
"details": {
"version": "total-consistency.v1",
"subtotal_tax_basis": "net",
"equation": "subtotal - discount + shipping + other_charges + tax = total",
"applicability": true,
"reason": "evaluated",
"blockers": [],
"operands": [
{
"name": "subtotal",
"operator": "+",
"amount": "960.00",
"currency": "USD",
"state": "extracted"
},
{
"name": "discount",
"operator": "-",
"amount": "0",
"currency": null,
"state": "known_absent"
},
{
"name": "shipping",
"operator": "+",
"amount": "0",
"currency": null,
"state": "known_absent"
},
{
"name": "other_charges",
"operator": "+",
"amount": "0",
"currency": null,
"state": "known_absent"
},
{
"name": "tax",
"operator": "+",
"amount": "76.80",
"currency": "USD",
"state": "extracted"
}
],
"actual_total": {
"amount": "1006.80",
"currency": "USD"
},
"calculated_total": {
"amount": "1036.8",
"currency": "USD"
},
"difference": {
"amount": "-30",
"currency": "USD"
}
}
},
{
"code": "currency_consistency",
"status": "pass",
"severity": "info",
"message": null,
"paths": [
"/data/invoice/currency"
],
"details": null
},
{
"code": "date_consistency",
"status": "pass",
"severity": "info",
"message": null,
"paths": [
"/data/invoice/issue_date",
"/data/invoice/due_date"
],
"details": null
}
]
},
"processing": {
"pipeline_version": "playground-offline-synthetic.v1",
"duration_ms": 3000,
"processed_pages": 1,
"result_expires_at": "2026-08-08T12:00:03.000Z"
}
}