Data contract
JSON Schema record
A Draft 2020-12 contract for one statement period: volume, count, fee groups, credits, net fees, effective rate, and average ticket. Unknown fields are rejected.
Explore JSON Schema recordOPEN RESOURCE
One statement becomes one comparable record: gross settled purchase volume, settled transaction count, nine reconciled fee groups, statement credits, effective rate, and average ticket — with no cardholder data anywhere in the contract.
What ships in the release
Version 1.0.0 packages the schema 1.1.0 record contract with the tooling that enforces it, under a CC BY 4.0 license.
Data contract
A Draft 2020-12 contract for one statement period: volume, count, fee groups, credits, net fees, effective rate, and average ticket. Unknown fields are rejected.
Explore JSON Schema recordValidator
Structural, accounting, and privacy validation with exact Decimal arithmetic. Errors carry rule codes and paths only — submitted values are never echoed.
Explore Decimal-safe rule engineEvidence
Two valid and fourteen deliberately invalid vectors reproduce acceptance and rejection behavior, recorded in a reproducible validation report.
Explore Synthetic test corpusIntegrity
Inventory, checksum, identity, provenance, and public-attestation checks must pass before a release is called publishable. Verify downloads against checksums.txt.
Explore Fail-closed release gatesMethod
The model uses gross settled purchase volume and net processing fees for one USD statement period of at most 62 days.
Use gross settled purchase volume and its matching settled transaction count — not net deposits, authorization volume, or funding totals.
Assign each gross charge to one of nine stable groups: interchange, assessments, processor markup, authorization, monthly, PCI, equipment, chargebacks, or other.
Gross processing fees must exactly equal the sum of the fee groups; net fees equal gross fees minus statement credits. The validator enforces both.
Effective rate is net fees divided by volume, rounded half up to six decimals; average ticket is volume over count at cent precision. Run the validator to prove the record.
Guardrails
The contract is designed so a record can be shared, compared, and audited without exposing anyone.
Accounting
Fee groups, credits, net fees, effective rate, and average ticket must agree arithmetically at their published precision — no rounding drift.
Privacy
There are no fields for card numbers, bank accounts, credentials, or identifiers, and free-text notes are scanned for PAN-like, bank, and credential patterns.
Semantics
When volume and count are zero, effective rate and average ticket are null — fixed monthly fees still appear instead of fabricating a rate.
STRAIGHT ANSWERS
An all-in normalization of the included statement costs. It supports like-for-like comparison across months or providers on the same basis. It does not isolate provider margin, prove interchange qualification, predict a future bill, or guarantee savings.
Yes. The package is licensed CC BY 4.0 and versioned at stratamize.com/statement-audit/releases/1.0.0. It is a derivative of an upstream CC BY 4.0 model; the NOTICE file in the repository carries the required attribution.
Yes. The repository ships a loopback HTTP service that wraps the unchanged validator: POST a record to /api/validate on 127.0.0.1:8090 and read back rule codes. Submitted values are never echoed in a response.
Every release file is listed in checksums.txt with its SHA-256, and the GitHub release carries the archive digest in a sha256 sidecar. The publication gate in the repository re-proves inventory, checksums, and identity from scratch.
No. The model needs monthly aggregates only. Keep source statements private under the merchant's controls, and never attach one to a public repository or dataset.