Heauro
Sample audit export
A review-ready reconciliation package, not another spreadsheet.
This sample was produced by Heauro’s real export pipeline from a synthetic reconciliation fixture: committed decisions, receipt-anchored evidence, replay verification, and an explicit account of what the package does and does not prove.
Synthetic sample. Every name, figure, and reference here is fabricated. Tenverra Inc. does not exist and no real financial records, customers, or vendors are represented — which is why the package can be published in full.
The close, at a glance
One account, one month, signed off under a separated-duties review policy.
- Observed lines
- 250
- Expected entries
- 247
- Matched
- 242
- Exceptions
- 10
- Open at signoff
- 0
- Unmatched observed
- 0
- Unmatched expected
- 0
- Evidence refs
- 580
- Missing evidence
- 0
- Receipts in scope
- 33
- Blocks checked
- 36
- Export mode
- Embedded evidence
Nothing is left unresolved at signoff. Every observed line and expected entry is either
matched to its counterpart or carried by a documented exception, and the missing-evidence
policy is fail_if_missing — the export refuses to produce a package with
unresolvable references rather than shipping one with gaps.
What the exceptions look like
This is the part a controller actually cares about. Ten items didn't match cleanly. Each one carries the reasoning that was committed at the time, the references a reviewer can pull independently, and a treatment that says what happens next — inside the package, not in somebody's inbox.
Payroll variance: bonus true-up excluded from accrual
Corrected- Checked
- Second-half June payroll register reconciled line by line against the accrual. Base pay, taxes, and benefits agree. The variance is a mid-year commission true-up for four sales staff, approved on 24 June — after the payroll accrual template was locked on 20 June.
- Accepted because
- The true-up is properly payable and relates to June performance, so it belongs in June. The accrual was simply prepared before approval. Register total agrees to the bank debit to the cent, which confirms the payment itself is correct and the issue is accrual timing only. Accrual cut-off moved to the 25th so late approvals are captured.
- Supporting reference
- Rippling payroll register PR-2026-06-11 · commission approval memo 24 June 2026 · JE-2026-0634 · close calendar revision CAL-2026-07
Committed record
- Decision ID
- 1a5933105dce1ebc9be6b7fbd629dfdcff763a9da7d0f5ccef1b13fcbedf2344
- Observed row
- 09e36ef86c44361e1b3d681f10ade6a3cb633c837c8e49d9c40bcec4a0ee9756
- Expected row
- d9d1e5db2f4316e52b0baaaa3ca018615df33f1724323e52e38ea67b99ed96ea
- Rationale ref
- 2cb5d90be881059013593e5f312d08b44ee8928e52e32f5c6fcdebcac6737f29
- Evidence refs
- 2cb5d90b… · 7ce010b3… · bd2bf100…
- Structural anchor
- Exception
unmatched_observedanchored to the observed row, statuscommitted, treatmentcorrected. Related refs are contextual and do not imply a match. - Workspace
- workspaces/chequing-2026-06
Show the other nine exceptions
Stripe payout in transit at cutoff
Carried forward- Checked
- Stripe balance report for 30 June shows the batch closed at 23:59 UTC on 30 June with a scheduled settlement date of 2 July. Confirmed against the Stripe payouts ledger and the 2 July bank statement, where the deposit appears in full and unbroken.
- Accepted because
- Timing difference only, not a discrepancy. Revenue and the receivable were correctly recognised in June under the payout's earned date; cash lands in July. Recording it as a June deposit would misstate the bank balance.
- Supporting reference
- Stripe payout po_1QZ8fT batch report · RBC statement 2 July 2026, line 4 · deposit-in-transit schedule DIT-2026-06
Committed record
- Decision ID
- 4d5f3fc1843054b0bba6a6755a93536bf7c0a34a92a439e95b3dc09978f78933
- Expected row
- 5a74b707d2804635e5e3140b05118aab80b4478f20e25a896780f1b9ef970e53
- Rationale ref
- 9de33d3da2d9f4ee3511f9a828666ee828d422a8e9b27df19e805edf81b2bc55
- Structural anchor
- Exception
date_out_of_rangeanchored to the expected row, statuscommitted, treatmentcarried_forward.
Duplicate vendor payment
Adjustment required- Checked
- Two identical debits to Hartley Design Co against a single approved invoice. AP records show the payment run was resubmitted on 12 June after a gateway timeout on 11 June; the first attempt had in fact settled. The 11 June debit matched the single book entry; the 12 June debit is this exception.
- Accepted because
- Confirmed overpayment, not a booking error. The vendor acknowledged the duplicate on 15 June and issued credit note CN-1180 to be applied against the July invoice. A receivable from vendor was recorded so the June balance sheet reflects the amount owed back.
- Supporting reference
- Invoice HDC-2026-114 · approval record in Ramp · vendor credit note CN-1180 · JE-2026-0631
Committed record
- Decision ID
- 407f556def6b41820e5f847866707760330e0ad610c209b0d49c4f0329b41719
- Observed row
- 6a14fdce9e515182b0670795f239cfd114d13da5ba84a10dd1021b1997b71432
- Rationale ref
- 6a3dbf3a023fd4fcbc4e0ef4efdc93efd244404e1f11cca8d89de9c7d614c90a
- Structural anchor
- Exception
unmatched_observed, statuscommitted, treatmentadjustment_required.
Account analysis fee not accrued
Corrected- Checked
- Traced to the RBC account analysis statement for June. The fee was not accrued because the per-item rate changed on 1 June under the renegotiated treasury agreement and the recurring accrual template still carried the prior rate.
- Accepted because
- Legitimate bank charge, correctly assessed under the current schedule. Posted to 6420 Bank Charges in June so the expense falls in the period incurred. The accrual template has been corrected, which prevents recurrence rather than just fixing this month.
- Supporting reference
- RBC account analysis statement June 2026, p.2 · treasury services agreement 12 May 2026, schedule B · JE-2026-0628
Committed record
- Decision ID
- 71485a07b25cc1ec221b1b59b601b51a654f0e01496313d246e5d20c64b17565
- Observed row
- 7843f975d160de255a61812f66ffde91c563a20a13ed478c5f291a38bacbb150
- Rationale ref
- e8d647a703ee7ba328dab583cbfb1fb007ac113c6b7a60d4c7f5d929bc80ff9e
- Structural anchor
- Exception
unmatched_observed, statuscommitted, treatmentcorrected.
FX variance on EUR-denominated vendor settlement
Corrected- Checked
- Meridian GmbH invoice of EUR 8,400.00 was accrued on 1 June at 1.0929 and settled on 18 June at 1.0970. Both rates traced to the published daily reference rate for their respective dates.
- Accepted because
- Ordinary FX movement between accrual and settlement, not a pricing or quantity difference. The EUR amount is identical on both sides. Variance recognised as a realised FX loss to 7150 in accordance with the FX policy, which requires settlement-date remeasurement.
- Supporting reference
- Meridian invoice MG-4471 · ECB reference rates 1 and 18 June 2026 · FX policy §4.2 · JE-2026-0629
Committed record
- Decision ID
- fffeba48a4ec6097757288f1171c50c2a949a9c2f87104d4e1a8f33d6f32559c
- Observed row
- d287381c37d27577cee429fa25cb6dc2e68e7e38a35b04ffee7ceec944b99b1d
- Expected row
- 85324f428eb225f70657fab6853d65ede5c2206e26299e77e3f57432f5cfb177
- Rationale ref
- 7f673fd1c267d288891c43cd3047b69e8f13dd6249cb4c5db9d0925793aee084
- Structural anchor
- Exception
unmatched_observed, statuscommitted, treatmentcorrected. Related refs are contextual and do not imply a match.
Unapplied incoming wire
Carried forward- Checked
- Incoming wire with no remittance advice and no reference matching an open AR invoice. Originating institution and account name requested from RBC on 25 June. No open invoice of this amount exists; the nearest candidate (Redbourne Capital, 24,750.00) differs and remains outstanding.
- Accepted because
- Cash is genuinely received and must be recorded, but cannot be applied to a customer without identification. Held in 2150 Unapplied Cash rather than forced against an invoice, which would misstate that customer's balance and the AR ageing. Deliberately left unapplied rather than guessed.
- Supporting reference
- RBC wire advice request ref 88214, 25 June 2026 · AR ageing 30 June 2026 · JE-2026-0630
Committed record
- Decision ID
- 8a0ad43cb66dd7378743a697da0f63562f18169f2df90e037308706f15131893
- Observed row
- 52acb36e182d215640508cae60a84d75100b5e340304fbc6a4d4d7721de39f9b
- Rationale ref
- 21cf528b97721b92243864f3ed72277f00a952a8f58a6b6f9cd20f93b34b5387
- Structural anchor
- Exception
unmatched_observed, statuscommitted, treatmentcarried_forward.
Customer refund issued outside the AR process
Corrected- Checked
- Refund issued directly through the support console by a support agent under the goodwill policy, which does not write back to the ledger. Confirmed against the support ticket and the customer's subscription record; the refund is within the agent's approval limit.
- Accepted because
- The refund itself is valid and authorised; the gap is that the process bypasses AR. Recorded as a reduction of revenue in June so the period is stated correctly. Flagged as a control observation — refunds issued outside AR are invisible to the books until reconciliation catches them.
- Supporting reference
- Support ticket SUP-19204 · refund policy §3 · subscription record ACCT-4471 · JE-2026-0632 · control observation CO-2026-04
Committed record
- Decision ID
- 99364177028cbad1b8009912c39f1a26fe5adc109f7484c843a234fab308ca4c
- Observed row
- 1d2a3791c8fe1a323c72eaf2b66e14dad8edf981db0aec0352c767eac7cccfab
- Rationale ref
- 19145e5cc0af556842458ba37bed76825612072017085ff2a535b51db2968d90
- Structural anchor
- Exception
unmatched_observed, statuscommitted, treatmentcorrected.
Stripe dispute debit
Adjustment required- Checked
- Chargeback raised by the cardholder's issuer on case DP-8812, debited by Stripe on 22 June including the 15.00 dispute fee. Original transaction traced to invoice BRT-2026-0442, delivered and previously collected. Evidence was submitted to the issuer on 24 June; the case remains undecided.
- Accepted because
- The debit is real and must be reflected in June regardless of the eventual outcome. Revenue reversed and a contra-receivable recorded; no recovery has been recognised because the outcome is not yet determinable and recognising it would anticipate a gain.
- Supporting reference
- Stripe dispute case DP-8812 · evidence submission receipt 24 June 2026 · invoice BRT-2026-0442 · JE-2026-0633
Committed record
- Decision ID
- 5ee4c0d6f36cb9aade5f011fe65f27206118dda72eea27a5651574c95d5ce86d
- Observed row
- a363c75c807b4b72bf20b1cc8b929b5a1997e98d9bb894bf08679b39260a7b16
- Rationale ref
- 2f9a09b4e7ef9fce85990c708e1bc1a9535a2b09a87bf3fd4896344462c3e6e7
- Structural anchor
- Exception
unmatched_observed, statuscommitted, treatmentadjustment_required.
Vendor invoice received after cutoff
Carried forward- Checked
- Calder Consulting engagement for June delivered and accepted; the invoice arrived 6 July, after the 30 June cutoff. Delivery confirmed against the signed statement of work and the engagement manager's sign-off dated 26 June.
- Accepted because
- Services were received in June, so the expense belongs in June under the matching principle regardless of invoice date. Accrued at the contracted rate, not an estimate. Payment falls in July and will clear against the accrual.
- Supporting reference
- SOW CC-2026-03, 4 May 2026 · delivery acceptance 26 June 2026 · invoice CC-1188 received 6 July 2026 · accrual JE-2026-0627
Committed record
- Decision ID
- 41367aa6833c0a42aabc14fa0cd8c4b19a6f400a9fcc76034f8f45d06d0b7228
- Expected row
- 4fb299a734c08ecb993d5de7dfe97672d77cd1f642ab0753401dde971f797c20
- Rationale ref
- 2286315993499cbc511b5ed11294bd131d187e8330e803386b243ce3cc92fb59
- Structural anchor
- Exception
unmatched_expected, statuscommitted, treatmentcarried_forward.
Reimbursement batch: rejected claim posted gross
Adjustment required- Checked
- Expense batch posted to the ledger at gross before disbursement. One claim of 245.00 was rejected in review on 25 June for a missing receipt and dropped from the payment file; the ledger entry was not updated.
- Accepted because
- The bank amount is correct — the rejected claim was never paid. The books overstate expense and the payable by 245.00. Reversed in June. The batch posting sequence has been changed to post from the disbursement file rather than the pre-review file, which removes the failure mode.
- Supporting reference
- Expense batch EXP-3119 review log · rejected claim EXP-3119-07 · JE-2026-0635
Committed record
- Decision ID
- e4dad2a6f7ed81fef0ab6350a37f7a7361c13ea280492fb2c93bb7322e0397e2
- Observed row
- dd3354cf06de7443a396c078d174720822f00577169f05953fec3439f327b21a
- Expected row
- 92d4281ce5739ddba1bd1b0b5686e8726fc8fb2804afe9c21b4e1f5310aaf4c2
- Rationale ref
- 22b84ca3317302158a4b24ac7ce83b55ddb2809b8dd219669c8a9b17100a782b
- Structural anchor
- Exception
unmatched_observed, statuscommitted, treatmentadjustment_required. Related refs are contextual and do not imply a match.
The checks behind the package
Each check reports its own result. Nothing is rolled up into a single pass mark, and the exact machine status is shown beneath every plain-language line — including where the status is weaker than it sounds.
Ledger structure checked with no issues raised.
structural_verified: true · issues: 0Each block links to the one before it across the checked range.
blocks_checked: 36Every checked receipt's recorded root matches its recomputed root.
receipts_checked: 33The state each receipt starts from is the state the previous one ended at — no gaps or substitutions in the checked sequence.
from_snap / to_snap continuity heldOperations were re-executed and the replayed commitments matched. This is reproduction inside this runtime — it is not independent reproduction elsewhere.
semantic_replay.executed: true · verified: trueEvery reference the export walker discovered was resolved and hash-checked. That discovery itself was exhaustive is not established.
all_discovered_evidence_accounted_forAll 580 referenced payloads resolved and are embedded in the package.
missing: 0 · unavailable: 0 · embedded: 580The tenant-scoped receipt query completed. It is not compared against a committed count, range, root, or watermark, so completeness is not proven.
scoped_query_returnedRecorded block and attestation signatures verified.
block_signatures: verified · attestation_signatures: verifiedThe manifest inventories every file except its own final hash. It supports internal consistency checks — it does not make the delivered ZIP tamper-evident. Verify the package digest out of band.
review_requiredEvidence and provenance
Embedded-evidence mode ships the payloads themselves, not just pointers to them, so the package can be reviewed without access to the originating system.
- Evidence refs
- 580
- Provenance complete
- 580
- Provenance partial
- 0
- Provenance unavailable
- 0
- Embedded payloads
- 580
- Not embedded
- 0
Inside the decision record
All 252 committed decisions carry their own record: observed and expected row identifiers, evidence references, and the receipt that anchors them. Twelve are shown here as an excerpt — the delivered package contains every one.
Excerpt — 12 of 242 recorded matches
| Item | Amount | Date | Basis | Decision |
|---|---|---|---|---|
| Stripe payout | 88,006.37 | 2026-06-03 | operator_recorded_match | 03f3d024… |
| Payroll run June 1-15 | (141,206.18) | 2026-06-15 | operator_recorded_match | 20120551… |
| Employer payroll taxes | (38,412.60) | 2026-06-15 | operator_recorded_match | 4d81983d… |
| Merchant processing fee — Stripe | (26,841.09) | 2026-06-30 | operator_recorded_match | d55b5a1e… |
| Treasury sweep to money market | (250,000.00) | 2026-06-26 | operator_recorded_match | 4c65ae5a… |
| Office lease — 340 Wellington | (47,500.00) | 2026-06-01 | operator_recorded_match | 4731b8e3… |
| Customer payment — Brightline Media | 74,421.59 | 2026-06-29 | operator_recorded_match | 07aaf5bc… |
| AP payment — Hartley Design Co | (4,500.00) | 2026-06-11 | operator_recorded_match | 5c6e894b… |
| Jessup Legal LLP — June retainer | (2,410.45) | 2026-06-26 | operator_recorded_match | 9ae23718… |
| Selby Equipment Rental — June | (812.75) | 2026-06-23 | operator_recorded_match | dbea8b23… |
| Interest income — operating account | 4,182.66 | 2026-06-30 | operator_recorded_match | d67ee6fa… |
| Wire transfer fee | (45.00) | 2026-06-17 | operator_recorded_match | 1ac4dee2… |
operator_recorded_match means the committed record establishes this pair as
a match, with the actor and receipt that anchor it. It does not assert that any
present-day matching rule was applied at the time. Historical rule attribution appears
separately, and only where the rule contract and its parameters were committed with the
decision and hash-verified.
What the package proves — and what it doesn't
This section ships inside every package Heauro produces. An auditor should know the edges of an artifact before relying on it, and a vendor who hides them is not worth relying on either.
- Evidence discovery is not proven exhaustive. The reference walker is not schema-exhaustive. Every reference it discovered was resolved and hash-verified; that it discovered every reference is not established. The package itself names each uncovered category.
-
Receipt scope completeness is not proven.
scoped_query_returnedmeans the tenant-scoped query completed. It is not compared against a committed receipt count, range, root, or last-block watermark. - Replay is current-runtime, not portable. Semantic replay re-executes registered in-process morphisms available to this build. The package does not retain portable executable bytes and does not prove independent reproduction outside the current runtime.
-
This ZIP is not a tamper-evident delivery artifact.
MANIFEST.jsonsupports package-internal file hash checks. It does not prove the ZIP was not replaced or modified after generation. Verify the package digest through a separate channel. - Embedded evidence includes raw source material. An embedded-evidence export may contain original financial source files and should be handled accordingly.
- This is not an audit opinion. The package is an export of reconciliation records, decisions, and evidence references. It supports accountant and auditor review; it does not substitute for one.
- No external certification. Heauro is not SOC 2 certified, externally audited, or bank certified, and makes no such claim.
How an auditor verifies it
The package is designed to be checked by someone who does not trust it, using nothing but the files inside it.
- Recompute SHA-256 and byte size for every file listed in
MANIFEST.json. - Treat manifest checks as internal consistency checks, not signed delivery proof. Where independent delivery integrity matters, use an out-of-band package checksum or a detached signature.
- Confirm
summary.jsoncounts matchreconciliation.json,receipts.json, andevidence_manifest.json. - For each embedded payload, compare
embedded_path,sha256, andsize_bytesagainst the file on disk. - Trace evidence references from
evidence_manifest.jsonthroughreceipts.jsonto the decision records inreconciliation.json. - Review
replay_verify_report.jsonfor structural chain, receipt-root, receipt state-root continuity, evidence, anomaly, and exception status. Current-runtime semantic replay matched only whenexecuted,verified, and its status are all verified.
When the auditor asks how you got there, what do you send?
If the answer lives across a spreadsheet, screenshots, email, and memory, the review starts with reconstruction. This package shows what the answer looks like when decisions, evidence, verification results, and limitations are captured together.
Tell us about one client month where Stripe payouts, fees, refunds, disputes, or timing became difficult. If it’s a fit, we’ll agree a secure handoff for one client-approved month and return a package like this. We handle the import, matching, and evidence linking; your team owns the exception rationales.
Free pilot. No commitment. No files required to start.
The package is yours to keep.
Heauro — audit-grade reconciliation for firms with Stripe-based clients.
Package format audit_export/v1. All data in this sample is synthetic.