For developers · Open dataset

Open Synthetic Supplier Invoice Test Pack for Shopify Developers

Fifteen fictional supplier-invoice fixtures with PDF, PNG and expected.json ground truth. Built for OCR, document AI and Shopify invoice-processing tests — not as a product demo.

What this test pack is

An openly reusable set of synthetic supplier invoices for anyone testing document extraction, line-item matching or Shopify cost/quantity writes. Each fixture is fictional and safe to redistribute.

View the test pack on GitHub →

Why synthetic invoices

  • real supplier invoices contain confidential commercial data;
  • fixtures can be version-controlled and cited;
  • expected.json gives a shared ground truth;
  • teams can compare OCR, Document AI and LLM/VLM extractors on the same files.

What scenarios are included

FixtureWhat it tests
Simple English invoiceSingle-page AED table with a clean subtotal, tax and total.
Multi-page English invoiceLine items across pages with repeated headers.
Arabic invoiceArabic supplier and product text with right-to-left layout.
Arabic / English bilingual invoiceMixed directionality and bilingual product fields.
UAE AED + VAT invoiceAED, TRN-style fields and a 5% VAT example.
Saudi SAR invoiceSAR, bilingual text and regional tax fields.
Kuwait KWD invoiceThree-decimal values with no assumed VAT line.
USD supplier invoice for an AED merchantExplicit foreign currency for FX-policy tests.
Line-level discountAn individual SKU discount with net line totals.
Invoice-level discountAn overall discount for allocation logic.
Freight + dutySeparate freight and customs lines for landed-cost tests.
Case-pack invoice5 cases × 12 units = 60 Shopify eaches.
Free-of-charge / bonus quantityCharged for 10, delivered 12.
Poor-quality scan / photoRotation and uneven contrast as an OCR challenge.
Difficult multi-column layoutSKU, barcode, qty, discount, tax and total in one dense table.

How to use it

Point your extractor at invoice.pdf or invoice.png, then compare the result with expected.json. That works for Azure Document Intelligence, Google Document AI, AWS Textract, OCR libraries, LLM/VLM extraction, or an internal Shopify invoice processor. This is not an official integration with those providers.

Ground truth

expected.json is the canonical header, totals and line items for that fixture. Schema lives in the repository so field names stay stable across contributions.

Benchmarking

Compare systems on:

  • header field extraction;
  • line accuracy;
  • financial reconciliation;
  • product identifiers (SKU, barcode, supplier code);
  • totals, tax, discount and freight.

Contributing

Add edge cases, improve fixture quality, report extraction failures, or propose schema changes. Keep invoices fictional.

The dataset is for software testing. It is not accounting, tax or customs advice, and the suppliers, TRNs and product codes are invented.