A merchant sells $150 on Monday. On Tuesday, $123.82 arrives in the bank.
The $26.18 difference is not a mistake, and it is not one thing. It is at least two deductions and a timing shift, and the largest piece is usually not the one merchants assume.
The gap is made of named pieces
Square's payout data breaks every deposit into entries, and each entry carries a category. Every dollar between the sale and the deposit belongs to one of them.
Processing fees. What Square charges to run the card. On the account in the examples below it runs 2.45 percent of gross.
Refunds. Money returned to customers, netted out of the payout rather than billed separately.
Financing. If the business has taken a Square Loan or similar advance, a fixed percentage of each day's sales is withheld automatically toward repayment. This is the piece merchants underestimate.
Platform costs. Subscription charges for Square software, hardware financing, and similar recurring costs.
Disputes and holds. Chargebacks, and funds held while a dispute is investigated.
Other. Anything that does not map to a known category. This should be empty. When it is not, it means Square introduced an entry type that the integration has not learned yet, which is a signal worth surfacing rather than silently absorbing.
What the arithmetic actually looks like
Five consecutive payout days from one merchant account:
date gross fees financing deposited
2026-07-28 544.50 13.34 -81.68 449.48
2026-07-29 55.00 1.35 -8.25 45.40
2026-07-30 215.00 5.27 -32.25 177.48
2026-08-02 559.75 13.72 -83.97 462.06
2026-08-03 150.00 3.68 -22.50 123.82
The relationship holds exactly on every row:
gross - fees + financing = deposited
Now look at the proportions. Processing fees are 2.45 percent of gross, every day, consistently. Financing withholding is 15.00 percent of gross, every day, consistently. The financing deduction is six times larger than the card processing fee.
A merchant looking at a $150 day and a $123.82 deposit will usually blame card fees. Card fees are $3.68 of that $26.18 gap. The other $22.50 is loan repayment, withheld automatically, and it does not appear anywhere on the sales dashboard.
This is the single most common reason the numbers feel wrong. The deduction that dominates the gap is invisible on the surface a merchant looks at most.
Then there is timing
Every row above has a deposit date one day after the sale date. That is normal for Square, and it creates a second problem that is independent of the deductions.
A payout carries two timestamps. Square dispatches it on one day, and the bank posts it on another. If you attribute deposits to the day the bank posted them, Monday's deposit lands on Tuesday, and every day's deposit is being compared against the wrong day's sales.
The correction is to bucket by the day Square dispatched the payout, not the day the money arrived:
((p.raw_data->>'created_at')::timestamptz
AT TIME ZONE COALESCE(i.timezone, 'UTC'))::date AS truth_date
Bank arrival is still worth keeping, because a merchant asking "when will this hit my account" needs it. It is just the wrong axis to reconcile on. Analytir stores both and uses each for what it answers.
One number that is easy to double count
Square's payout amount is already net. It is the money that moved, after every deduction above has been applied.
That means you do not subtract fees from it. If you take the payout amount and then subtract processing fees again, you have counted them twice, and your reconciliation will be off by exactly the fee total in a way that looks like a new mystery.
The deductions explain how you got from gross sales to the payout. They are not applied to the payout.
Putting both sides together
Reconciliation needs the register side and the payout side joined on the same date axis. Sales happen on one surface, deposits on another, and neither alone tells you whether the two agree.
Analytir keeps a view that unions the dates from both sides, so a day with sales but no payout, or a payout with no matching sales, still appears rather than silently vanishing from the comparison. Two flags on each row mark which side had data.
That is the whole point of doing it this way. A day where the sides do not agree is not an error to hide. It is the most informative row in the table, because it is the one telling you something happened that your sales number alone could not show you.
What to check on your own account
Take one day. Find the gross sales, find the deposit, and account for the difference line by line rather than accepting it as the cost of doing business.
If the gap is roughly 2 to 3 percent, it is card processing and everything is normal. If it is meaningfully larger, something else is being withheld, and it has a name. Financing is the usual answer. Platform subscriptions and disputes are the next two.
A gap you cannot name is not a small accounting annoyance. It is the difference between the number you are running the business on and the money you actually have.