Skip to content
Testaroo
md12.1 KB

Copper Oven Bakery: Procure-to-pay chain README

Procure-to-pay chain README for Copper Oven Bakery. Names all 28 files in this folder, tabulates the seven-step chain from price list to remittance advice, and states all 6 deliberate disagreements with the exact numbers and the assertion that detects each. It also separates those defects from three traps that are modelling rather than errors: case price against unit price, the unreachable contract tier at 250 units, and the two legitimate tax-total conventions.

Preview, first 50 linesmd
# Copper Oven Bakery: procure-to-pay document chain

One month of ordering, receiving, invoicing, crediting, reconciling and paying between Copper Oven Bakery and its two suppliers. Every document references the supplier ids, ingredient ids, dates, quantities and unit prices that already exist in the `restaurant-bakery` business kit's `purchases` table, so this chain and that table agree.

Fixed snapshot 2026-09-08. All amounts in CAD. GST at 5 percent applies to every line.

## The chain

| Step | Document | Number | Date | Value |
| --- | --- | --- | --- | ---: |
| 1 | Price list | 48 rows | 2026-08-05, 2026-08-12, 2026-08-19, 2026-08-26 | list, case and contract tier prices |
| 2 | Purchase order | PO-BAK-1001 | 2026-08-05 | 173.68 |
| 2 | Purchase order | PO-BAK-1002 | 2026-08-12 | 289.65 |
| 2 | Purchase order | PO-BAK-1003 | 2026-08-19 | 531.85 |
| 2 | Purchase order | PO-BAK-1004 | 2026-08-26 | 329.76 |
| 3 | Goods received | GRN-BAK-2001 | 2026-08-07 | 51 units delivered |
| 3 | Goods received | GRN-BAK-2002 | 2026-08-14 | 62 units delivered |
| 3 | Goods received | GRN-BAK-2003 | 2026-08-21 | 90 units delivered |
| 3 | Goods received | GRN-BAK-2004 | 2026-08-28 | 69 units delivered |
| 4 | Supplier invoice | INV-BAK-5001 | 2026-08-07 | 173.68 |
| 4 | Supplier invoice | INV-BAK-5002 | 2026-08-14 | 289.65 |
| 4 | Supplier invoice | INV-BAK-5003 | 2026-08-21 | 280.49 |
| 4 | Supplier invoice | INV-BAK-5004 | 2026-08-28 | 329.76 |
| 4 | Supplier invoice | INV-BAK-5002 | 2026-08-17 | 282.03 |
| 5 | Credit note | CN-BAK-7001 | 2026-08-21 | -1.39 |
| 5 | Credit note | CN-BAK-7002 | 2026-08-29 | -25.94 |
| 6 | Statement | STM-BAK-6001 | 2026-08-31 | 740.74 |
| 6 | Statement | STM-BAK-6002 | 2026-08-31 | 1395.48 |
| 7 | Remittance advice | REM-BAK-8001 | 2026-09-05 | 946.62 |

## What deliberately disagrees

These six disagreements are on purpose. Each one is a failure a real accounts-payable system has to detect, and each is stated here with the exact numbers so a test can assert the detection rather than merely the parse.

### 1. Stated tax total is one cent above the sum of the line tax amounts

Affects: INV-BAK-5003 dated 2026-08-21.

Invoice INV-BAK-5003 states a tax total of 13.37 CAD and a total due of 280.49 CAD. Its three line tax amounts sum to 13.36 CAD, one cent less. The document-level calculation round(net x 0.05, 2) on a net of 267.12 gives 13.36 CAD.

Assertion: `statedTaxTotal - lineTaxSum == 0.01`.

### 2. Invoice bills the ordered quantity after a recorded short delivery

Affects: INV-BAK-5002 line 2, GRN-BAK-2002 line 2.

Purchase order PO-BAK-1002 line 2 ordered 22 each of ING-03. Goods-received note GRN-BAK-2002 records 18 each delivered. Invoice INV-BAK-5002 line 2 bills 22 each, a variance of 4 each and 1.32 CAD net.

Assertion: `invoicedQuantity - deliveredQuantity == 4`.
… 136 lines total: download for the full file.

Specifications

Kit
restaurant-bakery
Schema Version
1
Synthetic
true
As Of
2026-09-08
Currency
CAD
Tax Name
GST
Tax Rate
0.05
Files
28
Deliberate Defects
6
Encoding
UTF-8
Line Endings
LF

Testing contract

Reference control
Scenario
Read before using any other file in this folder.
Expected result
Names all 28 files in this folder, tabulates the seven-step chain from price list to remittance advice, and states all 6 deliberate disagreements with the exact numbers and the assertion that detects each. It also separates those defects from three traps that are modelling rather than errors: case price against unit price, the unreachable contract tier at 250 units, and the two legitimate tax-total conventions.

What is a .md file?

Markdown (MD) is a lightweight plain-text markup language that uses simple punctuation conventions to denote headings, lists, links, emphasis, and code. It is designed to be readable as-is and to convert cleanly to HTML. It is widely used for documentation, READMEs, and content authoring.

How to use this file

Use an example Markdown file to test parsers and renderers, verify GitHub-Flavored Markdown extensions like tables and fenced code, and exercise HTML-conversion pipelines.

How to use this file for testing

“Copper Oven Bakery: Procure-to-pay chain README” is a deterministic Testaroo fixture for Data import, Error handling. Realistic faker-generated datasets with documented schemas for testing import and ETL flows.

Documented properties for this file: UTF-8 · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.

Document fixtures list their internal structure (pages, fields, tracked changes, embedded objects) in the spec table. Test extractors, converters, and OCR against that known structure, and compare searchable↔scanned or format-twin companions when present.

Code examples

import markdown  # pip install markdown

html = markdown.markdown(open("README.md").read())
print(html[:200])

Generated by generation/restaurant_procurement.py. Free for any use, no attribution required, license.