Your store dashboard says you sold $9,300 through buy-now-pay-later last week. Your bank account shows a deposit of $8,412. Where did the missing $888 go — and why does next week's deposit look short too, even though sales are up?
If you take Klarna, Affirm, or Afterpay at checkout, this gap is not a bug in your store. It is the predictable result of booking BNPL settlements the same way you book credit card deposits. BNPL settles on a different clock, nets its fees at the source, and deducts refunds from future payouts instead of sending separate credits. Book the bank deposit as revenue and you will understate sales, bury your processing fees, and double-count refunds — all at once.
This guide walks through the gross-settlement method that keeps BNPL clean: one clearing account per provider, revenue booked gross at the point of sale, fees broken out as their own expense, and a month-end routine that ties your books to each provider's 1099-K.
Why BNPL Does Not Reconcile Like a Card Processor
With a card processor, the rhythm is simple: customers pay, the processor batches daily, and a deposit lands in your bank a day or two later. You book gross sales plus the fee, reconcile the bank balance, and move on.
BNPL breaks that rhythm in three ways.
Settlement is delayed — and every provider runs its own clock
Klarna typically settles weekly or bi-weekly. Affirm usually settles within a few business days but holds a rolling reserve against refunds and disputes. Afterpay is often next-business-day on standard plans, with refunds and adjustments deducted before the money moves. The cash that lands on Tuesday pays for sales from days or weeks earlier, which means a deposit never matches any single day's sales report.
Fees are netted at the source
BNPL fees are steep compared with cards, and you never see them as a separate charge. Typical merchant take rates run roughly 3% at Affirm, 4–6% plus a per-transaction fixed fee at Afterpay, and about 3.3–6% plus a fixed fee at Klarna depending on plan and volume. The fee is simply missing from the deposit. If you book the deposit as your sales number, you have silently understated revenue by the fee on every single order.
Refunds shrink future deposits instead of appearing as credits
When a customer returns a $200 Klarna order, you do not get a separate $200 debit to book. Your next settlement is just $200 smaller — sometimes net of the original fee, sometimes not, depending on your plan. To your bank feed, a refund looks identical to a slow sales week. Without a system that expects this, refunds float unbooked for weeks until someone notices the clearing balance drifting.
The Gross-Recognition Rule: You Sold It, So Book It Gross
Under ASC 606, the merchant selling its own goods is the principal in the transaction — the BNPL provider is a payment and financing intermediary, not the seller. That has one blunt consequence for your books: revenue is the gross order amount, and the BNPL fee is an expense, not a reduction of revenue.
This mirrors how card processing already works. You would never book a $100 Stripe sale as $97.10 of revenue; you book $100 of revenue and $2.90 of processing fees. BNPL deserves the same treatment even though the fee arrives pre-deducted. Three reasons it matters:
- Your revenue line stays comparable. Gross sales per channel, conversion value, and average order value all read correctly when every channel is booked gross.
- Your fees stay visible. At 4–6%, BNPL fees are one of your largest variable costs. Buried in net deposits, they escape every cost review. Broken out, they can be negotiated, benchmarked across providers, and weighed against the conversion lift BNPL delivers.
- Your tax return reconciles. Each provider's Form 1099-K reports your gross payment volume with no adjustment for fees or refunds. Books kept on a net basis will never tie to those forms, which is exactly the mismatch that draws IRS notices.
The Clearing-Account Method, Step by Step
The fix is one clearing account per BNPL provider — a current-asset account that behaves like a mini bank account for money that is yours but has not settled yet. Sales go in gross, fees and refunds come out, and settlement deposits transfer the remainder to your operating bank. Here is the full routine.
1. Set up one clearing account per provider
On your chart of accounts, create:
- Klarna Clearing (current asset)
- Affirm Clearing (current asset)
- Afterpay Clearing (current asset)
- BNPL Processing Fees (expense — many sellers put it in cost of goods sold alongside other merchant fees, others treat it as a selling expense; pick one and stay consistent)
In QuickBooks Online, create each clearing account as a bank-type or other-current-asset account so it appears on the reconcile screen. In Xero, flag each as a bank account for the same reason. In plain-text accounting, they are just asset accounts, for example Assets:Receivable:Klarna-Clearing.
Never combine providers into a single clearing account. Each one settles on its own cadence with its own fee schedule, and a blended account cannot be reconciled against any single provider report.
2. Book every sale gross on the order date
When an order closes through a BNPL provider, record the full order amount immediately — do not wait for settlement:
- Debit the provider's clearing account for the gross order amount
- Credit sales revenue for the gross order amount
The economic logic: the moment the BNPL provider approves and captures the order, your customer owes the provider, and the provider owes you. That receivable is real on day one even though cash arrives later. Booking at the order date also keeps daily sales reports and your revenue ledger in agreement, which is the foundation everything else reconciles against.
3. Book fees as an expense from the settlement report
When a settlement report arrives, it itemizes gross settled sales, fees withheld, refunds deducted, and the net payout. Book the fee line explicitly:
- Debit BNPL Processing Fees for the fee amount
- Credit the provider's clearing account for the fee amount
Do this from the provider's settlement report, not by backing into it from the bank deposit. The report is the source document; the deposit is just cash confirmation.
4. Record the settlement deposit as a transfer
The bank deposit is not revenue — revenue was already booked in step 2. It is a transfer:
- Debit your operating bank account for the net deposit
- Credit the provider's clearing account for the net deposit
After posting, the clearing account balance should equal exactly what the provider still owes you: approved-but-unsettled sales, minus any rolling reserve. That balance is your reconciliation check. If it drifts from the provider's open-settlement report, something — a refund, a fee change, a dispute — was missed.
5. Book refunds against the original sale, then watch the fee
When you refund a BNPL order, reverse it the way it came in:
- Debit refunds/returns (as a contra-revenue account or a refund liability) for the refund amount
- Credit the provider's clearing account for the refund amount
Then confirm how your plan treats the original fee. Some plans return the fee on refunded orders; others keep it. If the fee is returned, book a fee credit when it appears on the settlement report. If it is kept, that fee stays in your expense line — a real cost of the returned sale. Either way, decide by reading the settlement report, not by assuming.
A Worked Example
Say your store sells $10,000 through Afterpay in a week at a 5% fee plus $0.30 per order across 50 orders ($15 in fixed fees, $500 in percentage fees, $515 total). One $200 order is refunded, and Afterpay keeps the fee on refunds. Here is the week in the clearing account:
| Step | Clearing account movement | Balance |
|---|---|---|
| 50 sales booked gross | +$10,000 | $10,000 |
| Fees from settlement report | −$515 | $9,485 |
| Refund booked | −$200 | $9,285 |
| Settlement deposit to bank | −$9,285 | $0 |
Revenue shows $10,000. BNPL fees show $515. Refunds show $200. The bank received $9,285, and every dollar of the $715 gap between sales and cash is explained by a named line item instead of vanishing into a net deposit. When the same week spans two settlement cycles, the only difference is a non-zero clearing balance at week-end — which should match Afterpay's unsettled-sales report to the penny.
The 1099-K Gross-Up: Tying Your Books to the Tax Forms
Each BNPL provider that qualifies as a third-party settlement organization sends you (and the IRS) a Form 1099-K. Two facts about that form surprise most sellers.
First, Box 1a reports gross volume with zero adjustments. Per the IRS, the gross payment amount is not adjusted for fees, refunds, credits, shipping, or discounts. If you processed $120,000 through Klarna, paid $6,000 in fees, and refunded $4,000, your 1099-K still shows $120,000. That is by design: fees and refunds are deductions you claim on your return, not reductions of the reported gross.
Second, the filing threshold is back to the old high bar. The One Big Beautiful Bill retroactively reinstated the pre-2021 threshold, so providers generally are not required to file a 1099-K unless your gross volume exceeds $20,000 and your transaction count exceeds 200. Many smaller sellers will receive no form at all — which changes nothing about what you owe, since all business income is reportable whether or not a form arrives.
Reconciling is straightforward when your books are kept gross. For each provider, for the full year:
- Start with your books' gross BNPL sales for that provider.
- That number should equal the provider's 1099-K Box 1a (small timing differences at year-end are normal — a December 31 sale that settles January 2 belongs to this year's books but may land on next year's form; document the cutoff).
- Fees appear separately as a deduction; refunds appear as returns/allowances. Neither is netted into gross receipts.
If your books were kept net, step 2 fails immediately: your "sales" number sits thousands below Box 1a with no itemized bridge. Rebuilding that bridge at tax time from twelve months of settlement PDFs is the most expensive way to do bookkeeping. The clearing-account method builds it incrementally, every settlement cycle, for free.
Six Mistakes That Break BNPL Books
- Booking deposits as revenue. The single most common error. It understates sales, hides fees, and guarantees a 1099-K mismatch. Revenue is booked at the order date from the sales report, never from the bank feed.
- Burying fees in net deposits. At BNPL rates, this hides a cost line larger than many sellers' entire software budget. Break fees out monthly at minimum; per settlement is better.
- Double-counting refunds. If your ecommerce platform already records the refund and you also book the smaller settlement deposit as reduced revenue, the refund hits twice. Book the refund once, against the clearing account, on the refund date.
- Ignoring the rolling reserve. Affirm-style reserves mean a slice of your receivable sits with the provider indefinitely. Track it as part of the clearing balance so it does not read as missing cash.
- One clearing account for all providers. Different cadences, different fee schedules, different refund rules. Blended accounts cannot be tied to any single provider report, so errors hide permanently.
- Cash-basis timing confusion. Cash-basis sellers still need the clearing account as a tracking tool: sales are recognized when the deposit lands, but fees must be pulled from the settlement report for the same period, or expenses silently shift into whatever month the deposit happens to arrive.
Your Monthly BNPL Close Checklist
Fifteen minutes per provider, once a month, prevents every failure above:
- All sales for the month booked gross to the provider's clearing account
- All settlement reports downloaded and fees booked as expense
- All refunds booked against the clearing account, fee treatment verified
- All settlement deposits recorded as clearing-to-bank transfers
- Clearing balance tied to the provider's unsettled/reserve report
- Year-to-date gross per provider tracked for the 1099-K tie-out
Keep BNPL Reconciliation Boring With Plain-Text Books
BNPL reconciliation rewards one habit above all: every dollar lands in a named account the day the economic event happens, so settlement day is a transfer, not a revelation. That habit is easier to keep when your ledger is plain text you can grep, diff, and version-control. A BNPL sale, fee, and settlement in Beancount syntax is three transparent postings — no black-box bank rules, no mystery balances:
2026-09-10 * "Klarna order #4821" "Blue linen duvet set"
Assets:Receivable:Klarna-Clearing 200.00 USD
Income:Sales:Ecommerce -200.00 USD
2026-09-17 * "Klarna weekly settlement" "Fees and payout"
Expenses:Fees:BNPL 8.58 USD
Assets:Checking:Operating 191.42 USD
Assets:Receivable:Klarna-Clearing -200.00 USDWhen tax season arrives, your per-provider gross, fees, and refunds are one query away — exactly the bridge your 1099-K tie-out needs. If you want to see how this workflow looks in a full dashboard with balance checks and reports, explore the Fava dashboards or read the docs to get started.
Simplify Your Financial Management
As BNPL grows from an experiment into one of your largest payment channels, keeping gross sales, fees, and refunds in separate, reconcilable accounts is what keeps both your management numbers and your tax return honest. Beancount.io provides plain-text accounting that gives you complete transparency and control over your financial data — no black boxes, no vendor lock-in. Get started for free and see why developers and finance professionals are switching to plain-text accounting.





