If you take Klarna, Affirm, or Afterpay at checkout, the way most ecommerce sellers book those settlements is wrong. Not catastrophically wrong. Just wrong enough that the revenue line doesn’t reconcile, the fees get buried, and refunds float around for weeks before anyone notices.
BNPL volume crossed $50 billion in the US in 2025 and is still growing. For a lot of mid-market sellers, BNPL is the second or third largest payment method behind credit cards and PayPal. The settlement mechanics are different enough from card processors that the standard QuickBooks setup doesn’t capture them cleanly.
This is the post I keep emailing to clients in pieces. Here it is in one place.
Why BNPL doesn’t reconcile like Stripe
Stripe pays you net of fees on a daily or weekly cadence. The deposit hits your bank, you book gross sales and the fee, you reconcile the bank balance, and you move on.
BNPL is structurally different in three ways.
First, settlement is delayed. Klarna typically pays weekly or bi-weekly. Affirm settles within a few business days but holds rolling reserves. Afterpay settles next-business-day on most plans but with deductions for refunds. The cash you see on Tuesday is for sales from days or weeks earlier.
Second, fees are deducted at the source. Klarna’s blended take rate runs 3.29 percent to 5.99 percent plus 30 cents per transaction depending on plan and volume. Affirm runs around 3 percent. Afterpay is 4 to 6 percent plus 30 cents. The fee never appears as a separate transaction. It’s just netted out of the deposit.
Third, refunds are deducted from future settlements, not credited as separate transactions. If a customer returns a $200 Klarna order on Friday, the next settlement is reduced by $200 (sometimes net of fee, sometimes not, depending on the plan). To you, it just looks like a smaller deposit.
If you book the deposit as gross revenue, you’ve understated revenue by the fee, missed the original sale entirely if it hasn’t settled yet, and double-counted the refund when it shows up in your sales channel report.
The clearing account approach
The fix is a clearing account per BNPL provider. Treat each BNPL like a separate bank account on your chart of accounts. Sales hit the clearing account at gross. Fees come out as a separate expense. Settlements are transfers from the clearing account to your operating bank. Refunds reverse the original sale and reduce the clearing balance.
In QuickBooks Online, set up:
- Klarna Clearing (current asset, type: Other Current Asset or Bank)
- Affirm Clearing (same)
- Afterpay Clearing (same)
- BNPL Fees (expense, COGS or operating depending on your treatment)
In Xero, the same setup works. Use a current asset account flagged as a bank account so you can reconcile it like a bank.
The flow: when a sale closes through Klarna, post gross revenue and debit Klarna Clearing for the gross amount. When Klarna settles to your bank, transfer the net deposit from Klarna Clearing to Operating Cash, and post the difference as BNPL Fees. Reconcile the clearing account at month-end. The balance should equal the unsettled sales sitting in Klarna’s pipeline.
Where the clearing balance trips people up
Two things cause the clearing balance to look wrong even when the bookkeeping is right.
Rolling reserves. Affirm and some Klarna merchant agreements hold a percentage of each sale (usually 5 to 10 percent) for a rolling period of three to six months. That reserve sits on Affirm’s balance sheet, not yours. But your clearing account looks too high until the reserves release. The fix is a sub-account: Affirm Clearing – Available, and Affirm Clearing – Reserve. Move released reserves between them so the available balance reflects what you can actually expect to settle.
Refund timing. Klarna deducts refunds from future settlements, but the refund posts to your sales platform (Shopify, WooCommerce) on the date the customer initiates it. If you sync sales daily, the refund hits the books before the deduction shows up in the bank. The clearing account temporarily looks low. It self-corrects when the next settlement lands. As long as you’re not chasing the variance every day, it’s fine. Reconcile monthly and the noise washes out.
The 1099-K question
BNPL providers issue 1099-Ks at the federal threshold ($20,000 and 200 transactions for 2025 forward, post-OBBBA reversal). The 1099-K reports gross processing volume, not net settlements. If your books only capture net deposits, your reported revenue won’t match the 1099-K.
This is the most common reason ecommerce sellers get IRS underreporter notices. The CP2000 letter shows up in October or November, and the seller stares at it wondering why the IRS thinks they had $400,000 in Klarna revenue when QuickBooks shows $370,000. The answer is fees and refunds processed gross on the 1099-K versus net on the books.
Use the clearing account method, and your reported gross sales will match the 1099-K. No notice.
Net versus gross presentation
There’s a separate accounting question of whether to present BNPL revenue gross or net under ASC 606. The technical answer is gross if you’re the principal in the transaction, which most ecommerce sellers are. You control the goods, you bear the inventory risk, you set the price. BNPL is just the financing channel.
That means top-line revenue should reflect gross sales price, with BNPL fees as a separate line. Some sellers net the fees into a contra-revenue account to make their take rate look cleaner. That’s defensible if it’s consistent and disclosed, but it does compress your reported revenue. If you’re showing financials to a buyer or lender, gross presentation almost always reads better.
The 30-minute review
If you take BNPL and aren’t sure whether your books are right, here’s a quick check.
Pull your last three monthly settlement reports from each BNPL provider. Sum the gross sales reported, fees deducted, refunds processed, and net settled. Compare those four totals to your books for the same period.
If gross sales match revenue, fees match BNPL Fees, and refunds match the refund/contra-revenue account, you’re clean.
If any line is off by more than a percent or two, dig in. The variance is almost always one of three things: refunds not posted, fees rolled into revenue, or rolling reserves misclassified.
Fix it now while the volume is reasonable. The same problem in November after a Q4 spike turns into a multi-day cleanup.




