Skip to content
Testaroo
json2.1 KB

Willow Community Fund: Nonprofit reconciliation assertions

Nonprofit reconciliation assertions for Willow Community Fund. The seven identities this set claims with the figure each must produce: 1669.50 of deductible giving, 2850.00 of scheduled pledges, 1050.00 outstanding, 4500.00 of grants, 3104.75 of closing funds, 6300.00 raised and 285.00 of in-kind value that touches no cash total. It also records the 130.50 size of the deliberate defect.

Preview, first 50 linesjson
{
  "schemaVersion": 1,
  "documentSet": "nonprofit",
  "asOf": "2026-09-08",
  "counts": {
    "pledges": 12,
    "instalments": 18,
    "receipts": 9,
    "grants": 3,
    "funds": 4,
    "donors": 8
  },
  "identities": [
    {
      "id": "deductible-split",
      "statement": "gross_amount - value_of_benefits = deductible_amount on every receipt",
      "expected": "1669.50"
    },
    {
      "id": "instalments-sum-to-pledge",
      "statement": "the instalments of a pledge sum to its pledge_total, the last one absorbing the rounding",
      "expected": "2850.00"
    },
    {
      "id": "unpaid-instalments-equal-outstanding",
      "statement": "sum(unpaid instalments) = sum(pledge remaining)",
      "expected": "1050.00"
    },
    {
      "id": "grant-budget-equals-award",
      "statement": "each grant's budget lines sum to the amount awarded",
      "expected": "4500.00"
    },
    {
      "id": "fund-balances-roll-forward",
      "statement": "opening + receipts - expenditure = closing on every fund",
      "expected": "3104.75"
    },
    {
      "id": "campaign-raised-excludes-outstanding",
      "statement": "total_raised = donations received + grants awarded, outstanding pledges held separately",
      "expected": "6300.00"
    },
    {
      "id": "in-kind-is-not-cash",
      "statement": "no in-kind fair value appears in any cash total",
      "expected": "285.00"
    }
  ],
  "totals": {
… 72 lines total: download for the full file.

Specifications

Document Set
nonprofit
Industry
nonprofit
Source Kit
nonprofit-fundraising
Synthetic
true
As Of
2026-09-08
Identities
7
Documented Defects
1
Encoding
UTF-8

Testing contract

Reference control
Scenario
Drive a reconciliation test from this file against the other documents in the set.
Expected result
All seven identities hold against the shipped files, and the knownDefect block predicts donation-receipts-deductible-overstated.csv overstating the deductible total by 130.50 across 6 receipts.

What is a .json file?

JSON (JavaScript Object Notation) is a lightweight, text-based data-interchange format representing objects, arrays, strings, numbers, booleans, and null. It is language-independent, human-readable, and the dominant format for web APIs and configuration. It requires a single well-formed root value.

How to use this file

Use an example JSON file to test parsers and serializers, schema validation, Unicode and number-precision handling, and API request or response processing.

How to use this file for testing

“Willow Community Fund: Nonprofit reconciliation assertions” 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: UTF-8. 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.

Data fixtures document their exact quirks (delimiters, encodings, null handling, schema, and row counts) in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.

Code examples

import json

with open("nonprofit-reconciliation.json") as f:
    data = json.load(f)
print(type(data), len(data))

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