What does supplier statement reconciliation check?
It checks that your accounts payable ledger and the supplier's own records agree on what is owed. Bank reconciliation is a different task: it matches bank feed lines to transactions in your books. A statement reconciliation finds problems the bank feed cannot show, because the money has not moved yet. A bill may never have reached the accounts inbox, a credit note may sit unapplied, or the supplier may not have received a payment you recorded. Finding these before the supplier chases you avoids late fees, stopped accounts and double payments.
- Invoices on the statement with no matching bill in your ledger.
- Bills in your ledger that the supplier does not list, which can point to a duplicate.
- Credit notes the supplier issued that you have not entered or allocated.
- Payments you recorded that the supplier has not yet applied.
Where do the statement and ledger figures come from?
Statements usually arrive as PDF attachments, sometimes as CSV files or portal downloads. An extraction step reads each line: date, document number, type, amount and running balance. The ledger side comes from your accounting software through its API. In Xero, supplier bills are stored as invoices of type ACCPAY and supplier credits as credit notes of type ACCPAYCREDIT, each with an amount still due. The Aged Payables By Contact report gives the balance Xero holds for each supplier, which is the figure the statement total should agree with once timing differences are explained.
How should the matching rules work?
Match in a fixed order and record which rule made each match. Start with the supplier, then the document reference, then amount and date. References need cleaning first. Xero treats the supplier's invoice number on a bill as a non-unique field, displayed as Reference, so the same number can legitimately appear twice and a typo will not be caught on entry. Strip prefixes, spaces and leading zeros before comparing. One payment often covers several invoices, so the workflow should test combinations of open bills against each payment line rather than expect a one-to-one match.
- Exact reference and exact amount: matched.
- Cleaned reference and exact amount: matched, with the cleaning rule recorded.
- Reference matches but amount differs: sent to review as a price difference.
- No reference match: searched by amount and date, then sent to review.
Which differences need a person?
Every difference that changes the ledger needs a person. The workflow can prepare the evidence and a suggested action, but it should not create or delete a bill because a statement line says so. A statement line is a summary, so request the invoice itself before a bill is entered. For a missing invoice, the workflow can search the accounts inbox and the bill queue for the document number and, if nothing is found, draft a request to the supplier for a copy. For a suspected duplicate, it shows both bills side by side. The reviewer approves the action and the workflow records the outcome.
How often should statements be reconciled?
Monthly is common, timed to the statement date most suppliers use. Reconcile as at that date: a payment you made on the last day of the month may not appear on the supplier's statement until the following month. Record that as a timing difference; it needs no follow-up unless it is still open next month. Prioritise suppliers by spend and by how often their account has caused problems. A small business might reconcile its ten largest suppliers every month and the rest each quarter. The workflow should carry forward any difference left open so it appears again on the next run until someone clears it.
What records should the workflow keep?
Keep the original statement file, the extracted lines, each match with the rule that made it, and every reviewer decision with a name and date. The ATO requires most business records to be kept for 5 years and stored in a way that protects them from being changed. It also expects you to keep information about your record-keeping system and to be able to reconstruct your original data if that system changes. Store the statement and its reconciliation result together, in a location the workflow can add to but not overwrite.
