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.

Signed off Current-runtime replay verified 580 evidence payloads embedded 0 exceptions open at signoff Limitations published in full

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.

Operating chequing · June 2026 Signed off Separated duties
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.

E9

Payroll variance: bonus true-up excluded from accrual

Corrected

Bank 142,880.44 · Books 138,200.00 · variance 4,680.44 · 30 June 2026 · PR-2026-06-11

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_observed anchored to the observed row, status committed, treatment corrected. Related refs are contextual and do not imply a match.
Workspace
workspaces/chequing-2026-06
Show the other nine exceptions
E1

Stripe payout in transit at cutoff

Carried forward

18,432.71 · 30 June 2026 · STRIPE-PO-20260630 · date_out_of_range

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_range anchored to the expected row, status committed, treatment carried_forward.
E2

Duplicate vendor payment

Adjustment required

4,500.00 · 12 June 2026 · PO-2287 · unmatched_observed

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, status committed, treatment adjustment_required.
E3

Account analysis fee not accrued

Corrected

412.50 · 30 June 2026 · BANK-ANALYSIS-0630 · unmatched_observed

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, status committed, treatment corrected.
E4

FX variance on EUR-denominated vendor settlement

Corrected

Bank 9,214.83 · Books 9,180.00 · variance 34.83 · 18 June 2026 · INV-4288

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, status committed, treatment corrected. Related refs are contextual and do not imply a match.
E5

Unapplied incoming wire

Carried forward

25,000.00 · 24 June 2026 · WIRE-5442 · unmatched_observed

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, status committed, treatment carried_forward.
E6

Customer refund issued outside the AR process

Corrected

1,890.00 · 19 June 2026 · RF-4471 · unmatched_observed

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, status committed, treatment corrected.
E7

Stripe dispute debit

Adjustment required

2,340.00 · 22 June 2026 · DP-8812 · unmatched_observed

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, status committed, treatment adjustment_required.
E8

Vendor invoice received after cutoff

Carried forward

7,600.00 · 26–28 June 2026 · INV-4301 · unmatched_expected

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, status committed, treatment carried_forward.
E10

Reimbursement batch: rejected claim posted gross

Adjustment required

Bank 8,412.19 · Books 8,657.19 · variance 245.00 · 26 June 2026 · EXP-3119

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, status committed, treatment adjustment_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.

Structural ledger verification

Ledger structure checked with no issues raised.

structural_verified: true · issues: 0
Verified
Chain continuity

Each block links to the one before it across the checked range.

blocks_checked: 36
Verified
Receipt roots

Every checked receipt's recorded root matches its recomputed root.

receipts_checked: 33
Verified
Receipt state-root continuity

The 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 held
Verified
Current-runtime semantic replay

Operations 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: true
Verified
Evidence accounting

Every reference the export walker discovered was resolved and hash-checked. That discovery itself was exhaustive is not established.

all_discovered_evidence_accounted_for
Verified
Evidence presence

All 580 referenced payloads resolved and are embedded in the package.

missing: 0 · unavailable: 0 · embedded: 580
Verified
Receipt coverage

The tenant-scoped receipt query completed. It is not compared against a committed count, range, root, or watermark, so completeness is not proven.

scoped_query_returned
Query returned
Block and attestation signatures

Recorded block and attestation signatures verified.

block_signatures: verified · attestation_signatures: verified
Verified
Package manifest

The 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_required
Review required

Evidence 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
ItemAmountDate BasisDecision
Stripe payout88,006.372026-06-03operator_recorded_match03f3d024…
Payroll run June 1-15(141,206.18)2026-06-15operator_recorded_match20120551…
Employer payroll taxes(38,412.60)2026-06-15operator_recorded_match4d81983d…
Merchant processing fee — Stripe(26,841.09)2026-06-30operator_recorded_matchd55b5a1e…
Treasury sweep to money market(250,000.00)2026-06-26operator_recorded_match4c65ae5a…
Office lease — 340 Wellington(47,500.00)2026-06-01operator_recorded_match4731b8e3…
Customer payment — Brightline Media74,421.592026-06-29operator_recorded_match07aaf5bc…
AP payment — Hartley Design Co(4,500.00)2026-06-11operator_recorded_match5c6e894b…
Jessup Legal LLP — June retainer(2,410.45)2026-06-26operator_recorded_match9ae23718…
Selby Equipment Rental — June(812.75)2026-06-23operator_recorded_matchdbea8b23…
Interest income — operating account4,182.662026-06-30operator_recorded_matchd67ee6fa…
Wire transfer fee(45.00)2026-06-17operator_recorded_match1ac4dee2…

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_returned means 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.json supports 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.

  1. Recompute SHA-256 and byte size for every file listed in MANIFEST.json.
  2. 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.
  3. Confirm summary.json counts match reconciliation.json, receipts.json, and evidence_manifest.json.
  4. For each embedded payload, compare embedded_path, sha256, and size_bytes against the file on disk.
  5. Trace evidence references from evidence_manifest.json through receipts.json to the decision records in reconciliation.json.
  6. Review replay_verify_report.json for structural chain, receipt-root, receipt state-root continuity, evidence, anomaly, and exception status. Current-runtime semantic replay matched only when executed, 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.