Try to reconcile a supermarket's fortnightly payment straight against your open invoices and Xero simply refuses to balance. The deposit is genuine, your open AR is genuine, and they still don't agree, because between them sits a column of deductions the retailer applied on its own terms. That gap is the whole problem. One payment covers a hundred invoices, minus charges you never chose line by line, and two jobs are tangled inside it: match the clean invoice lines, and account for the deductions. The first is repetitive enough that a machine should do it. The second is an accounting decision that stays with you.
The steps below assume you sell into one or more major grocery chains, you raise sales invoices in Xero, and you reconcile AR against a bank feed. If your customers pay one invoice at a time and never deduct anything, none of this applies and you can stop reading. The case that actually hurts is the fortnightly grocery remittance: long, multi-page, net of deductions, with reason codes that change per retailer. That's what we work through.
Why supermarket remittances are the hardest to reconcile
Most remittances are awkward because they cover more than one invoice. Supermarket remittances are awkward at a different scale entirely. A single fortnightly payment routinely covers well over a hundred invoices, runs across multiple pages, and arrives net of a deduction column that the retailer has applied on its own terms. You're not reading a payment advice so much as auditing one.
Four things stack up at once. The volume is high, so manual matching is slow and error-prone before you've even started. The document is long and multi-page, so the header total at the top and the net figure that hits your bank are pages apart. The deduction lines sit among the invoice lines and reduce the net, so the payment never equals the sum of your open invoices. And the reason codes attached to those deductions differ by retailer, so a supplier dealing with Tesco, Sainsbury's and Asda is effectively reconciling three coding schemes at once. Add the fortnightly cadence and you have a job that lands like clockwork, never gets smaller, and always seems to fall on the busiest day of the period.
A quick diagnostic: take your largest grocery customer's last remittance and count the lines. If it's more than a hundred, and your team keys those matches by hand every fortnight, you're spending most of a day on work that is identical from one period to the next, except for the handful of deductions that genuinely need a decision.
The anatomy of a major-retailer remittance
Strip the branding away and every major-retailer remittance has the same skeleton. At the top, a header total. In the middle, a long list of invoice lines, one row per invoice, each with an invoice number and a gross amount. Then a set of deduction lines, each with its own reason code and a negative value. At the bottom, the net: the figure that actually lands on your bank feed. Whether it comes from Tesco, Sainsbury's, Asda, Morrisons, Waitrose or any other major chain, the shape holds; only the layout and the codes move around.
Take a worked example in round numbers. Your remittance lists 118 invoices totalling £96,400 of goods supplied over the period. Below them sit three deductions: a shortage line of £1,900 where fewer cases were received than billed, a promotional allowance of £1,700 funding an agreed deal, and a settlement discount of £800 for paying to terms. That's £4,400 of deductions. The net payment that hits your bank is £92,000.
Here's the trap. Your Xero bank feed shows a single £92,000 credit. Your open AR for this customer is £96,400. Try to reconcile the bank line straight against the invoices and you're £4,400 short, and Xero won't let it balance. Both figures are correct. That £4,400 gap is the deduction column doing exactly what it was designed to do, not an error anyone needs to hunt down.
The deduction lines, and where they actually go
The clean invoice lines are the easy 95 percent. They map one row to one open invoice, the numbers agree, and they can be matched and posted without a human looking at them. The deduction lines are the other 5 percent, and they're where the time goes, because each one is a question about which general-ledger account it belongs in, and that's a policy decision every business charts differently. The categories you'll meet again and again:
- Shortages. Fewer cases received than billed. Often a genuine revenue reduction, sometimes a claim you will dispute, so how you code it depends on whether you accept it.
- Promotional and co-op advertising allowances. Funding you owe for an agreed deal or for in-store and circular advertising. This is contracted spend, not a pricing error, and usually belongs in a marketing or trade-spend account rather than against sales.
- Retrospective promotion rebates. A volume or period rebate clawed back after the fact, which may need accruing across the period rather than booking in full on the day it appears.
- Spoilage and unsaleables. Stock written off at the retailer's end and charged back to you.
- Compliance and service-level charges. Late-delivery fines, fill-rate penalties and other service-level deductions, typically coded as a cost rather than a sales adjustment.
- Invoice price or quantity mismatches and post-audit claims. The retailer's records disagree with yours, sometimes months later. These often warrant a dispute before you code anything.
- Settlement or early-payment discounts. The discount you offered for prompt payment, taken as agreed.
Notice that none of these point at a specific open invoice the way an ordinary payment line does. They reduce the net, but they don't retire an invoice. So they can't be matched. They have to be coded, and the right account differs from one supplier to the next, which is exactly why this part stays manual and the clean matching doesn't. For the coding deep dive on how to treat each category in Xero, see our piece on handling remittance deductions in Xero.
One gotcha worth flagging before it bites you. Some retailer deductions don't arrive as adjustment lines on the sales remittance at all. They come as separate debit notes. In Xero a debit note can land on your purchase ledger (accounts payable) rather than as a sales credit, which means it will never match against your AR invoices and has to be picked up and handled on its own. If your net never quite reconciles even after you've accounted for every line on the remittance itself, a debit note sitting quietly on the purchase ledger is the usual culprit.
When one remittance runs past Xero's batch limit
There's a hard ceiling hiding in here too. Xero caps a single batch payment at 200 invoices. For most businesses that's academic. For a large grocery supplier, a single fortnightly remittance can carry more than 200 clean invoice lines, which means the payment won't post as one batch no matter how you slice it. You have to split it, and splitting by hand while keeping the totals straight is its own headache on top of the deductions.
If you're anywhere near that volume, this is a constraint to plan around rather than discover at month-end. We wrote up the limit and how to work within it in Xero's 200-invoice batch payment limit.
Getting the clean lines off your plate
Step back and the shape of the work is clear. The vast majority of a supermarket remittance is clean invoice matches: row points at invoice, amounts agree, post it. That's repetitive, rules-based, and identical every fortnight, which is precisely the kind of work a machine should do in seconds. What's left after the machine has run is the short list of deduction lines, and those are the ones that actually need your judgement.
That's the whole point of separating the two jobs. RemitClear's Xero remittance matching reads the remittance, matches the clean invoice lines against your open AR in Xero, and respects the 200-invoice ceiling by splitting batches for you. The deductions surface as a short, clearly flagged list to code, rather than being buried among a hundred lines you have to eyeball one by one. Your attention goes to the decisions, not the data entry. That's how grocery and retail remittance matching is meant to work.
Summary
Next fortnight, do one thing differently: before you touch Xero, split the remittance into its two piles. Run a highlighter down the page and separate the clean invoice lines, which map one-to-one and can be matched and posted in bulk, from the deduction column, which can't. Match the clean pile first, even past the 200-invoice batch ceiling. Then work only the deductions, shortages, promotional and co-op allowances, retro rebates, spoilage, compliance charges, settlement discounts, coding each to the account your chart of accounts calls for. And keep half an eye out for the debit notes that slip onto the purchase ledger. Do that and the fortnight stops being a wall.