For accounting firms
One intake process, every client.
Whoever works the file, it enters the firm the same way and leaves it looking the same: one intake route per engagement, one set of rules, one validation step, and an API for the parts you want wired into your own systems.
50 free page credits · No card · Cancel anytime
- Per-engagement import addresses
- API & webhooks
- DPA available
Add statements
50 free pagesAt firm scale, the cost is that no two files match.
One preparer codes a vendor one way and the next codes it another. One chases documents by email, one by phone, and nobody can say which engagements are still waiting. The per-file minutes are real, but the expensive part arrives at review, when a partner has to learn each file's private conventions before they can sign anything. Speeding up a single step does not fix that. Making every file take the same route through the firm does.
How it works
The route every statement takes, whoever owns the file
- 01
One way in, per engagement
Each engagement gets its own import address. Clients forward to it or auto-forward permanently, preparers drag files in, and integrations post to the API: three routes, one queue, and no engagement whose documents live in somebody's inbox.

Whichever route a file takes, it arrives at the same import: PDF, CSV, Excel, or JSON, up to 50 MB each. - 02
Every file is validated the same way
Each statement is read, its transactions extracted, its bank detected, and its balances reconciled against the total it printed. Intake gets a pass or fail signal from the process rather than from whoever happens to review it.

The queue reports the stage and the elapsed time per job, whether it arrived by upload, by email, or through the API. - 03
The firm's rules, not the preparer's
Shared rules give the same vendor the same treatment across every file, and run retroactively when a policy changes, so a decision made in March applies to the work done in January.

A rule is include patterns, exclusions, an optional merchant scope, and which sources it may touch. - 04
A handoff that looks the same every time
Exports are scoped by selection and filter, so a preparer hands over exactly one account, one period, or one category rather than a whole database, and the column set is part of the export, not a habit.

Tick the statements the handoff covers, then Configure export: the scope is chosen before the format is. - 05
Or no handoff at all
Register an endpoint and let statement and transaction events drive your practice management directly. Every delivery is signed, so your side can verify it came from us before acting on it.

Pick the events an endpoint subscribes to; each delivery carries an HMAC signature header.
The pieces that survive a second preparer
Document intake by email
A private forwarding address with per-sender allow-listing and auto-import rules. No mailbox access is ever requested or granted.
Consistent classification
Rules with inclusion phrases, exclusion keywords, and merchant scoping mean the same vendor is categorized the same way regardless of who is working the file.
A real API
Personal access tokens, POST a PDF, CSV, XLSX, or JSON file to /api/v1/parse, and list or export stored transactions programmatically.
Webhooks for workflow
Register webhooks for statement and transaction events and drive your practice management or workflow tooling from them instead of polling.
Validation as a control
Balance reconciliation on every parse gives intake a pass/fail signal, so incomplete documents are caught by the process rather than by a reviewer.
Clean handoffs
Filter-scoped exports mean a preparer hands over exactly one account, one period, or one category, not a whole database.
FAQ
Common questions
Can we keep client data separated?
Each account has its own transactions, rules, and import address. Scope exports with filters so a handoff contains only the engagement it should.
Is there an API for integrating with our own systems?
Yes. Generate a personal access token, POST files to /api/v1/parse, list or export transactions, and register webhooks for statement and transaction events. The API documentation covers the endpoints in full.
Do you offer a DPA?
Yes: a data processing agreement is published, alongside a security page describing how documents are handled and stored.
How do we standardize categorization across preparers?
Encode the firm's treatment as rules rather than leaving it to individual judgement. Rules apply retroactively, so when a policy changes you re-run rather than re-review.
What about statements we receive as scans?
Scanned PDFs are supported, as are multi-page and password-protected files up to 50 MB, plus CSV, XLSX, and JSON.
How do we evaluate it without a procurement cycle?
New accounts get 50 free page credits with no card required, enough to run a representative engagement end to end before talking about terms.
Keep exploring
For Bookkeepers
Speed up monthly reconciliation and recurring client work.
For Accountants
Cut statement data entry out of close and year-end prep.
Live example
A real Bank of America statement read into transactions you can trace back to the page.
Bank Statement → Excel
Download a clean XLSX of every parsed transaction.
Bank Statement → QuickBooks
Categorize first, then export an OFX/QBO QuickBooks imports.
Make every client file look the same.
Standardize intake, encode the firm's rules once, and wire the rest into your own systems through the API.