Bank reconciliation, made simple

Upload your bank statement once. SendToBooks matches each charge to a receipt, flags discrepancies, and identifies anything missing. Every reconciliation decision is logged as a comment for full audit trail.

The workflow

1

Upload the bank statement

Go to /reconcile. Drop in either a CSV export from your bank (most reliable) or a PDF statement. We auto-detect Chase, Amex, Capital One, Wells Fargo, and Bank of America formats. For other banks we fall back to a generic parser — you'll want to spot-check the results.

2

Auto-matching runs immediately

For each bank transaction we look for a receipt that fits within these tolerances:

  • Date: within 3 days (charges often post a day or two after the receipt date)
  • Amount: within $10 OR 20% of the receipt total, whichever is larger — catches OCR drift on hard-to-read receipts AND restaurant tips added to card charges
  • Merchant: fuzzy match (handles "AMAZON.COM*ABC123" vs "Amazon")
  • Card last 4: if both have one, that's a strong confirmation boost

Matches above the confidence threshold are applied automatically. Lower-confidence candidates go into the "Unmatched" section for manual review.

3

Review the four sections

The reconciliation page splits results into:

  • Discrepancies — auto-matched but amounts differ. The most common cause: receipt was hard to read and the OCR caught the wrong cents, OR the bank charge includes tip/tax not on the receipt.
  • Unmatched bank entries — bank charges with no obvious receipt. Could be a missing receipt, a subscription, or a transfer.
  • Matched — clean matches, amounts agree. Usually nothing to do here.
  • Confirmed: no receipt needed — bank entries you've marked as not requiring a receipt (recurring subscriptions, transfers between accounts, etc.).
4

Handle discrepancies with one click

For each discrepancy you have four options:

ActionWhat it doesUse when
Trust bankUpdates the receipt total to the bank amount. Adds an audit-trail comment to the receipt.Receipt was hard to read; OCR got the cents wrong. Or the bank charge includes a tip you added in cash.
Trust receiptKeeps the receipt amount; flags the bank entry as "receipt trusted." Adds a comment.You know the receipt is right; bank charge is from a partial refund, dispute, or split transaction.
Note onlyAcknowledges the difference; doesn't change either amount.Both numbers are right but different (e.g., bank charge happened before the refund; you want both on record).
UnmatchBreaks the link; returns both to "unmatched."The auto-match was wrong; these aren't actually the same transaction.
5

For unmatched bank entries — pick "Match" or "No receipt expected"

If there's a receipt that should be matched but the auto-matcher missed it (different merchant name, very different amount, charge older than 3 days), click Match to receipt… and pick from candidate receipts within 7 days.

If the bank charge doesn't need a receipt — like a Netflix subscription, transfer between accounts, or interest — click No receipt expected. It moves to the resolved section and won't appear as missing.

Common scenarios

"The receipt is faded — I'm not sure the OCR got the amount right"

Upload the bank statement. If a receipt shows $47.23 but the bank charge is $47.43, it'll appear as a discrepancy. Click Trust bank. The receipt gets updated, and a comment is auto-posted: "Reconciled to bank statement. Bank charged $47.43; receipt showed $47.23. Updated receipt to bank amount."

"Restaurant receipts never include the tip"

If you tip in cash on a card receipt of $40 and the bank charge comes through as $48, it'll match within the 20% tolerance. Discrepancy section. Click Trust bank to update the receipt to the actual charged amount.

"I have a charge but no receipt — what do I do?"

The bank entry will appear in the "Unmatched" section. If you forgot to capture it, find the merchant and total here — that's enough to add a receipt manually from the dashboard. Or comment on the receipt (once created) asking the client to add details.

"I have receipts but no matching bank charge"

Filter your dashboard by date range and look for receipts that DON'T have a bank link. Common causes: paid cash, charge hasn't posted yet, or you used a different card not on this statement.

"My bookkeeper has questions about a charge"

Open the receipt detail and use the comment thread. Standard follow-up questions are pre-populated based on the receipt type (restaurant → who attended, what was the purpose; travel → trip purpose and dates; fuel → vehicle and business use; etc.).

PDF vs CSV

CSV is more reliable. Every bank lets you export transactions as CSV from their website — usually "Download" or "Activity" → "Export." PDF parsing works for major bank formats but PDFs are designed for humans, not data. If something looks off after a PDF import, try the CSV export instead.

Supported PDF formats

What if my bank isn't supported?

The CSV path works for every bank. If you'd like better PDF parsing for a specific bank, email support@sendtobooks.com with a sample (redact account numbers) and we'll add a parser.

Try it now

Reconciliation works on your existing receipts — no setup. Upload a bank statement and watch the matches roll in.