top of page
Search

Shopify BNPL Recs That Finally Tie

If your Shopify payouts never match your sales, your BNPL providers keep skimming mystery amounts, and your COGS looks like it was calculated by a raccoon, you are in the right place. Klarna, Afterpay, Affirm, and Shop Pay Installments are great for conversions, yet they make your books twitchy.


The fix is not a heroic spreadsheet session at 10 p.m. The fix is a smart clearing-account setup with a tight workflow that records each moving part exactly once and ties it all to the bank. By the end, you will know how to post BNPL sales, fees, refunds, chargebacks, and deposits in a way that actually ties in QuickBooks Online or Xero, with clean COGS to match.


Why BNPL Makes Shopify Hard To Tie


BNPL stands for buy now, pay later. Your customer pays in installments through a provider like Klarna, Afterpay, or Affirm. You get paid most of the order quickly, usually in 1 to 3 business days, minus fees. Fees can range widely by provider and plan, often in the 2 percent to 8 percent zone plus sometimes a per-transaction amount. Sounds fine until you try to tie it all out. Here is why this gets messy.


- Timing differences. Shopify books the order today, but the BNPL deposit hits your bank a few days later, net of fees and sometimes net of refunds issued in the meantime.

- Fees everywhere. Shopify may charge its own fee, the BNPL provider charges theirs, and some fees are not refunded when an order is returned.

- Partial refunds and returns. A customer returns one item out of three. Sales, tax, fees, and COGS need to be unwound proportionately.

- Chargebacks and disputes. Funds are pulled back and a dispute fee may be added. If you win, funds come back later.

- Multiple payment flows. Shop Pay Installments may run through Shopify Payments. Klarna, Afterpay, and Affirm often have separate merchant dashboards and payout schedules.


If you try to book each bank deposit as revenue, your P&L will lie to you. If you try to match deposits to individual orders, you will lose a weekend. The answer is a clearing account per BNPL provider and a repeatable settlement workflow.


What Are Clearing Accounts, and Why Use Them?


A clearing account is a temporary holding pen. Think of it as the parking lot between Shopify and your bank. When a sale happens, you record what is owed to you by the BNPL provider into that provider’s clearing account. When the provider pays you, you clear it out to your bank and book the fees and any adjustments.


Why it works:

- You stop forcing bank deposits to explain your revenue. P&L shows gross sales and fees, not just net deposits.

- You can reconcile timing. Clearing accounts absorb the delay between order date and payout date.

- You isolate providers. One provider per clearing account means you can spot issues fast. Providers that hold reserves or consolidate adjustments will show a nonzero balance that you can actually explain.


How many clearing accounts do you need? At minimum, one asset clearing account per BNPL provider. High volume stores sometimes go further with sub-accounts for sales vs fees, but one per provider is the workhorse. What you do not want is a single catch-all clearing account for everything. That turns into a bookkeeping lava pit that never clears.


Chart Of Accounts Setup


If you use A2X or a similar connector, map BNPL Other Gateways to the correct clearing account. Shop Pay Installments that settle through Shopify Payments should point to your Shopify Payments clearing or the A2X Shopify Payments clearing. The short version: each settlement flow needs its own parking lot.


Recording Transactions Step by Step


Let us cover the three recurring events: the sale, the payout, and the fixes when reality disagrees with your plan.


1) When a sale via BNPL happens

- Debit the BNPL clearing account for the gross amount the provider will ultimately settle. That is product sales plus sales tax and shipping income, minus discounts.

- Credit your sales, sales tax payable, and shipping income accordingly.

- Record COGS when the order is fulfilled or shipped. Debit COGS and credit Inventory.


This keeps your revenue and margins correct on the order date and starts a receivable-like balance in the BNPL clearing account.


2) When the BNPL provider pays you

You will see a net deposit in the bank: gross sales from that payout minus provider fees, minus any refunds or chargebacks they withheld. Post the payout against the clearing account and record the fees.


- Debit Checking for the net deposit amount.

- Debit BNPL Fees for the provider fees withheld in the payout.

- Credit the BNPL clearing account for the gross sales included in that payout.

- Debit the BNPL clearing account for refunds or chargebacks the provider withheld in that payout, if you already recorded those refunds when they occurred.


That fourth line is the trick everyone misses. If you already recorded refunds when the customer returned an item, your clearing account was credited at that time. When the provider later withholds the cash from a payout, you need to debit the clearing account to offset that earlier credit. Your bank stays simple: just the net deposit. Your clearing account shows the true flow: sales in, refunds out, fees expensed, then cleared to bank.


3) Refunds and partial returns

Record refunds when you authorize them, not when the provider nets them against a future payout. That keeps your P&L honest, and it triggers the clearing movement that will reconcile later.


- Debit Sales Returns and Allowances for the product amount refunded.

- Debit Sales Tax Payable for the refunded tax that you will not remit.

- Credit the BNPL clearing account for the total cash going back to the customer.


Refund fees are usually not returned to you. Some providers also charge an extra refund fee.


- Debit BNPL Fees for refund-related fees or nonrefunded processing fees.

- Credit the BNPL clearing account for those amounts if they are withheld from future payouts. If the provider directly withdraws the fee from your bank instead, credit Checking instead of the clearing account.


If inventory is returned and resalable, reverse COGS for the portion tied to what came back.


- Debit Inventory for the cost of the returned item.

- Credit COGS for that same cost.


4) Chargebacks and disputes

When a chargeback hits, the provider will pull funds and often levy a dispute fee. Do not wait.


- Debit Sales Returns for the disputed product amount.

- Debit Sales Tax Payable for the tax associated with that sale.

- Debit Chargeback Expense for the dispute fee.

- Credit the BNPL clearing account for the total that will be withheld.


If you win, reverse those entries when the provider returns the funds and fee.


Net-of-fees or gross?

- Gross with clearing is best. It gives you proper revenue, proper fees, and a clearing account that explains timing.

- Net-of-fees can work only for very small sellers on cash basis with no inventory tracking. Even then, you will be refactoring it later. Save yourself the redo.


Reconciling And Month-End Close


Your month-end ritual should make a CFO nod. Here is a simple cycle that scales.


- Start with the BNPL provider’s payout reports. Each provider portal shows payouts that list gross sales, refunds, fees, chargebacks, and the net deposit. Shop Pay Installments payouts are usually inside the Shopify Payments report. Klarna, Afterpay, and Affirm have separate dashboards.

- In QBO or Xero, pull a detail report for each BNPL clearing account. You should see a rhythm: sales debits when orders were captured, credit lines when payouts cleared those sales, separate credits for refunds, then debits in payout entries that offset those earlier refund credits.

- Match bank deposits to the payout entries. You should be able to reconcile each bank deposit to a single payout entry line by line. If you are matching deposits to dozens of individual orders, redirect that energy toward better reporting.

- Investigate clearing balances that do not make sense. A balance near zero is normal if it represents sales between the last payout date and month-end, or a reserve the provider holds. A random leftover balance from 60 days ago means something was double-counted or missed.

- Check for orphan transactions created by incorrect gateway mapping. In Shopify, Other Payments and Manual Gateways can quietly park amounts that never hit a payout. Clean those up or map them to the right clearing account.


Set a rule: by month-end close, every clearing account should reduce to zero except for in-transit sales since the last payout and any known reserve. If your clearing account is turning into a storage unit for mysteries, stop and fix the workflow before moving on.


COGS And Inventory


Revenue is only half the story. Your gross margin needs the same discipline.


- When to record COGS. Accrual accounting wants COGS when you fulfill or ship the order, not when the BNPL provider pays you. If your system only posts COGS monthly, use a consistent method and do not mix timing approaches.

- How to calculate cost on refunds. When an item comes back and is restocked, reverse COGS using the same cost method you use for regular sales. If your average unit cost is 40 percent of selling price, a 30 dollar refund probably comes with a 12 dollar COGS reversal. If you track actual SKU costs, use the item’s specific cost.

- Tools to keep inventory synced. If you are not using a dedicated inventory app, lock a clean process in place: Shopify holds retail numbers, your accounting system holds summarized COGS and inventory. A2X can post monthly COGS using Shopify cost fields, or you can post one monthly COGS entry that ties to your inventory system report. Just be consistent.


Refunds and chargebacks affect COGS only if product actually returns to inventory in resalable condition. If it does not come back, there is no COGS reversal. If it comes back damaged and is scrapped, you can move it out of inventory to a write-off account instead of reversing COGS.


Common Mistakes To Avoid


- Letting a clearing account become a forever home. A clearing account that never clears is a red flag. Reconcile it monthly and explain any residual.

- Double counting fees. If your connector already books fees, do not also book them off the bank feed. Or vice versa. One source for fees, every time.

- Mapping BNPL to the wrong flow. Shop Pay Installments that settle through Shopify Payments should not be mapped to a separate BNPL clearing. Klarna, Afterpay, and Affirm typically need their own clearing accounts because they pay you directly.

- Booking net deposits as revenue. It is tempting. It will give you bad revenue, bad gross margin, and a tax return that does not match your 1099s or platform summaries.

- Ignoring partial refunds. Refunds are not just cash back. They affect sales, tax, and COGS. Set rules for proportionate tax and cost reversals.

- Letting disputes sit. Providers often require a response within 5 to 10 business days. Book the chargeback when it appears, then reverse if you win. Waiting distorts your month.

- Forgetting foreign currency. If a BNPL provider settles in a different currency, use a separate clearing account per currency and post realized FX when the deposit hits the bank.


Walk-Through Example That Ties


Let us run a complete scenario with Klarna. Adjust the names and fee percentages for Afterpay or Affirm and the flow is the same.


Assumptions:

- Sales tax rate is 8 percent.

- Klarna fees are 6 percent of the product price. Refund fees are not returned. There is also a 0.25 refund processing fee.

- COGS for the product is 40 percent of sales price.


Order A: 100 product, 8 tax, no shipping. Customer pays via Klarna.

At fulfillment:

- Debit Klarna Clearing 108

- Credit Shopify Product Sales 100

- Credit Sales Tax Payable 8

- Debit COGS 40

- Credit Inventory 40


Three days later, Klarna pays you for Order A, net of its fee.

Fee is 6 percent of 100, so 6. Deposit is 102.

- Debit Checking 102

- Debit Klarna Fees 6

- Credit Klarna Clearing 108


A week later the customer returns 30 of the product price from Order A and you approve a partial refund. Tax to refund is 2.40. Klarna does not return the original fee and also charges a 0.25 refund processing fee, both withheld from your next payout.

At refund authorization:

- Debit Sales Returns and Allowances 30

- Debit Sales Tax Payable 2.40

- Credit Klarna Clearing 32.40

Reverse related COGS if inventory is restocked. Proportionate COGS is 12.

- Debit Inventory 12

- Credit COGS 12

Record the refund processing fee:

- Debit Klarna Fees 0.25

- Credit Klarna Clearing 0.25


Now Klarna issues the next payout, which includes new orders totaling 200 product plus 16 tax, and it also withholds the 32.40 refund and 0.25 refund fee you recorded earlier. Klarna fees on the 200 product are 12. The deposit is 171.35, calculated as 216 gross less 12 fees less 32.40 refund less 0.25 fee.


You already recorded the revenue and tax for those new orders when they shipped, so now you clear them and reflect fees and the withheld refund.

- Debit Checking 171.35

- Debit Klarna Fees 12

- Credit Klarna Clearing 216

- Debit Klarna Clearing 32.65


Check the clearing math across the whole timeline:

- After Order A sale: Clearing balance is 108 debit.

- After first payout: Clearing back to zero.

- After partial refund and refund fee: Clearing is 32.65 credit.

- After second payout entry: Credit 216 and debit 32.65 to clearing. But you also had debits from those new orders when they shipped, which we did not list here one by one. Those earlier debits for 216 offset this 216 credit. The 32.65 debit offsets the earlier 32.40 and 0.25 credits. Net effect: clearing ends at zero for everything included in that payout.

- Remaining clearing balance at month-end should only be recent shipments not yet paid, or known reserves.


Add a chargeback for good measure. Say Order B was 60 product plus 4.80 tax, and you get a chargeback with a 15 fee. Record it when you receive notice.

- Debit Sales Returns and Allowances 60

- Debit Sales Tax Payable 4.80

- Debit Chargeback Expense 15

- Credit Klarna Clearing 79.80


When Klarna later withholds this from a payout, include a debit to Klarna Clearing for 79.80 in that payout entry, alongside the usual credit for the gross sales cleared and debits for fees. If you win the dispute later and Klarna returns 79.80 and the 15 fee, reverse the above and clear the bank deposit against the clearing.


What does your P&L show across this sequence?

- Revenue 100 from Order A, then minus 30 for the partial return, plus the revenue from new orders when they were fulfilled.

- Fees 6 on Order A, 12 on the new orders, and 0.25 for the refund processing fee, plus any chargeback fees. No double counting.

- COGS 40 on the first shipment, minus 12 for the restock, plus COGS on the new orders.

- Gross profit that makes sense to a lender and to your future self.


In your bank rec, each Klarna deposit ties to a single payout entry. No guessing, no twelve-part bank rules trying to infer refunds.


Tools, Reports, And Templates


You do not need 14 apps to make this work. You do need the right reports and a small toolkit.


- Shopify finance reports. Use the sales and tax summaries to sanity check revenue and liabilities by day and month. If Shop Pay Installments are used, confirm whether they settle through Shopify Payments or a separate flow.

- BNPL merchant dashboards. Klarna, Afterpay, and Affirm all offer payout summaries that list gross sales, refunds, fees, chargebacks, and the final deposit per payout. These are the golden source for building payout entries and clearing movements.

- A2X or a similar connector. Map Shopify Payments to a Shopify clearing account and map each BNPL Other Gateway to its own clearing account. Use the connector’s settlement journals to keep you on gross revenue and to book fees in the right period.

- QBO and Xero favorites. Save a Clearing Account Detail report for each BNPL provider with filters for the month and last month. Save a Bank Reconciliation Summary. Save a Sales by Product report to confirm returns and discounts behavior.

- A simple reconciliation checklist. Each month, confirm that:

- BNPL clearing accounts net to zero except recent shipments or reserves.

- Fees in the P&L match provider statements.

- Sales returns and COGS reversals are posted for refunds with restocks.

- Sales tax payable matches Shopify’s tax report after refunds.

- Any items older than 14 days in clearing have a note explaining timing or a task to fix mapping.

- A journal entry template. Keep a one-pager for payout entries that includes the four lines you need: bank, fees, clearing credit for sales, clearing debit for refunds or chargebacks withheld.


You can run this daily for high volume stores or weekly for moderate volume. Monthly is the bare minimum if you want your books to support tax prep, lending, or a buyer due diligence without turning your hair gray.


If you get stuck with a clearing balance that will not budge, nine times out of ten it is one of three culprits: a refund or chargeback booked twice, a payout entry that forgot to debit clearing for refunds withheld, or a gateway mapping that dumped activity into the wrong clearing account. Fix those, and the rest usually falls into place.

 
 
bottom of page