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.

intermediate

Difficulty Level

3-4 hours

Estimated Time

Topics & Skills

retailpdf-extractioncsvreconciliation

Getting Started

Open the dataset folder below, grab the files, and read through the challenge. Try to solve the problem yourself before looking at the solution!

Dataset Files

Open Dataset Folder on SharePoint

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.

retailbig-datajson+1

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.

transactionsgraph-analysiscsv+1

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.

transactionspdf-extractionreconciliation+1

Finished with this dataset?

Explore more datasets to continue building your data analysis and problem-solving skills.

Browse More Datasets