# Invoice Reconciliation SOP — [Company name]

Template status: [Draft / In review / Approved] · Applies from: [date]

## Purpose

Match incoming customer payments to open sales invoices so that the accounts
receivable ledger reflects what the bank actually received, unapplied cash is
cleared rather than parked, and the aged debt report can be trusted by whoever
chases it.

## Scope

Cash application and reconciliation for customer receipts in [bank accounts] and
[payment processor] against invoices raised in [accounting system], for the
period [monthly close / weekly cycle].

Out of scope: raising invoices ([Billing SOP]), supplier payments ([Accounts
Payable Processing SOP]), payroll, and intercompany balances.

## Owner

Accountable: [Accounts Receivable Analyst].
Reviewing: [Financial Controller]. Escalation for disputes: [Credit Control].

## Trigger

Scheduled: [daily] bank feed import at [time], plus a full reconciliation on
[working day 3] of the following month.

Event trigger: any receipt above [amount] is reconciled the same day rather than
waiting for the cycle.

## Inputs

| Input | System of record | Required |
| --- | --- | --- |
| Bank statement lines with value date and reference | [Bank feed] | Yes |
| Payment processor settlement report, gross and fee | [Payment processor] | Yes |
| Open invoice ledger with due dates | [Accounting system] | Yes |
| Remittance advices received | [AR inbox] | Where sent |
| Credit notes and agreed deductions | [Accounting system] | If any |
| Closing FX rates for the period | [Rate source, named] | If multi-currency |

## Prerequisites

- Opening balance agreed and the previous period locked. Reconciling into an
  unlocked prior period rewrites history.
- Bank feed complete to the cut-off timestamp, with no gaps in the statement
  sequence.
- Customer master data current: legal entity names, trading names and any
  factoring or payment-service intermediaries the customer pays through.
- Documented tolerance and write-off thresholds (D2, D4) approved by
  [Financial Controller].

## Steps

1. **Freeze the window.** Fix the statement cut-off date and time and record it.
   Everything that follows reconciles to that boundary; late lines belong to the
   next cycle.
2. **Import and de-duplicate statement lines.** Same amount, same value date and
   same reference imported twice is an import artefact, not a double payment.
   Confirm against the bank's own statement sequence number before deleting.
3. **Attempt exact match**: invoice number present in the payment reference and
   amount equal to the open balance. These clear without further work.
4. **Attempt structured match** for the remainder: remittance advice lines,
   then customer plus amount, then customer plus a set of invoices summing to
   the receipt. Record which rule matched — you will need it when the pattern
   changes.
5. **Apply tolerance to near matches.** → Decision **D2**. Within tolerance,
   clear the invoice and post the difference to [rounding / bank charges
   account]. Outside tolerance, the item stays open.
6. **Handle partial payments.** → Decision **D3**. Apply against the oldest
   invoice unless the remittance says otherwise; a remittance advice always
   overrides the default allocation order.
7. **Reconcile the payment processor separately.** Settlements arrive net of
   fees. Post gross to the customer account and the fee to [processor fees],
   then agree the settlement total to the bank line. Never reconcile a customer
   invoice against a net figure.
8. **Revalue foreign-currency receipts** at the recorded rate and post the
   difference to [FX gain/loss]. Record the rate source and timestamp used.
9. **Work the unapplied cash list.** Every receipt still unmatched gets an owner
   and an action: request a remittance, contact the customer, or flag as an
   overpayment (→ E3). Unapplied cash with no owner is the item that quietly
   grows for a year.
10. **Decide on write-offs.** → Decision **D4**. Anything above the analyst
    threshold goes to approval **A1**.
11. **Agree the control totals.** Opening AR + invoices raised − receipts
    applied − credit notes − write-offs = closing AR. If it does not agree, do
    not adjust to force it; find the line.
12. **Publish the aged debt report** and hand the [60]+ day items to
    [Credit Control] with the reconciliation status attached.

## Decisions

| ID | Decision | Criteria | Default |
| --- | --- | --- | --- |
| D1 | Which customer a receipt belongs to | Invoice number in reference > remittance advice > exact legal entity name > bank account previously used by that customer | Leave unapplied, never guess from a partial name match |
| D2 | Tolerance for a near match | Absolute difference ≤ [amount] **and** ≤ [%] of invoice value | Outside tolerance → stays open |
| D3 | Allocation order for partial payment | Remittance advice, else oldest invoice first, else customer's written instruction on file | Oldest first |
| D4 | Write off a residual balance | Residual ≤ [amount] **and** invoice older than [90] days **and** no active dispute | Do not write off |
| D5 | Refer to collections | Balance overdue [60]+ days with no payment plan and no open dispute | Refer |

## Exceptions

- **E1 — Receipt with no identifiable customer.** Hold in unapplied cash with a
  named owner and a [7]-day chase. Do not apply it to the customer who most
  recently paid a similar amount.
- **E2 — Duplicate payment from the customer.** Confirm both receipts cleared
  the bank, then treat as an overpayment, not as a credit. Refunds require
  approval **A2** and the bank details must be verified against the customer
  record, not against the email requesting the refund.
- **E3 — Overpayment.** Leave as a credit on account or refund per D-policy;
  either way, notify the customer in writing so it does not reappear as a
  dispute at year end.
- **E4 — Payment received by a group entity or a factoring house.** Reconcile
  against the entity that raised the invoice and record the intermediary on the
  customer master so the next receipt matches automatically.
- **E5 — Customer deducts an amount unilaterally.** Do not net it off. Raise a
  dispute record, allocate the amount received, and leave the deduction open
  until the dispute is settled or a credit note is issued.
- **E6 — Bank feed gap.** If the statement sequence is broken, stop. A
  reconciliation over an incomplete feed is worse than no reconciliation because
  it looks finished.

## Approvals

| ID | What is approved | Who approves | Why it stays with a person |
| --- | --- | --- | --- |
| A1 | Write-off above the analyst threshold | [Financial Controller] | Reduces recorded income |
| A2 | Refund of an overpayment | [Financial Controller], bank details verified by a second person | Money leaving the business to a bank account |
| A3 | Manual journal to force a control total | [Financial Controller] | A forced total hides the real error |
| A4 | Period close | [Financial Controller] | Locks the ledger against restatement |

## Output

- Cash applied to the correct customer and invoice, with the matching rule
  recorded per receipt.
- An unapplied cash list where every line has an owner, an age and an action.
- A signed control-total reconciliation for the period.
- An aged debt report handed to credit control with dispute status attached.

## SLA / KPI

- Auto-match rate at first pass: target [80%] of receipts by count.
- Unapplied cash older than [30] days: target under [amount] at each close.
- Reconciliation complete by working day [3]: target [100%].
- Number of A3 forced journals per period: target zero.

## Audit record

Retain the bank statements, remittance advices, settlement reports, the matching
rule and allocation applied to each receipt, every write-off with its A1
approval, every refund with its A2 approval and the evidence of bank-detail
verification, and the signed control-total reconciliation. Supporting documents
for business income and expenses should identify the payer, the amount, the date
and a description, and the same rules apply to electronic records; see the IRS
guidance on
[what kind of records to keep](https://www.irs.gov/businesses/small-businesses-self-employed/what-kind-of-records-should-i-keep)
and confirm the retention period that applies in your jurisdiction with your
accountant.

> Simulated example data
>
> Receipt [GBP 4,187.50] value date [2026-06-30], reference `INV-2291 2294`.
> D1 → matched to [Halcyon Print Ltd] on invoice numbers. Invoices open
> [2,100.00] + [2,090.00] = [4,190.00]. Difference [2.50] is inside the D2
> tolerance of [5.00] and [0.2%], so both invoices cleared and [2.50] posted to
> [bank charges]. Matching rule recorded as `reference-multi-invoice`.

## Revision log

| Version | Date | Author | Change |
| --- | --- | --- | --- |
| v1.0 | 2026-07-24 | [Your name] | initial draft |
