Turn your exports into a close you can trace.
Run the local tool on Stripe payout reconciliation, ledger journals and a bank statement. Get the matched rows, the exceptions and a reviewer sheet without uploading files.
Download and run
For Node24.15 or later. No npm install, account or network connection is needed. Unzip, open the web3-close-local folder in a terminal and run the fictional sample first.
node cli.ts sample my-first-close
Start with the three supported files
Stripe itemised payout reconciliation, Xero-layout journals and a bank statement in Xero import fields. The README gives the exact fields and settings. Copy the sample to your own local input folder; replace its files and entity/period, keep only those three file entries and mark them as your own records in close.json. State the invoice-reference column, currency, bank date format and UTC report timezone. This is not an arbitrary CSV mapper.
Run node cli.ts my-input my-close-output with a new output-folder name. Inputs remain unchanged. The result has pack.json, pack.txt, reviewer-sheet.csv and input-integrity.json. Source hashes and row references identify the evidence; decisions and sign-off remain with your practice.
"synthetic": false
Read what matches and what stays open
The fictional sample traces GBP1,000 gross less GBP15 fee to GBP985 at the bank. Its INV-0108 receipt stays unresolved without the supplied rate. On your own files, identifiers and exact amounts determine matches; missing or ambiguous references remain exceptions. No rates are fetched or guessed.
Keep original files with the result and protect the local outputs under your practice’s permissions. A changed source needs a new run and fresh review. Your accountant owns accounting treatment. This tool makes no payments, posts nothing to a ledger and gives no accounting, tax or audit certification.