Shopify dropshipping accounting is the process of recording sales, supplier costs, fees, and refunds for a Shopify store that does not hold inventory. The core challenge is timing — the customer pays Shopify today, but the supplier invoice from AliExpress, CJ Dropshipping, or Zendrop arrives days or weeks later, often in a foreign currency. Most guides miss this. We do not.

At Ottit we close books for more than 100 Shopify brands, and a meaningful share of them run dropshipping or hybrid dropship models. The reconciliation desk sees the same five problems every month. This guide walks through each one with the actual journal entries, the integration stack, and the places where the popular tools quietly break for dropshippers.

What Makes Shopify Dropshipping Accounting Different?

Shopify dropshipping accounting differs from standard e-commerce bookkeeping in one specific way: the cost of goods sold is incurred on a different timeline than the sale. A traditional store buys inventory, then sells it. A dropshipper sells first, then triggers the supplier to ship and invoice. That timing gap is where almost every accounting error originates.

The other differences cascade from that one fact. There is usually no inventory asset on the balance sheet. Supplier invoices arrive in CNY, EUR, or USD with no consistent format. Refunds get messy because the supplier may have already shipped. And the Shopify payout that lands in the bank reflects sales from days earlier, net of fees, chargebacks, and reserves.

DimensionTraditional Shopify StoreShopify Dropshipper
Inventory on balance sheetYes — tracked at costUsually none
When is COGS known?At purchase from supplierAt supplier invoice, often weeks after sale
Supplier invoice currencyUsually USDFrequently CNY, EUR, or mixed
Refund mechanicsGoods return to warehouseSupplier may have already shipped
Reconciliation tools that fitA2X, Link My Books, BookkeepBookkeep + custom supplier workflow

The Shopify payout reconciles cleanly with A2X or Bookkeep. The supplier side does not reconcile with anything out of the box. That is the actual job.

Takeaway: Before picking tools, accept that the bookkeeping problem is two-sided. The Shopify side has solved integrations. The supplier side is manual or rules-based, and the workflow has to be built deliberately.

How Do You Record COGS for a Dropshipping Order?

The standard approach is to accrue COGS at the moment of sale using an estimated supplier cost, then clear the accrual when the real invoice arrives. The debit hits Cost of Goods Sold. The credit hits a liability account called COGS Clearing or Accrued Supplier Cost. This keeps gross margin accurate inside the close month even when the supplier invoice is late.

Here is what that looks like in practice. A Shopify store sells a product for $49.99. The estimated supplier cost from CJ Dropshipping is $11.40, including shipping. The order ships on the 28th of the month. The CJ invoice will not arrive until the 12th of the following month.

At order ship date — accrue COGS
DRCost of Goods Sold$11.40
CRCOGS Clearing (Accrued Supplier Cost)$11.40
Estimated CJ cost for Shopify order #10042, accrued at ship date
When the CJ invoice arrives in the next month
DRCOGS Clearing (Accrued Supplier Cost)$11.40
DRCost of Goods Sold (Variance)$0.35
CRAccounts Payable — CJ Dropshipping$11.75
Actual CJ invoice $11.75 vs $11.40 accrual, $0.35 variance booked to COGS

The variance line catches the difference between the estimate and the real invoice. If the estimates are consistently off by more than 2%, the supplier cost mapping in the product catalog needs updating. We rebuild this estimate every quarter for the stores we close books for.

For deeper coverage of inventory-style journal entries, see our walkthrough on how to record inventory accounting journal entries for Shopify at /blog/how-to-record-inventory-accounting-journal-entries-shopify/.

Takeaway: Use a COGS Clearing liability account to bridge the timing gap. Accrue at ship date with an estimated cost, then true up when the supplier invoice lands. Margin reports stay accurate without waiting for AliExpress to send a bill.

How Do You Reconcile Shopify Payouts to Sales?

Shopify payouts are net deposits to the bank — they bundle gross sales, processing fees, refunds, chargebacks, and tips into one number. The reconciliation goal is to break that single deposit into its accounting components and post a clean journal entry per payout. Tools like A2X, Link My Books, and Bookkeep automate this step.

Per the Shopify Help Center guide to payouts, Shopify Payments processes payouts on a rolling schedule based on the store's country, with a built-in delay between order and payout. That delay is what creates the reconciliation work — the bank deposit on Tuesday represents Friday's sales, not Tuesday's.

A typical Shopify payout breakdown for a dropshipper
Gross sales$12,480.00
Sales tax collected$842.30
Shipping charged to customer$0.00
Refunds-$315.00
Chargebacks-$49.99
Shopify Payments fees (2.9% + 30¢)-$372.67
Net payout to bank$12,584.64

Each line in that breakdown maps to a different account. Gross sales goes to revenue. Sales tax goes to a sales tax liability. Refunds reverse revenue. Chargebacks usually go to a separate chargeback expense. Fees go to merchant processing fees. The tools differ on how cleanly they handle this for dropshipping specifically.

Where the Shopify payout tools fit

ToolStrengthWhere it breaks for dropshippers
BookkeepHandles Shopify payouts plus custom rules for supplier invoices and clearing accounts in one toolRequires setup of supplier rules; not plug-and-play
A2XClean per-payout journal into QBO or XeroDoes not pull supplier invoices; no COGS accrual workflow
Link My BooksStrong UK and EU VAT handlingSame supplier-side blind spot; no CNY invoice import
SynderReal-time per-transaction sync optionPer-transaction sync can bloat the GL for high-volume stores

For the Shopify stores Ottit closes books for, we use Bookkeep for revenue recognition and sales tax syncing because it handles both the Shopify payout side and lets us build rules for the supplier-side AP. For stores already running A2X, we layer a manual supplier AP process on top. Either path works — the tradeoff is consolidation versus best-of-breed.

For the technical setup of the QBO integration that sits underneath, see /blog/how-to-set-up-a-shopify-quickbooks-integration-2026/.

Takeaway: Reconcile by payout, not by order. Pick one tool to break the deposit into its component journal lines, and use either Bookkeep rules or a manual workflow for the supplier-side AP that the payout tools do not touch.

How Do You Handle Supplier Invoices in a Foreign Currency?

Supplier invoices from AliExpress, CJ, Zendrop, and most Chinese factories often arrive in CNY. The standard treatment is to enter the bill in CNY using the invoice-date exchange rate, then recognize FX gain or loss at payment date. QuickBooks Online and Xero both support multi-currency with this workflow built in.

Per the QuickBooks Online help center and the Xero Central help center, enabling multi-currency is a one-way switch — once on, it cannot be turned off. The accounting impact is that every foreign bill creates a small realized FX gain or loss when paid, and an unrealized FX adjustment at month end for any unpaid bills.

Here is a CNY invoice example. A CJ invoice arrives for ¥820 on the 12th. The exchange rate that day is 0.138 USD per CNY, so the bill posts as $113.16. The store pays through Wise on the 18th when the rate is 0.140, so the payment is $114.80.

Bill entry on the 12th
DRCOGS Clearing$113.16
CRAccounts Payable — CJ (CNY)$113.16
CJ invoice ¥820 at 0.138 USD/CNY
Payment on the 18th via Wise
DRAccounts Payable — CJ (CNY)$113.16
DRRealized FX Loss$1.64
CRWise USD Account$114.80
Settlement of ¥820 invoice, FX loss on rate movement

Stores that pay through Wise or Airwallex get the actual settlement rate from the platform, which we import directly instead of using a month-end mid-market rate. That single change cuts FX reconciliation time roughly in half for the CNY-heavy stores we work with.

Takeaway: Turn on multi-currency in QBO or Xero from day one if any suppliers invoice in CNY or EUR. Pay through a multi-currency account that exports actual settlement rates, and let the FX gain or loss flow through automatically rather than estimating.

How Do You Account for Dropshipping Refunds and Chargebacks?

Refunds are the most common place dropshipping books go wrong. The accounting treatment depends entirely on whether the supplier already shipped. If the supplier has not shipped, both revenue and COGS reverse cleanly. If the supplier has shipped, revenue reverses but COGS stays — the product cost is a real loss that needs its own expense line.

Take a $79.99 order that gets refunded. Sales tax of $5.40 was collected. The supplier cost was $18.20. Two scenarios:

Scenario 1 — Supplier has not shipped yet

Refund before supplier ships
DRRevenue$79.99
DRSales Tax Payable$5.40
CRShopify Payments Clearing$85.39
DRCOGS Clearing$18.20
CRCost of Goods Sold$18.20
Cancelled order #10081, supplier hold lifted before shipment

Scenario 2 — Supplier already shipped

Refund after supplier ships
DRRevenue$79.99
DRSales Tax Payable$5.40
CRShopify Payments Clearing$85.39
DRRefund Loss (Goods Already Shipped)$18.20
CRCost of Goods Sold$18.20
Refund on order #10082, CJ already shipped — product cost expensed to refund loss

The Refund Loss line is the one most bookkeepers miss. Without it, COGS gets understated and gross margin looks better than reality. We track this as a separate P&L line because it is a leading indicator of supplier quality and product-market fit. Stores running above 4% refund loss usually have a product or supplier problem, not a marketing problem.

Chargebacks follow the same logic with one addition — there is usually a chargeback fee from Shopify Payments of around $15 per dispute. That fee posts to a separate Chargeback Fees expense account. Per IRS Form 1099-K instructions for third-party payment networks, the 1099-K reports gross processing volume before refunds and chargebacks, which is why the GL has to track the gross-to-net carefully for year-end reconciliation.

Takeaway: Build a Refund Loss account separate from COGS and watch it as a KPI. A clean refund process exposes supplier quality issues — a sloppy one hides them inside gross margin.

What About Sales Tax and Nexus for Dropshipping?

Sales tax is covered exhaustively elsewhere, so this section sticks to what is specific to dropshippers. The short version: economic nexus rules apply the same way they do to any e-commerce business, typically triggered at $100,000 in sales or 200 transactions per state. The dropshipping twist is the resale certificate question with suppliers.

Per the Shopify Help Center tax documentation, Shopify Tax can automatically calculate sales tax based on shipping address and product taxability. That covers the collection side. The harder side is the supplier — if the supplier ships from a US warehouse and the store has not provided a valid resale certificate, the supplier may charge sales tax that the store cannot pass through to the customer.

This is purely a description of how the rules work. Each store's situation depends on its state footprint, supplier locations, and product types — those are conversations for the store's CPA, not for a blog post.

  • Track economic nexus by state — sales and transaction counts per state, refreshed monthly
  • Register in states where nexus is triggered before turning on collection
  • Provide resale certificates to US-based suppliers like Spocket or US-warehouse CJ to avoid being charged tax twice
  • Use Shopify Tax, Avalara, or Bookkeep for automated calculation and filing
  • Reconcile sales tax collected to sales tax remitted every month — a common audit miss

For the registration playbook see /blog/how-to-handle-sales-tax-registration-a-multi-state-playbook/, and for marketplace facilitator nuance see /blog/marketplace-facilitator-tax-the-shopify-reconciliation-guide/.

Takeaway: Treat sales tax as a one-time setup project, not a daily bookkeeping task. Get nexus tracked, registrations done, resale certificates filed, and automation turned on — then it stops being a monthly fire.

How Do You Build the Integration Stack for Dropshipping?

The integration stack for Shopify dropshipping accounting has three layers: the storefront and payouts (Shopify, Shop Pay), the supplier and AP layer (AliExpress, CJ, Zendrop, payments through Wise or Airwallex), and the GL (QuickBooks Online or Xero). The connectors in the middle decide whether the close takes two hours or two days.

Per the annual Shopify Commerce Trends report, Shopify continues to be the dominant DTC platform, which means the integration tooling around it is mature. The dropshipping-specific tooling is less mature — most accounting connectors were built for stores that hold inventory.

The stack we use for dropship-heavy clients

  1. GL — QuickBooks Online for most US stores under $5M, NetSuite for stores above that
  2. Shopify payout sync — Bookkeep for the stores we close books for, posting one journal per payout
  3. Multi-currency banking — Wise Business or Airwallex for paying CNY suppliers at real settlement rates
  4. Supplier AP — manual bill entry with a Bookkeep rule template, or BILL for stores with higher invoice volume
  5. Sales tax — Shopify Tax for calculation, Avalara or Bookkeep for filing
  6. Attribution and contribution margin — Triple Whale layered on top of the GL for daily contribution margin

For the contribution margin work that sits on top of this stack, see /blog/contribution-margin-for-shopify-brands-the-real-playbook/. For the AP automation piece, /blog/bill-bookkeeping-ap-automation-for-shopify-brands/ covers the BILL workflow we use.

No single tool handles Shopify dropshipping end to end. The job of the bookkeeper is to pick a connector for each layer and build the rules that bridge them.

Takeaway: Build the stack in layers, not all at once. Get the payout sync clean first, then the supplier AP, then sales tax, then attribution. Trying to launch everything in one month is how stores end up with three months of broken books.

Cash vs Accrual: Which Method Fits Dropshipping?

Accrual accounting fits dropshipping better than cash basis because it matches the supplier cost to the sale in the same period. Cash basis recognizes revenue when the Shopify payout hits the bank and supplier cost when the supplier is paid — those events can be three weeks apart, which distorts monthly margin badly.

Per the AICPA GAAP overview, GAAP requires accrual accounting for most businesses above the IRS small-business threshold. FASB ASC 606 (Revenue from Contracts with Customers) governs when revenue is recognized — generally at the point of shipment for physical product, which is also when COGS should be accrued.

Cash vs accrual on the same month for a dropshipper
Gross sales (Shopify, accrual)$184,200
COGS accrued at ship date (accrual)-$58,900
Accrual gross profit$125,300
Cash received from Shopify payouts$172,400
Cash paid to suppliers in month-$41,300
Cash basis gross profit (misleading)$131,100

The cash basis number looks higher because supplier payments lag the sales. The following month, the relationship reverses and cash basis margin crashes. Accrual smooths this out and shows the real economics. For the longer treatment of this tradeoff, see /blog/cash-vs-accrual-accounting-the-shopify-reality/.

Takeaway: Run accrual from day one if possible. If the store started on cash basis, plan the conversion before annual revenue crosses $1M — it gets exponentially harder after that.

Key Takeaways for Shopify Dropshipping Accounting

  • The core problem is timing — customer pays today, supplier invoices in two to three weeks, often in CNY
  • Solve it with a COGS Clearing liability account that accrues at ship date and clears when the supplier invoice posts
  • Reconcile by Shopify payout, not by order, using Bookkeep, A2X, or Link My Books for the payout side only
  • Build a separate supplier AP workflow — none of the payout tools touch the AliExpress or CJ side
  • Track Refund Loss as its own P&L line so supplier quality issues do not hide inside COGS
  • Use multi-currency in QBO or Xero with Wise or Airwallex for actual settlement rates on CNY bills
  • Run accrual basis from the start — cash basis distorts monthly margin in a way that hides problems

Sources