Skip to content

Quick start — document to upload-file to reconciled

A narrative walkthrough of the bookkeeping flow from the staff side. By the end you'll have moved one client through one full month — documents in, journal batch reviewed, upload file generated and posted to the accounting platform, bank statement reconciled, unreconciled items resolved with the client. Every section links into the matching how-to runbook for click-by-click detail and into the troubleshooting page that covers the most common stumble at that step.

The story below follows one client end to end. We'll use Mason Industries Pte Ltd — a hypothetical 12-staff industrial supplies trader on your firm's portfolio. Mason runs Xero with SGD as base currency and a SGD 50 materiality threshold. They send roughly 60 invoices and receipts per month through a mix of WhatsApp photographs and a shared Google Drive folder. Anchor the steps on whichever client you're actually running; the surfaces are identical.

NOTE

If you're a new staff user finding your way around, start with the dashboard tour first. The tour names every sidebar surface this page sends you to.

Cast of characters

RolePlays
Platform AdminSets up the client record once — chart of accounts, vendor master, ingestion channels, materiality threshold
BookkeeperReviews entries, runs reconciliation, generates upload files day to day
Senior AccountantOverrides flagged entries, signs off on exceptions, manages chart-of-accounts changes
Client contactOne contact at Mason who receives the unreconciled-items link and uploads supporting documents

0. Confirm the client is configured

A bookkeeping client needs:

  • Enabled products including Bookkeeping
  • A bookkeeping config with the target accounting platform (Xero / QuickBooks / Zoho / Tally), base currency, and reviewer email
  • A materiality threshold in the firm's reporting currency — Mason ships at SGD 50
  • A chart of accounts with keyword triggers for auto-classification
  • A vendor master for HIGH-confidence auto-classification (optional but recommended)
  • One or more ingestion channels for WhatsApp / Drive / SharePoint / Dropbox (optional — manual upload always works)

Open Clients in the staff dashboard sidebar, click into Mason. The setup health panel shows green when the essentials are in place. Anything missing is the first thing to fix before you ingest documents.

Onboard a bookkeeping client for the cold-start path. → Configure chart of accounts and keyword triggersAdd vendors to vendor masterSet up an ingestion channel

1. Where documents come from

Documents arrive through one of four paths:

  • Manual upload — drag a file onto the Mason client detail page. Useful for one-offs and for documents the client hands you in person.
  • WhatsApp — Mason's accounts assistant photographs receipts and sends them to a configured WhatsApp number; the platform polls inbound messages and ingests automatically.
  • Google Drive / SharePoint / Dropbox folder sync — the platform polls a configured folder on a schedule (default hourly) and ingests new files as they appear.
  • Email drop (future) — not in MVP.

Whichever path the document takes, it hits the OCR pipeline (Vision + Claude in production) and the classify-and-draft worker turns it into a journal entry — debit + credit, with a chart-of-accounts code chosen by:

PriorityMatchConfidenceDefault entry status
1Vendor master exact matchHIGHDRAFT — usually safe to approve
2Chart-of-accounts keyword matchMEDIUMDRAFT
3Keyword without a vendor matchLOWFLAGGED with KEYWORD_MATCH_ONLY
4Nothing matchedUNCLASSIFIEDFLAGGED with REVIEWER_ATTENTION_REQUIRED

Mason's SP Group electricity bill matches the vendor master exactly → HIGH confidence, DRAFT. A new vendor — MetalCo Trading Pte Ltd — has no entry in the vendor master and no keyword in the chart of accounts → FLAGGED, awaiting review.

Upload a document manuallySet up an ingestion channelA document didn't appear in any batch when something you sent isn't showing up. → Vendor-master match isn't firing when a vendor you added isn't classifying.

2. Review the journal batch

Open Journal batches in the sidebar. Mason's open April-2026 batch shows up at status DRAFT. Click in.

You'll see one entry per ingested document, each with a status, a confidence band, and any flags. A typical Mason batch by mid-month:

ReferenceStatusConfidenceFlags
INV-SPG-202604 (SP Group electricity)APPROVEDHIGH (vendor exact)none
INV-METALCO-04221 (MetalCo Trading)FLAGGEDUNCLASSIFIEDREVIEWER_ATTENTION_REQUIRED, NO_VENDOR_MATCH
UBER-20260408-0001 (Uber trip)FLAGGEDMEDIUM (keyword)KEYWORD_MATCH_ONLY
FIGMA-SUB-202604 (Figma USD subscription)DRAFTHIGH (vendor exact)NON_BASE_CURRENCY

For each entry you can:

  • Edit — reassign the debit / credit account, fix the date, change the amount, override the description.
  • Approve — accept it as-is. Status moves to APPROVED. The audit log captures who approved and when.
  • Reject — remove the entry from the batch with a reason. Status moves to REJECTED.
  • Escalate — flag for senior review. Status moves to ESCALATED.

A FLAGGED entry can be cleared to APPROVED only by a Senior Accountant or Platform Admin via the Override journal flag action — bookkeepers can edit and re-approve drafts but can't clear a flag. This is by design: low-confidence classifications need a senior eye before they enter the upload file.

NOTE

When a journal batch first transitions to UNDER_REVIEW, the platform sends a Journal batch ready for review email to the configured reviewer.

  • Subject: Journal batch ready for review: Mason Industries Pte Ltd (2026-04-01 → 2026-04-30)
  • Body: entry count, flagged count, and a single Review batch button into the batch.

When every entry in the batch is APPROVED or REJECTED, the batch advances DRAFT → UNDER_REVIEW → APPROVED. While it sits in UNDER_REVIEW, no fresh DRAFT entries can enter — the next ingested document spills into the next month's batch.

Review a journal batchOverride a flagged journal entry — Senior Accountant only.

3. Generate the upload file

Mason's batch is now APPROVED. Click Generate upload file. You get a platform-specific artifact:

  • Xero → CSV
  • QuickBooks → IIF or CSV depending on edition
  • Zoho → CSV
  • Tally → XML

Mason runs Xero, so you get a CSV. Download it, batch moves to EXPORTED.

Now you manually post the file into Xero — the platform doesn't push via API in MVP. Confirm the upload landed, return to the batch, click Mark closed. Batch moves EXPORTED → CLOSED and is sealed.

Generate an upload file

4. Bank reconciliation — upload the statement

Open Bank reconciliations in the sidebar (or the same surface from inside Mason's client detail). Click Upload bank statement and drop in Mason's UOB current-account statement for April — PDF or CSV.

The parser runs and produces a list of bank transactions. If parsing succeeds you see the run move to PENDING with parsed transactions ready for matching.

If parsing fails the statement lands in a parse-failed state and an exception event is logged. Common cause: the bank changed its export format. See Bank statement won't parse.

Upload a bank statement

5. Run the matcher

Click Start reconciliation with the parsed statement. The run moves PENDING → MATCHING → AWAITING_REVIEW. The matcher pairs each bank transaction against the client's APPROVED journal entries:

  • EXACT — date + amount + reference all align. Auto-confirmed on display, no human action needed.
  • PROPOSED — amount + date within the run's date-tolerance window. Needs your confirmation.
  • No match — creates an unreconciled item.

For Mason's April statement a typical result is something like:

  • 28 EXACT matches (most recurring vendors hit this)
  • 4 PROPOSED matches (timing differences, one FX-converted entry)
  • 6 unreconciled (an ATM withdrawal, two customer payments without a matching invoice in the period, a small bank fee, and two transactions for which the supporting document hasn't reached you yet)

Run a bank reconciliationReconciliation matcher missed an obvious match when something you expected to match didn't.

6. Confirm proposed matches

Open the run detail. Walk through each PROPOSED row:

  • The Uber trip — date is two days off because the bank settled later. Amount and reference are right. Confirm → flips to CONFIRMED. The match counter increments.
  • The Figma USD subscription — bank shows SGD 101.25 against a journal entry for USD 75. The platform displays the FX arithmetic alongside the row. Confirm if the conversion is right.
  • A coincidental amount match — two different vendors happened to invoice the same SGD amount in the same week. Reject the proposed match; the bank transaction falls back to unreconciled and you'll handle it via the client portal in the next step.

Confirm proposed matches

7. Dispatch unreconciled items to the client

Six items remain unreconciled on Mason's run. Click Dispatch to client. The platform creates a fresh portal session for Mason's configured contact and emails them.

  • Subject: Action needed: 6 unreconciled bank items for Mason Industries Pte Ltd
  • Body: the bank account reference, the period covered, the count and total value of unreconciled items, the link expiry, and a single Open the reconciliation portal button.

The run moves to AWAITING_CLIENT. The link expires in 48 hours; if it lapses without response, reissue from the run.

Dispatch unreconciled items to the clientVerify an email was sent if the client says nothing arrived.

8. Client portal — what they see

The Mason contact opens the link and lands on a stripped-down portal view: a list of the six transactions, each with two response options:

  • Upload supporting — they attach a photo or PDF. The item moves to CLIENT_RESPONDED and feeds back into the classify pipeline so a journal entry is drafted just like any other ingested document.
  • No supporting document — they declare it with a short note. If the amount is above the materiality threshold, the item is flagged for senior review; if below, it can auto-resolve to a default account (typically a suspense or sundry expense line, configured per client).

The client portal doesn't show staff-side detail — no batch lifecycle, no chart of accounts, no audit log. It is designed so a non-accountant client contact can clear their queue in a few minutes from a phone.

The client can respond in multiple sittings — progress is saved automatically and the same link continues to work until expiry.

9. Resolve the exception queue

Once Mason's contact responds, items move to CLIENT_RESPONDED. As the staff reviewer, open Exception queue in the sidebar to see everything that needs your judgment, filtered by client or surfaced as a global queue:

  • Pending with paired flagged entry — the bank line is small but the matched entry is FLAGGED. Decide whether to clear or reject.
  • Client responded above materiality — the client said no supporting on a SGD 500 ATM withdrawal that exceeds Mason's SGD 50 threshold. You must classify and approve manually.
  • Client uploaded supporting — a draft journal entry has been generated from the new document. Review it like any other entry.

For each item: pick a chart-of-accounts code (Drawings, Misc Expense, Suspense, etc.), add a note, click Resolve. The item moves to RESOLVED and its associated journal entry threads into the next month's batch (or the current one if it's still open).

Resolve client responses on unreconciled items

10. Complete the reconciliation

When every item is matched or resolved, click Complete reconciliation. The run moves to COMPLETE. The platform generates a reconciliation report — a PDF / xlsx summarising matched, proposed-confirmed, client-responded, and reviewer-resolved items. Both you and Mason's contact get a copy.

What you've just done

You've shipped Mason Industries through one full bookkeeping cycle: documents ingested through multiple channels, journal batch reviewed and approved, upload file generated and posted to Xero, bank statement reconciled, unreconciled items dispatched to the client and resolved on response. Every action is in the Activity log sidebar entry, and per-batch / per-run audit tabs are available on each detail page.

Where to go next

Cheat sheet — what to do when X

If…Open…Do…
OCR didn't extract a vendorBatch detailOverride the entry's account code manually; add the vendor to the master so next month is HIGH confidence — see Add vendors
You can't approve a flagged entryBatch detailSenior Accountant must use Override journal flag — see Override a flagged journal entry
A document you sent didn't appear in any batchException queue or client detailSee Document didn't appear — usually a channel-config or batch-state issue
Bank statement won't parseBank reconciliationsSee Statement won't parse — usually a bank export-format change
Reconciliation matcher missed an obvious matchRun detailSee Matcher missed match — typically a date-tolerance or reference mismatch
Client portal link expiredRun detailReissue from the run — the previous link is invalidated, the client gets a fresh 48-hour one
Two PROPOSED matches contend for the same bank lineRun detailPick one to confirm; the other auto-falls-back to unreconciled
Materiality threshold seems wrongClient detail → settingsThe threshold lives on the client record — open Clients, edit Mason, update the materiality value
Vendor-master match isn't firingVendor master tab on clientSee Vendor match not firing — usually a name normalisation or country-code mismatch
You took a wrong actionActivity logEvery state change is logged — see Recover from a mistake

Internal use only — BreezyCorp