Why aren't my receipts matching bank transactions?

How SparkReceipt's automatic receipt-to-statement matching works, the most common reasons a match is missed, and how to match transactions manually.

ST
Written by SparkReceipt TeamUpdated Oct 12, 2026

Automatic matching compares each bank statement transaction to your receipts and invoices on three things: the merchant name, the amount, and whether the dates are plausible together. When a receipt is not matched, it is almost always because one of those three checks could not be satisfied, or because the receipt was added after the statement was extracted. All of these are fixable: you can re-run matching or match any transaction manually.

How automatic matching works

Matching runs as the final stage of bank statement extraction, and whenever transactions arrive from a connected bank account. For each transaction, SparkReceipt looks at your existing unmatched receipts and invoices and evaluates:

  • Merchant name, including abbreviations, trade names, and payment-processor prefixes on the statement line.
  • Amount, which must be close: on an uploaded statement, within about 1% for same-currency matches and within about 6% when the receipt and statement are in different currencies (to allow for exchange-rate and processor fees). For transactions from a connected bank account, the closer the amounts the stronger the match, and a gap of more than about 5% (6% across currencies) doesn't count as a match on amount.
  • Date plausibility: a card purchase typically posts to the bank 1–5 days after the receipt date, while an invoice may be paid weeks later. Candidates are searched within a window around the transaction date.

Confident results are linked automatically and shown as Matched. Plausible-but-uncertain results are marked Suggested match so you can confirm or reject them yourself. You can filter documents by these states with the Match status filter (Matched / Suggested match / Unmatched) in the Documents browse view.

The most common reasons a match is missed

  1. The receipt was added after the statement. A new receipt is checked against your open bank transactions automatically, but on an uploaded statement a late receipt is only linked on its own when the match is near-certain. Fix: select the transactions and use Re-match, which re-attempts matching against your current documents, or match manually.
  2. The amounts differ too much. Tips added at payment, partial payments, or one bank charge covering several receipts all push the difference past the tolerance. Fix: match manually (below).
  3. One payment, several receipts, or several payments for one receipt. Automatic matching links one transaction to one document, so split charges and instalments need manual handling: select several receipts in the match panel, or use Link to one document… for several transactions. See Matching transactions to receipts in the Transaction Manager.
  4. Different currency. Cross-currency matching is supported but the tolerance is finite, so unusual exchange rates or fees can miss it. When a cross-currency match is made, SparkReceipt records the implied exchange rate on the receipt so its value lines up with what your bank actually charged.
  5. The merchant name on the statement is unrecognizable. Some statement lines carry only a processor reference. Fix: match manually.
  6. The two merchants can't be the same purchase. Automatic matching skips a receipt whose merchant is in an unrelated line of business from the merchant on the bank line, even when the amounts agree. Fix: if they really belong together, match manually.
  7. The receipt is already matched to another transaction. The search marks these with Linked. Picking one shows Already linked elsewhere, where Move here moves the receipt to this transaction and Add here keeps both links.

How to match manually

  1. Open the Transaction Manager (Transactions in the sidebar), or open the statement and click View transactions.
  2. Click the transaction row (or Select a receipt on it) to open the Match transaction panel.
  3. Pick one of the Suggested matches with Use this match, or find the receipt under Search all documents by text, date range or amount and click Link to transaction.
  4. To remove a wrong match, use Unlink on the transaction. To retry automatic matching for several transactions, select them and use Re-match.

If the receipt simply isn't in SparkReceipt, add it first, or use Create expense on the transaction to create the entry directly from the transaction line (see Transfers, exclusions, and creating entries in the Transaction Manager).

Checking your reconciliation

A matched transaction means the statement line and the receipt are linked, so the receipt is what counts in your reports and no duplicate entry is needed. On the web, the receipt's document page shows Matched to statement with a View statement link. To find receipts that still need attention, filter the Documents view by Match status: Unmatched.

See also: I can't find my receipt to match and How to match receipts to bank OR credit card statements.