How to get Shopify cost of goods sold into QuickBooks Online: the month-end journal entry
Many Shopify-to-QuickBooks setups post sales, fees and payouts, but not cost of goods sold, so the P&L shows sales with little or no cost against them. The fix is one journal entry a month between two accounts: Cost of Goods Sold and your inventory asset. If supplier bills go to the inventory asset, debit COGS and credit inventory by the month's COGS (Intuit's own method). If bills go straight to COGS, move closing minus opening inventory between the same two accounts. Either way you need three figures from the store: opening inventory, purchases and closing inventory at cost.
Why QuickBooks shows no COGS for your Shopify sales
- Sales arrive, cost does not. Sales connectors record what was sold and paid out; some, such as A2X, also post COGS, many do not. Cost of goods sold is booked only when QuickBooks relieves an inventory item, or when someone posts it.
- Inventory items need Plus or Advanced. Intuit:
Inventory features are available for QuickBooks Online Plus and Advanced.
(QuickBooks Help) On Simple Start or Essentials there is no inventory item to relieve. - Even on Plus, the sale may not touch the item. Merchants report that the QuickBooks Online app for Shopify records sales against a generic Shopify Sales Item, so stock in QuickBooks does not go down and COGS is not booked (Shopify Community, 2025; the same question again in August 2026).
- Shopify holds one cost per variant. Shopify's help: each variant has a single static Cost per item, and receiving stock does not change it (Shopify Help). A month's COGS needs the cost each unit carried when it sold, and the stock value on the last day.
Result: gross profit in QuickBooks equals sales, or inventory keeps every bill and never goes down. Both overstate profit and misstate the balance sheet.
Which entry: it depends on where supplier bills go
| Supplier bills are booked to | Month-end entry | Amount |
|---|---|---|
| Inventory asset (Intuit's manual method) | Debit Cost of Goods Sold, credit Inventory asset | The month's cost of goods sold |
| Cost of Goods Sold (purchases expensed) | Stock grew: debit Inventory asset, credit Cost of Goods Sold. Stock shrank: the reverse | Closing inventory − opening inventory |
| Inventory asset, and another app already posts COGS per sale or payout | One true-up between the same two accounts | Inventory asset balance on the last day − closing inventory at cost |
Intuit's own steps for the first row: create an Other current asset account for inventory and a Cost of Goods Sold account, book purchases to the asset, and when you sell, enter a Debit to your cost of goods sold account for the original cost
and a credit to the inventory asset (QuickBooks Help). Done once a month for the whole month, that is the entry above.
A worked example, both setups
One month for a store, all at cost:
| Figure | Amount |
|---|---|
| Opening inventory, 1 October | $18,400.00 |
| Purchases received in October | $9,250.00 |
| Cost of goods sold in October | $7,830.00 |
| Closing inventory, 31 October | $19,820.00 |
Check: 18,400.00 + 9,250.00 − 7,830.00 = 19,820.00. If the figures do not satisfy this equation, do not post: one of them is wrong.
| Setup | Entry | After the entry |
|---|---|---|
| Bills to inventory asset | Debit COGS 7,830.00 / credit Inventory 7,830.00 | Inventory 18,400.00 + 9,250.00 − 7,830.00 = 19,820.00; COGS 7,830.00 |
| Bills to COGS | Debit Inventory 1,420.00 / credit COGS 1,420.00 | COGS 9,250.00 − 1,420.00 = 7,830.00; Inventory 18,400.00 + 1,420.00 = 19,820.00 |
| Another app posted COGS; inventory account shows 20,105.40 | Debit COGS 285.40 / credit Inventory 285.40 | Inventory 20,105.40 − 285.40 = 19,820.00 |
Both main setups end in the same place: COGS 7,830.00 on the P&L, inventory 19,820.00 on the balance sheet. Only the entry differs.
Where the three figures come from
- Closing inventory at cost on the last day: units on hand × the cost each unit carries (weighted average or FIFO, the method your books use). See Shopify's inventory value report for what it counts.
- Purchases: what was received in the month at what you paid, with freight-in and duty if your books capitalise them (Is freight part of COGS?).
- Opening inventory: last month's closing figure, unchanged. If you change it, the earlier month changes too.
- Cost of goods sold: opening + purchases − closing, or the sum of each sale's cost. The two should agree. A gap means something changed stock or its value without a sale or a purchase (a count correction, a loss, a late freight bill) and needs its own line in your working papers.
The hard part is the cost. Shopify keeps one current Cost per item per variant, with no history, so last month's value cannot be read back from Shopify later. Record it on the last day, or use an app that keeps each price with its date. More in inventory valuation and COGS at month-end and how to calculate COGS.
The accountant's checklist before and after posting
- Know how bills are booked (asset or COGS). It decides the direction of the entry.
- Check nothing else posts COGS. If a connector or A2X already does, post only the true-up, never the full month again.
- Same currency. The store's figures and the QuickBooks company must be in the same currency, or convert first.
- Date it on the last day of the month, with a journal number and a memo that points to the month's statement.
- Tie out after posting: the inventory asset balance on the last day equals closing inventory at cost; COGS on the P&L equals the month's COGS.
- Keep the statement with opening, purchases, COGS and closing, so the entry can be traced next year.
How True COGS prepares and posts the entry
- Month-end close (paid plans, from $29 a month): opening inventory, purchases, revaluations, cost of goods sold and closing inventory for a whole month, recorded only when opening + purchases + revaluations − COGS equals closing to the cent. Each closed month gets a fingerprint and a statement your accountant can keep.
- One entry to QuickBooks Online, from the closed month, on your click: two lines between the two accounts you choose, in the direction of the setup you choose (bills to inventory, bills to COGS, or a true-up when another app posts COGS).
- Nothing else is written. No sales, invoices, customers, bills or purchases go to QuickBooks: your sales connector keeps doing its job.
- Dated the month's last day, journal number
TC-2026-10style, memo with the close's fingerprint. A month is posted once; a second click sends nothing. If the QuickBooks company keeps another currency, nothing is sent.
Related guides
Questions merchants ask
Why does my QuickBooks P&L show no cost of goods sold for Shopify sales?
Sales connectors record sales, fees and payouts. Cost of goods sold is booked only when QuickBooks relieves an inventory item or someone posts it. Inventory items exist only on QuickBooks Online Plus and Advanced, and merchants report that the QuickBooks Online app for Shopify records sales against a generic item, so COGS is not booked.
What journal entry records COGS from Shopify in QuickBooks?
If supplier bills go to an inventory asset account: debit Cost of Goods Sold and credit the inventory asset by the month's cost of goods sold. If bills go straight to Cost of Goods Sold: debit inventory and credit COGS by closing minus opening inventory (the reverse when stock shrank).
Do I need QuickBooks Online Plus to track Shopify COGS?
No. A monthly journal entry works on any QuickBooks Online plan: Intuit's manual method uses an Other current asset account for inventory and a Cost of Goods Sold account. Plus or Advanced is needed only for inventory items.
Can I post COGS per order instead of once a month?
Yes, but it means one entry per sale or per payout, and each needs the cost the units carried that day. A monthly entry gives the same month-end P&L and balance sheet with one entry to check.
What if A2X or another app already posts COGS?
Do not post the month's full COGS again. Compare the inventory asset balance on the last day with closing inventory at cost and post only the difference.
Try True COGS free. True COGS is an inventory costing app for Shopify by Nexus Logic Systems. It records the price you paid on every delivery (a received purchase order or a transfer), with its share of freight and duty on paid plans, keeps every price with its date, and writes your moving weighted average cost, or FIFO cost on a paid plan, to Shopify's Cost per item. It is free for up to 25 variants with a cost on record; paid plans start at $29 a month or $290 a year.
Install from the App StoreSources
- QuickBooks Help: Track inventory manually in QuickBooks Online
- QuickBooks Help: Set up and track your inventory (Plus and Advanced)
- Shopify Community: QuickBooks enters sales using a generic Shopify Sales Item
- Shopify Community: Shopify + QuickBooks best practices (COGS missing, August 2026)
- Shopify Help: Migrating from Stocky (static Cost per item)
- True COGS on the Shopify App Store