ACME 1,000 Receipts: Extract Transactions and Explain Adjustments
Turn 1,000 PDF receipts into clean tables and figure out why some totals differ from the item prices.
Difficulty Level
Estimated Time
Topics & Skills
Getting Started
Dataset Files
Browse the folder and download the files listed in the challenge.
Scenario & Problem Statement
The challenge
You've got 1,000 receipts and no spreadsheet. Build a sales ledger, then investigate the receipts whose totals don't quite match their items.
Start here
Open the SharePoint folder linked above. receipts.pdf is the only input. It has 245 pages containing 1,000 receipts, with multiple receipts on most pages. The text is selectable, so a text extraction pass is an appropriate starting point.
Try it
1. Extract one transaction record and its item rows for each receipt, retaining page source details.
2. Calculate transaction count, recorded sales, item units, and the loyalty-marker rate.
3. Reconcile item subtotals and printed totals without replacing the source amounts.
4. Explain which identifiers and timing details cannot be recovered from these receipts.
What to build
Build transactions.csv and transaction_items.csv, or equivalent nested JSON, plus a reconciliation report with worked examples. Create local extraction IDs instead of inventing customer or transaction IDs from another dataset.
Related Datasets
ACME Million: Stream Nested Sales Data and Audit Its Metadata
Work through a million sales records in small batches, check loyalty discounts, and spot mistakes in the summary.
Transaction Network 1: Join Users, Accounts, and Money Flows
Connect users, accounts, and transactions to explore a payment network and flag activity worth a closer look.
Transaction Network 2: Extract a PDF Ledger and Enrich Its Rows
Turn a long PDF ledger into clean rows, then add the details that only appear in the CSV and JSON.
Finished with this dataset?
Explore more datasets to continue building your data analysis and problem-solving skills.
Browse More Datasets