Bank Reconciliation

Match bank and M-Pesa statements against your invoices, expenses, and supplier bills

What this is

Reconciliation is the process of confirming that every transaction on your bank or M-Pesa statement corresponds to an entry in your StockPulse ledger — a receipt for money received, an expense for money spent, or a supplier payment. Doing this monthly catches missing entries, duplicate records, and bank fees you haven't recorded.

Available on the Business and Enterprise plans. Go to Reconciliation in the sidebar to start.

How it works

  1. Upload a statement. Bank accounts use a CSV export from your online banking; M-Pesa uses a paste-from-PDF flow (see below). One upload = one “import” record you can come back to later.
  2. Auto-matching runs immediately. Rows whose reference exactly matches an existing receipt, expense, or supplier payment within ±7 days are auto-confirmed. These are marked with a sparkle icon so you can identify them.
  3. Review unmatched rows. For each remaining row, StockPulse suggests the top 3 candidates by amount, date proximity, and description similarity. Click Confirm to accept, or Mark as no match if it's a bank fee, personal transfer, or other entry that has no corresponding ledger record.
  4. Undo any time. Per-line undo with one click; bulk-undo reverts every match in an import (with the option to only undo auto-matches). Nothing destructive — your underlying receipts, expenses, and bills are never touched.

Importing a bank CSV

  1. Export a CSV from your online banking (any format — Equity, KCB, NCBA, Co-op, etc. all work).
  2. On Import statement, pick the bank money source and upload the file.
  3. Map the columns: tell StockPulse which column is the Date, Description, and Amount. If your bank uses two columns (Credit and Debit) instead of one signed Amount column, tick the “separate credit and debit columns” box.
  4. Tick Remember this mapping so next month's import is one click.
  5. Click Import. You'll land on the match screen.
Tip: Most Kenyan banks export dates as DD/MM/YYYY. Pick that format from the dropdown so dates parse correctly. If a few rows fail to parse, you'll see a yellow banner showing the reason and can fix and re-upload.

Importing M-Pesa transactions

Safaricom only provides M-Pesa statements as PDF files. To reconcile them:

  1. Open your M-Pesa statement PDF (the one Safaricom emails you monthly).
  2. Select the transaction rows you want to reconcile and copy them.
  3. On Import statement, pick the M-Pesa money source and paste into the textarea.
  4. StockPulse detects the receipt code (e.g. QBX5ZK7L2A), date, amount, and direction (Paid In / Withdrawn) from each row. Rows it can't parse are skipped with a reason.
  5. Click Parse & import and review the matches.
Note: Because M-Pesa receipt codes are unique, almost every Paid In row will auto-match its corresponding receipt (assuming the receipt was recorded with the M-Pesa code as its reference). That's the fastest path to a fully reconciled M-Pesa account.

Matching screen

What you seeMeaning
Green arrow ↓Money coming in (a credit on your statement)
Red arrow ↑Money going out (a debit on your statement)
Sparkle on Matched badgeAuto-matched by reference — review if you want to be sure
Score 0-100Match confidence based on amount, date, and reference
Reason chipsWhy the system suggested this candidate (e.g. "Exact amount · Same day")
No matchDeliberate human decision that this row has no ledger equivalent

When things go south

  • Wrong match. Open the row, click Undo this match. The line goes back to unmatched and you can pick a different candidate.
  • Auto-match spree on a bad import. Click Undo matches… at the top of the page and choose “Only auto-matched rows”. Manual matches stay; system matches revert.
  • Need to redo the whole import. Same dialog, choose “All matches in this import”. Every link is reverted. Statement lines remain so you can re-match without re-uploading.

Best practice

  • Reconcile monthly, right after you receive your bank/M-Pesa statement.
  • Record the M-Pesa receipt code as the reference on every customer payment — this makes reconciliation effortless because reference matches auto-confirm.
  • Use the No match action for bank fees and personal transfers — don't leave them as “unmatched” or you'll keep seeing them every month.
  • The Cash Flow report shows a banner when you have unmatched statement lines — click straight through to clear them.