The first question: are you the principal or the agent?
Everything downstream depends on this. You are the PRINCIPAL if you set the selling price, bear the inventory risk (a lost or damaged shipment is your problem), handle returns, and appear to the customer as the seller. Principals record the gross sale as revenue and the supplier’s price as cost of goods sold — the whole $25 and the whole $13.50. You are an AGENT if you merely connect a customer with a supplier who owns the price, the risk, and the customer relationship; agents record only their commission as revenue, never the gross sale.
Almost every Shopify, Amazon, or own-site drop shipper is a principal, and the rest of this guide assumes it. The distinction matters because the two treatments produce wildly different revenue lines from identical cash: a principal doing $300,000 of sales shows $300,000 revenue; an agent earning 20% shows $60,000. Lenders, tax authorities, and buyers of the business all read those numbers differently, so decide once, write the reasoning down, and apply it consistently.
Four events, two journal entries.
A drop-ship sale is four events: the customer orders and pays you; you order from the supplier; the supplier ships direct to the customer; the customer receives the goods. Only two of those events create journal entries, and neither is the shipment. When the customer pays: debit Cash, credit Deferred Revenue — you hold their money, you have not earned it. When you order from the supplier: debit Inventory In Transit, credit Accounts Payable — you own goods you will never touch, and you owe for them.
When control passes to the customer, both halves resolve at once: debit Deferred Revenue and credit Sales for the full price; debit Cost of Goods Sold and credit Inventory In Transit for the supplier cost. Until that moment your books carry an asset (in-transit stock) and a liability (deferred revenue) of similar size, and your revenue is exactly zero — which is correct, however much cash sits in the bank.
Worked example: one $25 phone case, start to finish.
A seller lists a phone case at $25.00 and drop-ships it from a supplier at $10.00 plus $3.50 shipping — a $13.50 cost. October 1: the customer pays. Debit Cash 25.00, credit Deferred Revenue 25.00. Same day the seller orders: debit Inventory In Transit 13.50, credit Accounts Payable 13.50. October 5 the supplier ships; October 25 the customer receives.
On the recognition date the two halves close together: debit Deferred Revenue 25.00, credit Sales 25.00; debit Cost of Goods Sold 13.50, credit Inventory In Transit 13.50. Gross profit: $11.50. If the month ended on October 20 with the case still in transit, the October books would show no revenue and no COGS for it — just $25 of deferred revenue and $13.50 of in-transit stock, both waiting. Multiply by a thousand orders and this is the difference between a month that is real and a month that is flattered.
Shipment or delivery: which date counts?
Revenue and COGS are recognised when control of the goods passes to the customer. When that is depends on your sales terms and, on marketplaces, the platform’s rules. Many direct-to-consumer setups treat supplier shipment as the transfer point — the goods are dispatched to the customer’s address under the customer’s order, and the seller’s obligation is met. Others, especially with long international transit and buyer-protection terms, use delivery. Both are defensible; switching between them is not.
Pick the cut-off that matches your terms, write it in your accounting policy, and apply it to every order. The practical difference is small for a fast domestic supplier and large for a three-week route from an overseas warehouse — exactly the case where month-end sits inside the transit window. Consistency is what an auditor, a lender, or a buyer checks; the specific choice is secondary.
The timing gap: when the supplier’s invoice arrives late.
The quiet killer of drop-ship margins is not the accounting rule but the calendar. The customer pays today; the supplier’s invoice or statement lands in two weeks, sometimes after month-end. Book COGS only when the invoice arrives and October shows a sale with no cost — a fake margin — while November carries a cost with no sale. The fix is to accrue the cost at order time at the supplier’s quoted price, using the in-transit and payable entries above, and true up when the invoice lands.
When the invoice differs from the quote — a $0.40 shipping surcharge, a currency movement — post the difference to COGS in the month you learn of it and move on. What you must not do is wait: a sale and its cost belong in the same period, and an accrual at the quoted price is far more accurate than a real invoice in the wrong month.
Marketplace fees, gateways, and settlement reconciliation.
Platform commissions, payment-gateway fees, and advertising are operating expenses, not cost of goods sold. Keep them out of COGS so gross margin stays a clean product number, then show them beneath it as the cost of the channel. On the $25 case: 10% platform commission $2.50, gateway 2% $0.50, allocated ad spend $1.50 — $4.50 of channel cost. Gross profit $11.50, contribution after channel costs $7.00.
Marketplaces pay you net: a settlement of $2,180 might represent $2,500 of sales less $320 of fees and refunds. Never book the settlement as revenue. Reconcile each payout to its statement — gross sales, fees, refunds, reserves — and post each line to its own account. A seller who books payouts as sales understates revenue, hides fees, and cannot explain the gap when the tax authority compares platform reports with the books.
Returns, refunds, and chargebacks — three different entries.
Returned to you: reverse the sale (debit Sales Returns, credit Cash or Refund Payable) and take the goods into stock at cost (debit Inventory, credit COGS) — you now hold inventory you never planned to, until you resell, return it to the supplier, or write it off. Returned to the supplier under an RMA: the same revenue reversal, and the supplier’s credit clears the cost side (debit Accounts Payable or Supplier Refund Receivable, credit COGS or In Transit).
Refunded with no return — a chargeback, a lost parcel the customer is refunded for, a goodwill refund: reverse the revenue and its sales tax, but the product cost was genuinely incurred and stays. Move it from COGS to a Refund Loss or Returns Expense line so gross margin is not distorted by write-offs and the leakage is visible on its own. Document the dispute; it is the audit trail for the loss.
Sales tax, VAT, and GST when you never touch the goods.
Not holding stock does not remove the tax. As the principal, your sale to the customer is a taxable supply in the customer’s jurisdiction if you are registered or required to register there — and drop shipping can create obligations in places your business has never been, because the goods arrive there under your sale. Many marketplaces now collect and remit on your behalf under facilitator rules; own-site sales are entirely yours to handle.
Two disciplines keep it clean: record output tax on every sale at the customer’s rate and claim input tax on the supplier purchase where the rules allow, and keep the supplier’s ship-to evidence per order — it is what proves where each sale was delivered when a registration threshold or an audit question arises.
Month-end close checklist for drop shippers.
Run these before you trust a monthly margin.
- Every paid-but-not-delivered order sits in Deferred Revenue, not Sales
- Every ordered-but-not-delivered supplier order sits in Inventory In Transit — and the balance is explainable order by order
- COGS accrued at quoted cost for every order recognised this month, invoices trued up
- Each marketplace payout reconciled to its statement: gross, fees, refunds, reserves
- Refunds split: returned-to-you (stock), returned-to-supplier (credit), no-return (loss line)
- Output tax booked at the customer’s rate; ship-to evidence retained per order
- Gross margin by SKU reviewed — a SKU under 30% after channel costs is usually not worth listing
How Nonari handles drop shipping. (Full disclosure: ours.)
Nonari is the product we build. A sales order can be flagged drop-ship and linked to the supplier purchase order; the system creates the in-transit record on supplier order, holds the customer’s payment as deferred revenue, and posts both the sale and COGS when the order is confirmed shipped or delivered — the cut-off is a setting, applied consistently. Multi-supplier orders split across purchase orders, returns follow an RMA that distinguishes return-to-warehouse from return-to-supplier, and channel fees allocate per order so contribution margin shows per SKU and per channel.
It runs on a real double-entry ledger with the AI bookkeeper drafting the supplier bills from forwarded invoices, from $29 a month for a single location with unlimited users and a 15-day free trial — long enough to run one full order cycle and see the entries post themselves.