Finance controls that show their work
Results
8
real 10-K filings checked, 3 findings
25
unit tests on the rules engine, run on every push
2
checks you can run on your own CSV, kept in your browser
1,147
real FinQA questions, with a validated grader
Workbench
Run it on the sample, or on your own CSV files. Every decision lands in the audit log.
Month-end close
NetSuite-, Ramp-, Numeric- and Snowflake-shaped CSVs · 63 rows
- Ingest
- Validate
- Reconcile
- Prepare journals
- Route review
Tasks done by business day
42 tasks · dashed is plan
Open exceptions by source
After this run
Exception queue
| ID | Exception | Source | Amount | Status |
|---|
Journal drafts
| Journal | Memo | Debit | Credit | Check |
|---|
Payroll control cycle
HRIS, payroll register and equity file · pay period 1–15 Oct 2026
Exceptions by rule
Computed from the register just now
Gross pay by department
CAD · this period
Review desk
| Employee | Rule | Evidence | Severity | Decision |
|---|
Bank reconciliation
Operating account against GL 1010 · match on amount within three days
EUR/CAD, Bank of Canada daily rate
Statement lines
Unmatched lines show the nearest ledger candidate
| Date | Bank description | Amount | Ledger | Result |
|---|
Controls on public filings
Latest 10-K, as tagged in XBRL
USD · pick a company for its evidence
| Company | Year end | Assets = L + E | Cash roll-forward | Revenue | Revenue flux |
|---|
Model evaluation
The engine scores below are Run Replay's, the prototype Tickmark grew from, carried over and not yet re-run on Tickmark's engine. FinQA is a public benchmark of questions on real filings. Paid model runs have not happened yet.
Recall across versions
Run Replay engine · 66 then 74 cases
Cases by category
Run Replay engine 2.1.0 · passed of written
Financial-model suites
Pick one to read a sample case
| Suite | Task | Cases | Measured by | Status |
|---|
FinQA grader
Your data
Run the same rules on your own CSV files. They are read in this browser and saved only here; nothing is sent to a server.
Your payroll files
CSV with a header row · up to 5,000 rows each
employee_id, department, status, hire_date, termination_date, currency
employee_id, gross, prior_gross, currency, note, equity_value
employee_id, units, fmv
Exceptions in your files
| Employee | Rule | Evidence | Severity | Decision |
|---|
Your bank files
CSV with a header row · up to 5,000 rows each
date, description, amount
date, reference, amount
Your statement lines
Unmatched lines show the nearest ledger candidate
| Date | Bank description | Amount | Ledger | Result |
|---|
Audit log
Every run and decision, newest first · saved in this browser
| Time | Actor | Event | Detail |
|---|
Nothing yet. Run the close or decide an exception.
Try a control
Change an amount. It releases only when every check holds.
Hiring forfinance systems?
Martin Zhang builds finance controls, automation and AI evaluation that people can trust with real money.
- Based in
- Toronto · open to remote
- Looking for
- Finance systems, finance-ops automation, AI evaluation · full-time
- Elsewhere
- Portfolio · Source on GitHub