Skip to content
Testaroo
md4.8 KB

Willow Community Fund: Document set README

Document set README for Willow Community Fund. 24 files, 1 of them intentionally invalid, with the reconciliation identities and the exact defect in each broken file named in full.

Preview, first 50 linesmd
# Willow Community Fund: donation receipt, pledge, grant and restricted-fund documents

The giving and stewardship pack a small community fund produces: donation receipts that split the deductible amount from the value of benefits received, the schedule of pledge instalments behind them and its aging, the grant register with budget against actual, the restricted and unrestricted fund report, the campaign summary, and the donor, volunteer, event and in-kind records that feed them.

All parties, amounts and identifiers are fictional. Fixed snapshot: 2026-09-08. Every record is derived from the shared operating model `nonprofit-fundraising`, so identifiers join across this set and across the business-kit fixtures that use the same model.

## Reconciliation identities this set asserts

- gross_amount minus value_of_benefits equals deductible_amount on all 9 receipts, 1669.50 in total.
- The instalments of each pledge sum to its pledge total, 2850.00 overall, with the final instalment absorbing the rounding.
- Unpaid instalments total 1050.00, the outstanding pledge value, and bucket cleanly by age.
- Each grant's budget lines sum to the amount awarded, 4500.00 together.
- opening + receipts - expenditure = closing on every fund, closing at 3104.75 of which 1904.75 is restricted.
- Campaign total_raised is 6300.00 and excludes the 1050.00 of pledges not yet received.
- The 285.00 of in-kind gifts appears in no cash total anywhere in the set.

## Files

| File | Format | Validity | What it is |
| --- | --- | --- | --- |
| `benefit-value-schedule.csv` | csv | reference | Fair market value of donor benefits |
| `donation-receipts.csv` | csv | valid | Donation receipts with benefit split |
| `donation-receipts.json` | json | valid | Donation receipts JSON |
| `donation-receipts-deductible-overstated.csv` | csv | invalid | Donation receipts that treat a quid pro quo gift as fully deductible |
| `donation-receipt-RCPT-2026-0001.pdf` | pdf | valid | Donation receipt PDF, pure gift |
| `donation-receipt-RCPT-2026-0009.pdf` | pdf | valid | Donation receipt PDF, quid pro quo gift |
| `pledge-schedule.csv` | csv | valid | Pledge instalment schedule |
| `pledge-schedule.xlsx` | xlsx | valid | Pledge and receipt workbook |
| `pledge-aging.csv` | csv | valid | Pledge aging at 2026-09-08 |
| `grant-register.csv` | csv | valid | Grant register |
| `grant-budget-vs-actual.csv` | csv | valid | Grant budget against actual |
| `grant-budget-vs-actual.xlsx` | xlsx | valid | Grant reporting workbook |
| `restricted-funds-report.csv` | csv | valid | Restricted and unrestricted fund report |
| `restricted-funds-report.json` | json | valid | Restricted fund report JSON |
| `fund-balance-rollforward.csv` | csv | valid | Fund balance roll-forward by restriction class |
| `campaign-summary.csv` | csv | valid | Campaign summary against goal |
| `donor-export.csv` | csv | valid | Donor summary export |
| `donor-export.json` | json | valid | Donor summary export JSON |
| `volunteer-hours.csv` | csv | valid | Volunteer hours by person |
| `event-attendance.csv` | csv | valid | Fundraising event attendance |
| `in-kind-gift-register.csv` | csv | valid | In-kind gift register |
| `acknowledgement-letter-DON-01.pdf` | pdf | valid | Annual donor acknowledgement letter PDF |
| `nonprofit-reconciliation.json` | json | reference | Nonprofit reconciliation assertions |

## Deliberate defects

These files are broken on purpose. Each one is a single named mutation of a correct file in the same directory, so a parser under test can be checked against both.

- **`donation-receipts-deductible-overstated.csv`** The 3 pure gifts pass. All 6 quid pro quo rows fail by their own stated benefit value, for example RCPT-2026-0009 which claims 300.00 deductible while declaring 25.50 of benefits received. The total overstatement is 130.50. The file is internally detectable, which is exactly why an importer has no excuse for accepting it.
… 59 lines total: download for the full file.

Specifications

Document Set
nonprofit
Industry
nonprofit
Source Kit
nonprofit-fundraising
Synthetic
true
As Of
2026-09-08
Documented Files
24
Documented Defects
1

Testing contract

Reference control
Scenario
Read the README before using the set, then check that every filename it lists exists in the same directory and that the defect list matches the files marked invalid.
Expected result
The file table lists 24 entries including this README, and the deliberate-defect section names 1 file(s). The reconciliation section states the arithmetic identities the valid files satisfy exactly.

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

“Willow Community Fund: Document set README” is a deterministic Testaroo fixture for Data import. Realistic faker-generated datasets with documented schemas for testing import and ETL flows.

Documented properties for this file: MD · 4,911 bytes. 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/industry_documents.py. Free for any use, no attribution required, license.