Two exports.
One checked operations report.
Order lines matched to inventory. Every source row accounted for. Exceptions stay visible until the source data is resolved.
Duplicate lines, unmatched SKUs and incomplete values require manual investigation.
Deterministic checks, row reconciliation and unchanged originals on every refresh.
Reconciliation
These checks account for rows and computable values. They do not approve held records for use.
| Control | Reconciliation | Difference |
|---|---|---|
| Orders: accepted + held | 19 + 7 = 26 | 0 |
| Inventory: valid + held | 20 + 0 = 20 | 0 |
| Computable CAD: accepted + held | 3295.60 + 617.50 = 3913.10 | 0.00 |
Exceptions to resolve
All occurrences of a duplicate order-line key are held. Dates must be unambiguous YYYY-MM-DD. No missing value, SKU mapping or currency is guessed.
| File | Source row | Record | Why held | Known CAD value |
|---|---|---|---|---|
| orders.csv | 6 | SO-1005/1 | DUPLICATE_ORDER_LINE | 137.00 |
| orders.csv | 22 | SO-1021/1 | UNKNOWN_SKU | 99.00 |
| orders.csv | 23 | SO-1022/1 | INVALID_OR_AMBIGUOUS_DATE | 148.50 |
| orders.csv | 24 | SO-1023/1 | INVALID_OR_AMBIGUOUS_DATE | 96.00 |
| orders.csv | 25 | SO-1024/1 | MISSING_QUANTITY; INVALID_QUANTITY | Unknown |
| orders.csv | 26 | SO-1025/1 | INVALID_UNIT_PRICE | Unknown |
| orders.csv | 27 | SO-1005/1 | DUPLICATE_ORDER_LINE | 137.00 |
Correct an authorised copy or new source export, then refresh. Original source values and the required action are retained in the exceptions CSV. The workbook contains the review queue.
Accepted order lines
CAD values use exact decimal arithmetic. Tax, shipping, discounts and refunds are outside this synthetic example.
| Order | Line | Date | Customer | SKU | Product | Quantity | Unit CAD | Currency | Line CAD |
|---|---|---|---|---|---|---|---|---|---|
| SO-1001 | 1 | 2026-09-21 | Cedar Lane Goods | NS-001 | Kraft shipping box small | 12 | 18.50 | CAD | 222.00 |
| SO-1002 | 1 | 2026-09-21 | Harbour Paper Co | NS-002 | Kraft shipping box medium | 8 | 24.75 | CAD | 198.00 |
| SO-1003 | 1 | 2026-09-21 | Willow Home Store | NS-003 | Kraft shipping box large | 18 | 32.00 | CAD | 576.00 |
| SO-1004 | 1 | 2026-09-21 | Birch & Thread | NS-004 | Paper packing tape | 6 | 9.95 | CAD | 59.70 |
| SO-1006 | 1 | 2026-09-22 | Cedar Lane Goods | NS-006 | Compostable mailer small | 20 | 12.60 | CAD | 252.00 |
| SO-1007 | 1 | 2026-09-22 | Harbour Paper Co | NS-007 | Compostable mailer large | 10 | 16.80 | CAD | 168.00 |
| SO-1008 | 1 | 2026-09-22 | Willow Home Store | NS-008 | Paper padded mailer | 9 | 22.50 | CAD | 202.50 |
| SO-1009 | 1 | 2026-09-22 | Birch & Thread | NS-009 | Shipping label roll | 4 | 31.25 | CAD | 125.00 |
| SO-1010 | 1 | 2026-09-22 | Parkside Market | NS-010 | Document pouch | 25 | 4.80 | CAD | 120.00 |
| SO-1011 | 1 | 2026-09-23 | Cedar Lane Goods | NS-011 | Gift tissue kraft | 15 | 11.90 | CAD | 178.50 |
| SO-1012 | 1 | 2026-09-23 | Harbour Paper Co | NS-012 | Gift tissue white | 12 | 11.90 | CAD | 142.80 |
| SO-1013 | 1 | 2026-09-23 | Willow Home Store | NS-013 | Cotton packing twine | 7 | 8.25 | CAD | 57.75 |
| SO-1014 | 1 | 2026-09-23 | Birch & Thread | NS-014 | Corrugated wrap | 6 | 42.50 | CAD | 255.00 |
| SO-1015 | 1 | 2026-09-23 | Parkside Market | NS-015 | Cardboard corner guards | 16 | 6.40 | CAD | 102.40 |
| SO-1016 | 1 | 2026-09-24 | Cedar Lane Goods | NS-016 | Fragile label pack | 9 | 7.20 | CAD | 64.80 |
| SO-1017 | 1 | 2026-09-24 | Harbour Paper Co | NS-017 | Return label pouch | 14 | 5.60 | CAD | 78.40 |
| SO-1018 | 1 | 2026-09-24 | Willow Home Store | NS-018 | Paper void fill | 5 | 38.75 | CAD | 193.75 |
| SO-1019 | 1 | 2026-09-24 | Birch & Thread | NS-019 | Recycled pallet wrap | 8 | 29.95 | CAD | 239.60 |
| SO-1020 | 1 | 2026-09-24 | Parkside Market | NS-020 | Packing tape dispenser | 3 | 19.80 | CAD | 59.40 |
Inventory review
Stock comparison uses accepted order quantities against the supplied snapshot. It is a review flag, not an allocation or projected closing balance. Held orders are excluded.
| SKU | Product | Snapshot date | On hand | Reorder at | Accepted demand | Gap | Review |
|---|---|---|---|---|---|---|---|
| NS-001 | Kraft shipping box small | 2026-09-21 | 120 | 30 | 12 | 0 | NO FLAG |
| NS-002 | Kraft shipping box medium | 2026-09-21 | 85 | 25 | 8 | 0 | NO FLAG |
| NS-003 | Kraft shipping box large | 2026-09-21 | 12 | 20 | 18 | 6 | ACCEPTED DEMAND EXCEEDS SNAPSHOT |
| NS-004 | Paper packing tape | 2026-09-21 | 90 | 20 | 6 | 0 | NO FLAG |
| NS-005 | Recycled packing paper | 2026-09-21 | 65 | 15 | 0 | 0 | NO FLAG |
| NS-006 | Compostable mailer small | 2026-09-21 | 150 | 40 | 20 | 0 | NO FLAG |
| NS-007 | Compostable mailer large | 2026-09-21 | 100 | 30 | 10 | 0 | NO FLAG |
| NS-008 | Paper padded mailer | 2026-09-21 | 80 | 20 | 9 | 0 | NO FLAG |
| NS-009 | Shipping label roll | 2026-09-21 | 60 | 15 | 4 | 0 | NO FLAG |
| NS-010 | Document pouch | 2026-09-21 | 220 | 50 | 25 | 0 | NO FLAG |
| NS-011 | Gift tissue kraft | 2026-09-21 | 110 | 25 | 15 | 0 | NO FLAG |
| NS-012 | Gift tissue white | 2026-09-21 | 95 | 25 | 12 | 0 | NO FLAG |
| NS-013 | Cotton packing twine | 2026-09-21 | 70 | 20 | 7 | 0 | NO FLAG |
| NS-014 | Corrugated wrap | 2026-09-21 | 45 | 15 | 6 | 0 | NO FLAG |
| NS-015 | Cardboard corner guards | 2026-09-21 | 150 | 40 | 16 | 0 | NO FLAG |
| NS-016 | Fragile label pack | 2026-09-21 | 4 | 10 | 9 | 5 | ACCEPTED DEMAND EXCEEDS SNAPSHOT |
| NS-017 | Return label pouch | 2026-09-21 | 140 | 30 | 14 | 0 | NO FLAG |
| NS-018 | Paper void fill | 2026-09-21 | 35 | 10 | 5 | 0 | NO FLAG |
| NS-019 | Recycled pallet wrap | 2026-09-21 | 48 | 12 | 8 | 0 | NO FLAG |
| NS-020 | Packing tape dispenser | 2026-09-21 | 24 | 8 | 3 | 0 | NO FLAG |
Rules and input evidence
Exact, case-sensitive identifiers. Positive whole quantities. Nonnegative CAD prices with up to two decimals. Inventory requires unique SKUs, nonnegative whole counts and ISO snapshot dates. Invalid inventory records and any dependent orders are held. All input data in this demo is fictional. Refresh through the CLI; this is a generated snapshot.
- orders.csv
bb96c242251b15e74df7b67e6d6c837ca838b136246a2cb09c0bea27b0828596- inventory.csv
81b5848e52e833a75adb10a76f40326f1d947a46cebb80687298b0e9f9e2820b
SHA-256 hashes are recorded before and after processing. See manifest.json for the output hashes and tool version.