Your dashboard says you sold $12,400 through Afterpay and Klarna last month. Your bank shows a few lumpy deposits totaling far less, a fee you never see itemized anywhere, and a refund deducted from a payout three weeks after the return shipped. Now your accountant asks the question that stops most sellers cold: of that $12,400, how much is actually revenue under ASC 606 — and how much is an estimate that could reverse?
If you book the bank deposit as sales, the answer is wrong in three directions at once. You understate revenue by the fees netted at the source, you overstate it by ignoring expected refunds, and you misstate its timing by recognizing sales when cash settles instead of when you transfer the goods. This guide walks through the ASC 606 analysis the way it applies to a small seller taking buy-now-pay-later at checkout: principal versus agent, variable consideration, the significant financing component, and split performance obligations — plus the clearing-account mechanics that make the books match the theory.
Why BNPL Does Not Reconcile Like a Card Payment
A card deposit is simple: the processor pays you net of fees on a daily or weekly cadence, you book gross sales and the fee, and you reconcile. BNPL is structurally different in three ways that each map to an ASC 606 step.
First, settlement is delayed and lumpy. Afterpay typically settles next business day on most plans but with deductions for refunds; Klarna commonly pays weekly or bi-weekly. The cash you see on Tuesday pays for sales from days or weeks earlier, so cash timing tells you nothing about when revenue was earned.
Second, fees are deducted at the source and never appear as their own transaction. Afterpay runs roughly 4 to 6 percent plus 30 cents per order; Klarna's blended take rate runs about 3.29 to 5.99 percent plus 30 cents depending on plan and volume. The fee is simply missing from the deposit.
Third, refunds come out of future settlements rather than arriving as separate credits. When a customer returns a $200 Klarna order, the next payout is reduced by $200 — sometimes net of the fee, sometimes not, depending on the plan. On your bank statement it just looks like a smaller deposit.
BNPL volume crossed $50 billion in the United States in 2025 and keeps growing; for many mid-market sellers it is already the second or third largest payment method. At that scale, booking deposits as revenue does not produce a rounding error. It produces financial statements a lender or buyer cannot trust.
Step 1: Principal or Agent? Why Most Sellers Report Gross
ASC 606's first question about any transaction is whether you are the principal — the party that controls the goods before they transfer to the customer — or an agent arranging the sale for someone else. Principals report revenue gross; agents report only their commission or fee as revenue.
Most ecommerce sellers taking BNPL are clearly principals. You control the inventory, you set the price, you bear the risk if the product is damaged or never ships, and you handle the return. The BNPL provider is a financing channel, not the seller: it pays you for the order and collects installments from the shopper under a separate agreement you are not a party to.
That conclusion drives the whole presentation:
- Top-line revenue reflects the gross sales price, the full amount the customer agreed to pay.
- BNPL fees are a separate expense line — cost of revenue or an operating expense, depending on your policy — never a reduction of revenue.
- Netting fees into a contra-revenue account compresses reported revenue and makes your take rate look cleaner than it is. It is defensible only if applied consistently and disclosed, and gross presentation almost always reads better to a buyer or lender.
If you currently book the net deposit as sales, this single correction — gross up revenue and break out the fee — is the highest-value fix in this guide. It is also what makes your books tie to the 1099-K discussed below.
Step 2: Your Expected Refunds Are Variable Consideration
Here is the step most small sellers have never heard of. Under ASC 606, any amount in the transaction price that can change — discounts, rebates, credits, and refunds — is variable consideration. You must estimate it at the time of sale and include it in revenue only to the extent it is probable that no significant reversal will occur when the uncertainty resolves. That last clause is the constraint, and it is deliberately conservative.
For a BNPL seller, the uncertainty is returns and chargebacks. When you ship a $200 Afterpay order, the transaction price is not automatically $200. If your historical return rate on that product line is 8 percent, the amount you expect to keep is closer to $184, and ASC 606 wants the books to say so from day one — not weeks later when Klarna deducts the refund from a settlement.
The two estimation methods
ASC 606 permits two methods. Pick the one that better predicts what you will keep, and apply it consistently:
- Expected value: the probability-weighted average across outcomes. Best when you have many similar orders — the normal case for an online store. With hundreds of BNPL orders a month and a stable 8 percent return rate, expected value is the natural choice.
- Most likely amount: the single most likely outcome. Better for binary, all-or-nothing situations, such as one large custom order that will either be accepted or returned in full.
Most sellers should use expected value at the product-line level, updated from actual return history.
What the entries look like
At shipment, you recognize revenue net of expected refunds and record the difference as a refund liability, plus an asset for the inventory you expect to get back:
- Debit your Afterpay or Klarna clearing account for the $200 gross receivable.
- Credit revenue for $184, the amount you expect to keep.
- Credit a refund liability for $16.
- Debit an asset for recovery ($16 less your margin on the goods) and credit cost of goods sold for the same.
When the return window closes or actual returns post, you true up the liability against actuals. The practical routine is a monthly one: compare the recorded liability to actual refunds processed, adjust the rate if it drifted, and disclose the method. Sellers with return rates under a percent or two can often support recognizing the full amount with a documented materiality conclusion — but document it, because "we never have returns" is exactly the assertion an auditor will test.
Step 3: The Financing Component Most Sellers Miss (and Can Usually Ignore)
This is the ASC 606 question BNPL seems designed to trigger: the customer pays over time, so is there a significant financing component, with part of the price really being interest? The answer matters because a significant financing component must be separated from revenue and recognized as interest income over the financing period.
For the typical seller, the analysis ends quickly, in two layers.
Layer one: the financing is not your contract. The installment loan exists between the BNPL provider and the shopper. Your contract is with the provider's settlement system: you transfer goods to the customer and the provider pays you in full within days or weeks. You are not providing financing to anyone, and no interest adjustment belongs on your books. The provider may have financing-component accounting of its own; that is its problem, not yours.
Layer two: the one-year practical expedient. ASC 606 provides that you need not adjust for a significant financing component when the period between transferring goods and receiving payment is expected to be one year or less at contract inception. BNPL settlement lands in days or weeks, so even a seller-offered short-term payment plan falls inside the expedient.
When can you not ignore it? If you offer your own installment terms directly to customers — house accounts, in-house layaway-style plans, or progress billing where payment stretches beyond a year from delivery — the expedient falls away and you must evaluate whether the financing is significant. That is rare for small BNPL sellers, but if you invoice large custom orders on 18-month terms alongside your Afterpay checkout, the two populations need different accounting. Do not let the BNPL analysis bleed into the house-account population or vice versa.
Step 4: Split Performance — When One BNPL Order Is Two Obligations
ASC 606 requires you to identify each distinct performance obligation in a contract and allocate the transaction price across them by standalone selling price. Most BNPL orders contain exactly one obligation — the product — and this step takes ten seconds. Three common add-ons make it two:
- Extended warranties and service plans. A two-year protection plan sold with the product is a separate obligation satisfied over time. Allocate part of the $200 to the plan and recognize it across the coverage period, not at shipment.
- Gift cards and store credit bundled with goods. The card is an obligation satisfied on redemption, recorded as a contract liability until the customer spends it.
- Nonrefundable upfront fees with ongoing service. Setup or onboarding fees tied to a subscription are generally allocated across the service period rather than recognized immediately.
The BNPL wrapper changes nothing about this allocation — the provider still settles the full $200 gross — but it makes the error harder to spot, because the deposit arrives as one net number with no line-item detail. If you sell bundles through Afterpay or Klarna, reconcile obligations from the order data in your store platform, never from the settlement report.
Putting It on the Books: One Clearing Account per Provider
The theory above needs bookkeeping mechanics that keep gross sales, fees, refunds, and cash apart. The standard fix is a clearing account per BNPL provider — a current-asset account that behaves like a mini bank account for each rail:
- At shipment, debit the provider clearing account and credit revenue for the gross amount (net of the refund-liability estimate from Step 2).
- At settlement, transfer the net deposit from the clearing account to operating cash, and book the difference as BNPL fee expense.
- At refund, reverse the original sale against the refund liability and reduce the clearing balance; when the provider deducts it from a later payout, the transfer is smaller and the account self-corrects.
- At month-end, reconcile each clearing account. Its balance should equal unsettled sales sitting in the provider's pipeline plus any rolling reserve the provider holds back — Affirm and some Klarna plans hold 5 to 10 percent for three to six months, which deserves its own sub-account so the available balance stays meaningful.
Set this up once in your accounting software as one current-asset account per provider plus a BNPL fee expense account, and the monthly close becomes a tie-out instead of an excavation. If you keep your books in plain text, the same structure maps directly onto a clearing account per provider with monthly balance assertions; the reconciliation logic is identical whatever the tool. The Beancount documentation covers balance assertions and account structure if you want to automate the month-end check.
The 1099-K Tie-Out: Where Gross Presentation Pays Off
BNPL providers issue Forms 1099-K reporting gross processing volume, not net settlements. Under the restored federal threshold, third-party settlement organizations file when a payee exceeds $20,000 and 200 transactions. If your books capture only net deposits, your reported revenue will fall short of the 1099-K by exactly the fees and grossed-up refunds — the classic trigger for an IRS underreporter notice months later.
The clearing-account method prevents this structurally: gross sales in the clearing account equal gross volume on the 1099-K, fees sit in their own expense line, and refunds flow through the liability account. Add one annual step to the close: sum each provider's gross from your books and compare it to the 1099-K before you file. A variance over a percent or two almost always traces to one of three causes — refunds never posted, fees rolled into revenue, or rolling reserves misclassified — and each takes minutes to fix in January versus days the following October.
Common Mistakes Checklist
Before you close the month, verify each of these:
- Revenue is booked gross at shipment, not net at settlement.
- BNPL fees appear as their own expense, not buried in a smaller revenue number.
- A refund liability reflects expected returns under the variable-consideration constraint, trued up monthly.
- No financing-component adjustment unless you offer your own terms beyond one year.
- Bundled warranties, gift cards, and upfront fees are allocated to separate obligations.
- Each provider has its own clearing account, reconciled monthly, with reserves in a sub-account.
- Annual gross per provider ties to the 1099-K within a percent or two.
Simplify Your Financial Management
Getting BNPL revenue right under ASC 606 comes down to structure: gross sales recorded when earned, fees and refunds in their own lanes, and clearing accounts that prove the tie-out every month. 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.





