Payment reconciliation for ecommerce: why don’t payouts match orders?
A worked payout, an ID chain from order to bank deposit, clearing-account postings and the matching rules that make ecommerce payment reconciliation repeatable.
- 01Order
- 02Capture
- 03Payout
- 04Bank
- 05Ledger
Payouts rarely match orders because a payment processor pays a net batch, not individual orders. One deposit combines several days of captured payments, minus fees, refunds, chargebacks and held funds, and it leaves out late captures and other payment methods. Reconcile three links: each order to its processor transaction by order ID, each transaction to its payout by payout ID, and each payout to the bank deposit by reference. Record sales gross through a clearing account that returns to zero.
The store reports $600 of orders for Monday. Two days later the bank shows a deposit of $311.19 from the payment processor. Finance books the deposit as sales, and by month-end revenue, fees and refunds are all wrong in small ways that nobody can trace. The difference is explainable to the cent, but only if the order, the processor transaction, the payout and the bank line share identifiers, and someone owns the rules for matching them. This guide works through one payout and sets out those rules.
Why don’t payment processor payouts match your orders?
Payment reconciliation means proving that the money a business expected to receive is the money that arrived, and explaining every difference. For an online store the hard part sits between the order and the bank. A card or wallet payment is captured by a payment processor, held in a balance with that processor, and later paid to the bank in a batch. Each batch, usually called a payout or settlement, is a net amount for many transactions, and it is built on the processor’s calendar rather than the store’s. This is narrower than bank reconciliation, which compares the bank statement with the ledger balance. Payment reconciliation goes underneath each deposit to the payments, fees, refunds and disputes inside it.
An AI-initiated purchase adds another evidence chain before the payment: who delegated it, the approved offer and the merchant’s acceptance. The agentic order acceptance and authority guide shows how to keep those records linked without mistaking payment permission for a completed order.
Processors run two separate clocks. Settlement timing decides when a captured payment becomes available in the processor balance, often a few business days later. The payout schedule decides when available funds are sent to the bank: daily, weekly, monthly or on request. Each payout is simply the available balance at the moment it was created, net of everything deducted since the last one. An order total and a bank deposit therefore almost never agree on their own.
| Reason | What happens | Effect on the deposit |
|---|---|---|
| Processing fees | The processor deducts its fee before paying out | Lower than gross sales |
| Refunds | A refund for an older order is taken from today’s balance | Lower, and linked to a different day’s order |
| Chargebacks and dispute fees | Disputed funds and a fee are withdrawn; if the dispute is won, the funds return months later | Lower now, possibly higher in a later payout |
| Settlement timing and cut-offs | Payments captured after the processor’s cut-off, or still pending, fall into a later payout | Lower now; the order appears in the next deposit |
| Capture at dispatch | The card is authorised at checkout but captured when the order ships, sometimes in parts for a split shipment | The money moves days after the order date and may arrive as more than one charge |
| Other payment methods | Wallets, buy-now-pay-later, marketplaces and gift cards settle separately or not at all | Orders with no matching line in this payout |
| Reserves and holds | The processor keeps part of the balance against risk | Lower until the hold is released |
| Currency conversion | The customer pays in one currency and the payout arrives in another | Differs from the order by the conversion and any fee |
| Negative balance | Refunds and disputes exceed new sales in the period | No deposit, or a debit from the bank account |
| Failed or instant payouts | A failed payout is retried later; an instant payout is drawn on demand | Deposit dates and batch contents move |
What does one ecommerce payout look like line by line?
Take an illustrative homewares store. On Monday 14 September it takes five web orders worth $600 in total, including tax and shipping. Four were paid by card through its main processor and one through a separate wallet provider. On Wednesday a deposit of $311.19 arrives in the bank with the processor’s payout reference in the description. The fee rate and dispute fee below are invented. The refund line returns no fee because many processors keep the original processing fee when a payment is refunded. Check your own agreement, because fees and refund terms differ by provider and contract.
| Line | Type | Order | Gross | Fee | Net |
|---|---|---|---|---|---|
| 1 | Charge, captured 14 Sep | 1041 | $120.00 | −$3.78 | $116.22 |
| 2 | Charge, captured 14 Sep | 1042 | $85.00 | −$2.77 | $82.23 |
| 3 | Charge, captured 14 Sep | 1043 | $240.00 | −$7.26 | $232.74 |
| 4 | Partial refund, issued 14 Sep | 1027 (ordered 3 Sep) | −$30.00 | $0.00 | −$30.00 |
| 5 | Chargeback and dispute fee | 1019 (ordered 28 Aug) | −$75.00 | −$15.00 | −$90.00 |
| Payout total | $340.00 | −$28.81 | $311.19 |
The payout contains three of Monday’s orders, plus a refund and a chargeback that belong to earlier orders. It does not contain order 1044, captured after the processor’s cut-off, or order 1045, which was paid through the wallet provider. A bridge from the order report to the deposit makes the gap explainable:
| Step | Amount | Evidence |
|---|---|---|
| Web orders on 14 September | $600.00 | Commerce order report, orders 1041–1045 |
| Less order 1045, paid through the wallet provider | −$95.00 | Settles in that provider’s own payout |
| Less order 1044, captured after the cut-off | −$60.00 | Appears in the next payout, PO-0917 |
| Charges in this payout | $445.00 | Lines 1–3 |
| Less partial refund on order 1027 | −$30.00 | Line 4, linked to the original order |
| Less chargeback on order 1019 | −$75.00 | Line 5, dispute reason recorded |
| Less processing fees on lines 1–3 | −$13.81 | Fee column |
| Less dispute fee | −$15.00 | Fee column, line 5 |
| Bank deposit on 16 September | $311.19 | Bank line with reference PO-0916 |
Booking $311.19 as sales would understate revenue by $133.81, hide $28.81 of fees, lose the link between the refund and order 1027, and leave order 1044 unexplained until the next deposit. Each item in the bridge needs a separate entry, an owner and an ID that leads back to an order.
How do you reconcile a payout step by step?
The worked example follows the same six steps for every payout. Work payout by payout rather than day by day: the payout is the unit the processor and the bank agree on, and it stops a batch that crosses a weekend or month-end from being counted twice.
- 01Collect three records
The itemised report for the payout, the commerce orders, refunds and disputes it refers to (go back to the earliest order on the report), and the bank line.
- 02Prove the totals
Itemised net amounts add up to the payout total, and the payout total equals the bank line found by payout reference.
- 03Match each line by ID
Charges to orders, refunds to refund records and disputes to dispute cases, all by order ID. Lines with no order go on the exception list.
- 04Explain orders not in the payout
Captured after the cut-off, paid through another provider, still only authorised, or cancelled. Each stays as an open item with a reason.
- 05Post through the clearing account
Fees, refunds, disputes and the deposit, so the payout’s clearing balance returns to zero.
- 06Review and sign off
A named person checks the exceptions, records who owns each open item and marks the payout reconciled.
| How often | Check | Usually owned by |
|---|---|---|
| Each business day | New payouts matched to bank lines; charges with no order; authorisations close to expiry | Finance or bookkeeper, with ecommerce operations for exceptions |
| Each payout | The six steps above | Finance or bookkeeper |
| Weekly | Open disputes and evidence deadlines; refunds waiting for balance; ageing open items | Ecommerce operations |
| Month-end | Each clearing account against the processor’s unsettled balance, by currency; sign-off of open items | Finance lead |
Which IDs connect an order to a bank deposit?
Reconciliation becomes a lookup instead of an investigation when four links are reliable: order to payment, payment to balance transaction, balance transaction to payout, and payout to bank line. The most important decision is made at checkout. The commerce system should send its own order ID to the processor as a reference or metadata field, so the order ID comes back on every charge, refund and dispute in the settlement report.
- 01Create the orderCommerce system
Order 1041 with total, tax, shipping and currency; order ID sent to the processor with the payment request
- 02Capture the paymentPayment processor
Payment or charge ID, carrying order 1041 as reference or metadata
- 03Post to the processor balancePayment processor
Balance transaction with gross, fee, net and the date funds become available
- 04Batch into a payoutPayment processor
Payout ID PO-0916 linking every balance transaction it settles
- 05Receive the depositBank feed into accounting
Bank line for $311.19 with the payout reference in its description
- 06Post and clearAccounting system, owned by finance
Fees, refunds and the chargeback posted against the clearing account, which returns to zero for PO-0916
Processors expose these links under different names. The table shows three documented examples, checked on 3 October 2026, so the pattern is concrete. Use it to find the equivalent fields in your own provider’s reports. It is not a ranking of providers.
| Link | Stripe payout reconciliation report | Adyen settlement details report | Shopify Payments |
|---|---|---|---|
| Your order ID | order_id or a payment_metadata[key] column (Stripe docs) | Merchant Reference, the reference sent in the payment request (Adyen docs) | Order number on each payout transaction (Shopify help) |
| Processor transaction | balance_transaction_id, charge_id, payment_intent_id | Psp Reference | Transaction rows with type, amount, fee and net |
| Payout or batch | automatic_payout_id | Batch Number and the MerchantPayout record | The payout, with an “Export payout transactions” option |
| Bank line | trace_id or payout_reference_token | Payout reference in the bank transfer description | Transfer reference number, where available |
| Type of each line | reporting_category, such as charge, refund or dispute | Journal type, such as Settled, Refunded or Chargeback | Charges, refunds, disputes, adjustments and reserves (Shopify help) |
Two limits matter for automation. Where a processor offers instant payouts, the merchant chooses their timing and amount, so the processor may not be able to say which transactions an instant payout contains; those have to be reconciled against the transaction history instead. Some reports also group payouts by expected arrival date rather than the date the bank posts the deposit, and the itemised data can be ready after the money arrives. Build a matching window of a few business days rather than expecting the same date on both sides.
What changes when payment is captured at dispatch?
Many stores that ship physical goods authorise the card at checkout and capture the money only when the order ships, so a customer is not charged for items that cannot be sent. Reconciliation then has to follow shipments as well as orders. Three constraints shape the design. An online card authorisation typically lasts about seven days, depending on the card network and processor. Capturing less than the authorised amount usually releases the remainder. And many processors allow only one capture per authorisation, unless they support multiple captures for eligible card payments.
| Day | Event | Processor record | Reconciliation effect |
|---|---|---|---|
| 0 | Order placed | Authorisation for $180; nothing in the balance yet | Order exists; no cash expected |
| 2 | First location ships $120 of items | Capture of $120 | One charge in the next payout; $60 still open |
| 5 | Second location ships the last $60 item | A second capture where multicapture is supported; otherwise a new charge on a saved payment method, or nothing if only one capture was allowed | A second line for the same order, possibly in a different payout, or a $60 shortfall |
| 7 | Authorisation window ends | Any amount not captured is released | If the item has not shipped, the order must be cancelled, refunded or charged again |
The matching rule changes from “one order, one charge” to “captures less refunds equal the amount invoiced for what shipped”. That only works if the fulfilment system sends shipment and capture IDs back to the order, which is a design decision covered in the ecommerce fulfilment workflow guide. Authorisations close to expiry belong on the daily exception list, because a missed capture means goods shipped without payment.
How should the payout be recorded in the accounts?
The common pattern is a clearing account for each processor and currency, sometimes called a processor receivable or undeposited funds account. Sales are recorded at their gross value when the order is invoiced or paid. The payout report then moves fees, refunds and chargebacks out of the clearing account to the right accounts, and the bank deposit clears the remainder. If everything is posted correctly, the clearing account returns to zero for that payout. Processor fees can include sales tax, VAT or GST. Some itemised reports show that tax in its own column while also including it in the fee, which matters where the tax can be reclaimed. The exact accounts, timing and tax treatment are decisions for your accountant; the postings below show the mechanism for the illustrative payout.
| Event and source record | Debit | Credit | Clearing balance |
|---|---|---|---|
| Orders 1041–1043 paid (commerce sales record) | Processor clearing $445.00 | Sales, sales tax payable and shipping income, split per order | $445.00 |
| Processing fees on lines 1–3 (payout report) | Payment processing fees $13.81 | Processor clearing $13.81 | $431.19 |
| Partial refund on order 1027 (refund record and payout report) | Sales returns $30.00, or the tax-adjusted split your accountant sets | Processor clearing $30.00 | $401.19 |
| Chargeback on order 1019 (dispute record) | Disputed funds receivable $75.00 | Processor clearing $75.00 | $326.19 |
| Dispute fee on order 1019 (payout report) | Dispute fees $15.00 | Processor clearing $15.00 | $311.19 |
| Deposit received (bank line PO-0916) | Bank $311.19 | Processor clearing $311.19 | $0.00 |
Order 1044’s $60 sits in the clearing account until payout PO-0917 arrives. That is correct, not an error. At month-end, the clearing balance should equal the processor’s unsettled balance: captured or adjusted transactions not yet paid out. Most processors report an ending or unsettled balance that can be used for that check. Shopify notes that its Payments activity report is not a statement of revenue, which is a useful reminder: the payout report proves cash and deductions, while the commerce and accounting records prove revenue.
How does a chargeback move through the accounts?
A chargeback is not settled when the money leaves. When a card dispute opens, the processor typically withdraws the disputed amount and a dispute fee straight away. The business usually has one to three weeks to respond, depending on the card network, and the whole process can take two to three months. If the business wins, the disputed amount comes back, but the fee for receiving the dispute is often kept. The disputed amount can also differ from the original charge, for example after currency conversion or when only part of an order is disputed. Treat the withdrawn amount as a receivable until the outcome is known:
| Stage | Money movement | Posting |
|---|---|---|
| Dispute opened | $75 and a $15 fee withdrawn from the processor balance | Debit disputed funds receivable $75 and dispute fees $15; credit processor clearing $90 |
| Evidence submitted | None | No entry; track the response deadline and the expected decision date |
| Dispute won | $75 returned in a later payout | Debit processor clearing $75; credit disputed funds receivable $75 |
| Dispute lost | None; the money has already gone | Debit chargeback losses $75; credit disputed funds receivable $75 |
Decide early whether postings are summarised or itemised. Posting each order separately gives full traceability but floods a small accounting system with entries. A daily or per-payout summary entry with the itemised report attached keeps the ledger readable, provided that every amount in the summary can still be traced to an order ID.
What matching rules should a reconciliation process follow?
Whether a person or a program does the work, write the rules down. Each rule needs a match key, an allowed tolerance and an owner for the exceptions it produces. Matching by amount alone is the most common shortcut and the most common source of wrong matches, because many orders share the same total.
| Check | Match on | Tolerance | If it fails, who acts |
|---|---|---|---|
| Payout to bank line | Payout reference, amount and currency | Exact amount; date within a few business days of expected arrival. Hold the bank line as unmatched until the itemised report is available | Finance: chase the processor or bank; never force-match a nearby amount |
| Negative payout or bank debit | Payout reference on the withdrawal | Exact; reconcile its lines like any other payout | Finance: confirm which refunds or disputes exceeded sales in that period |
| Payout lines add up | Sum of itemised net amounts against the payout total | Exact | Finance: re-download the report; escalate to the processor if it still differs |
| Charge to order | Order ID on the processor transaction, never amount and time alone | Exact amount in the charge currency | Ecommerce operations: find the order; if order IDs are missing, fix checkout and retest after every checkout change |
| Refund to original order | Order ID and refund ID | Not more than the amount captured for that order | Customer service with finance: confirm the refund was approved |
| Chargeback to order | Order ID and dispute ID | Exact | Ecommerce operations: submit evidence before the deadline; finance posts the outcome |
| Shipped order to captures | Sum of captures less refunds against the amount invoiced for what shipped | Exact; authorisations close to expiry flagged daily | Ecommerce operations: capture, cancel or charge again before the authorisation lapses |
| Processor charge with no order | Charges missing an order ID | None expected | Ecommerce operations: manual charge, test, duplicate or a checkout fault |
| Clearing account at month-end | Clearing balance against the processor’s unsettled balance, reconciled by payout ID rather than bank date | Exact, per currency and per processor | Finance: list the open items before closing |
Exceptions should sit in a list with the order ID, amount, reason and owner, not in a reviewer’s memory. A charge with no order is especially important. It can be a manual payment taken over the phone, a test made in production or a checkout fault that took money without creating an order. Each needs a different fix, and only the last one is urgent for customers.
Four set-up mistakes cause most of the rework these rules then have to catch:
- Booking the deposit as revenue. Fees never appear as an expense and revenue is understated. Post sales gross through the clearing account and post only the deposit against it.
- Posting refunds twice. Once from the commerce refund and again from the payout report. Let one system own each posting; the other only matches.
- Reconciling by bank date. A payout that spans month-end leaves sales in one month and cash in the next. Work by payout ID and check the clearing balance against the unsettled balance.
- Ignoring a second processor. Wallet or buy-now-pay-later orders look unpaid. Give each processor and currency its own clearing account and payout import.
Should you reconcile payouts in a spreadsheet, an app or a custom integration?
Volume alone does not decide the method. The number of processors, currencies and sales channels matters more, along with whether refunds and disputes are frequent and whether the accounting system can import itemised data. All four approaches below need the same ID chain and rules. Automation applies the rules faster; it does not supply them.
| Approach | Fits when | Poor fit when | What you still own |
|---|---|---|---|
| Spreadsheet from exported reports | One processor, one currency and a few payouts a week | Several processors, frequent refunds or a monthly close that slips | Downloading reports, formulas, and a reviewer who checks them |
| Accounting app connector | The connector posts per-payout entries with fees and refunds separated, and supports every processor you use | It posts only net deposits, or cannot handle a second processor, currency or channel | Account mapping, connector settings and exceptions the connector skips |
| Dedicated reconciliation software | Several processors, marketplaces or entities with high volume and a finance team to run it | Order data is unreliable at the source; the software will report the same gaps faster | Rule set-up, data feeds, licence cost and exception work |
| Custom integration | Orders, payments and the ERP or accounting system already carry IDs, and posting rules are specific to the business | No one will own monitoring and changes when processor reports change | Code, monitoring, report-version changes and a named owner |
A practical route for many stores is to start with exported reports and a written bridge for each payout, then automate the parts that repeat. The first parts to automate are usually importing the itemised report and posting fees, refunds and disputes. Matching the payout to the bank line can follow. Keep a person reviewing the exception list in every option.
How do you test a payment reconciliation process before relying on it?
Run these cases in the processor’s test mode where it offers one, then confirm them against one real month of payouts before switching off the old process. Each case has a single pass condition that finance can check without reading code.
| Do this | Pass when |
|---|---|
| Place an order and wait for its payout. | The charge carries the order ID; the order, payout line and bank line match by ID and amount. |
| Refund part of an order from an earlier month. | The refund links to the original order and is posted once, in the month it was issued. |
| Open and then win a dispute. | The withdrawal and the later reversal both link to the order; the dispute fee is posted as an expense. |
| Take a payment after the processor’s cut-off. | The order stays in the clearing account and matches the following payout. |
| Ship one order in two parts with capture at dispatch. | Both captures link to the order and its shipments; captures less refunds equal the amount invoiced. |
| Leave an authorised order unshipped for six days. | It appears on the daily exception list before the authorisation expires. |
| Take a payment through a second provider. | It reconciles through that provider’s own clearing account and payout import. |
| Refund more than you sell in one payout period. | The negative payout or bank debit is matched and its lines are posted. |
| Import the same payout report twice. | No posting is duplicated; the second import is rejected or ignored. |
| Close the month. | Each clearing account equals the processor’s unsettled balance, and every open item has an owner. |
Where should a store start?
Pick last month’s three largest payouts. For each, download the itemised payout report and build the bridge from the order report to the bank deposit, as in the worked example. If every line can be traced by ID, the work left is posting discipline and perhaps automation. If charges can only be matched by amount, fix the checkout first so the order ID reaches the processor. If orders and invoices disagree between the store and the ERP, the ecommerce ERP integration guide covers that upstream problem. Reconciliation cannot be more reliable than the order record it starts from.
Harmatiq’s accounting and reporting work covers this route: passing order IDs through checkout, importing payout reports, posting fees, refunds and disputes through clearing accounts with your accountant’s rules, and setting up the exception list your finance team will keep running.
Bring one real order, the systems it crosses and the exceptions your team handles manually. We can turn that journey into an implementation scope.