A customer emails to ask where their order is. You can't find one, but they have a payment on their bank statement. Or your sales for the week don't match what reached your bank.

Your money usually passes through three separate records: your payment provider, your shop or invoicing system, and your accounts. Each one is kept separately, and they can quietly drift apart.

This is a check you can do yourself in about twenty minutes. You don't change anything. Please don't mark anything as paid or send anything again while you look.

Why a payment and an order can come apart

  • The message between them didn't arrive. After taking a payment, your payment provider sends your shop a message to say so. If your website doesn't receive it, the money can be taken while the order stays unpaid or never appears.
  • The payment is still in progress. Some payment types take days to complete, so an order can look unpaid for a while.
  • The payment didn't go through. The customer may see a pending charge from their bank, while your shop rightly has no finished order.
  • It was charged twice. Someone pressed the button twice, or an automation ran twice. This guide on things happening twice explains why.

Why your bank deposit doesn't match your sales

This one is often completely normal, and has a simple explanation:

  • Fees come off first. Payment providers usually take their fee before paying you, so the deposit is smaller than the sales.
  • Sales arrive in batches. One deposit can cover several days, and it may not line up with your calendar week.
  • Refunds and disputes come off too. A refund for last month can reduce this week's deposit.

So a mismatch isn't automatically a problem. What you want is to be able to explain the difference.

The 20-minute check

1. Choose one recent week

Pick a normal week, and write down three lists or totals: payments from your payment provider, orders or invoices from your shop or invoicing system, and deposits on your bank statement.

2. Match payments to orders

Count the successful payments and count the paid orders. If they're different, find the one that doesn't match. Here's where to look:

  • Shopify: use the Payment status filter on the Orders page. A pending payment can take several days, and usually expires after about a week. A failed payment isn't saved as an order: look under Orders, then Abandoned checkouts.
  • WooCommerce: "Pending payment" means the order was received but no payment is recorded. Open the order and read its notes. If your payment provider shows a successful charge but the order is still pending, WooCommerce's guide points to the message between the two.
  • Stripe with your own website: ask whoever built it to show you the Event deliveries tab, under Webhooks in Workbench. Each message is listed as Delivered, Pending or Failed. In live mode, Stripe tries again for up to three days.

3. Explain one deposit

Take one deposit from your bank statement and find what it's made of. Your provider can usually show this. On Stripe, the payout reconciliation report lists the payments, refunds, disputes and fees in each payout. Sales, minus fees and refunds, should come to the deposit.

4. Look at what your accounts say

Open your accounting software and look at the same week. Check that invoices you were paid for show as paid, and that any invoice still open really is unpaid.

Most accounting tools have a reconciliation screen, which compares your records with your bank. In QuickBooks Online, saved reports are on the Reconcile page, under History by account. If it hasn't been done for a while, that's useful to know too.

Habits that keep the three records together

  • One deposit a week. Explaining a single deposit takes a few minutes, and shows a problem long before the end of the year.
  • Payments and orders, side by side. Compare the two counts on the same day each week.
  • Wait for "Paid". Hold off on sending goods until an order shows as paid.
  • Tell your accountant. If a change affects how sales reach your accounts, mention it. Tax questions are always theirs to answer.

What to do with what you found

If your counts match and you could explain the deposit, that's a very good sign. Your weekly look keeps it that way.

If a customer has paid and has no order, sort that customer out first, then write down the date, the amount and the payment reference. Take those to your payment provider's support team, or to whoever built your website.

And if there's nobody to ask, I can read through how your payments, orders and accounts connect, read-only. Here's an example of the findings note you'd get.