If you manage purchasing and inventory in our free Stockroom app, MyWorks can sync an accurate Cost of Goods Sold total into QuickBooks Online for you - calculated by Stockroom from your actual purchase orders and received costs, not an estimate.
Once enabled, MyWorks posts a journal entry to QuickBooks for each day (or month) of finalized COGS:
Debits your Cost of Goods Sold account
Credits your Inventory Asset account
Attaches a CSV to each journal entry with the product-level breakdown (SKU, units, and cost per location and sales channel) - so you or your accountant can always see exactly what's behind the number
This feature is available on our Soar plan.
Do I need this?
It depends on how you track costs in QuickBooks:
If you track your products as inventory items in QuickBooks, and enter your purchases there too (bills/POs entered directly, or synced in from Stockroom) - you don't need this feature. QuickBooks itself correctly records COGS as MyWorks syncs each sale in. See Tracking COGS when syncing individual orders to QuickBooks Online.
If you don't track inventory items or purchase costs in QuickBooks, and you use Stockroom for purchasing - this feature is for you. Stockroom knows your real purchase costs, and MyWorks brings the resulting COGS into QuickBooks accurately.
Only use one COGS method at a time - enabling this alongside our simpler Daily COGS Journal Entry setting (or Daily Summary COGS) would record COGS twice. While COGS (Stockroom) is enabled, MyWorks automatically pauses the simpler daily COGS journal entry.
Setup
In MyWorks Sync > Settings > Automatic Sync, enable COGS (Stockroom).
In MyWorks Sync > Settings > Inventory & COGS, under Cost of Goods Sold (Stockroom):
Choose your QuickBooks COGS Account and Inventory Asset Account (both required before anything posts).
Choose a Sync cadence: Daily posts one journal entry per day, once that day's costs are final (about 7 days later). Monthly posts one entry dated the last day of each month, once the whole month is final.
Save - that's it. Syncing begins from the day you enable it.
What posts, and when
Daily/monthly entries post automatically once Stockroom finalizes them. Days finalize about 7 days after they occur, so costs from returns and late cost updates are already settled by the time an entry posts.
Corrections: if a cost changes after a period has already posted (for example, a backdated purchase order), Stockroom issues a small adjusting entry, and MyWorks posts it as its own journal entry - your originally posted numbers are never edited.
Closed books are respected: MyWorks shares your QuickBooks book-closing date with Stockroom, so corrections never try to post into a closed period - they roll forward to the first open day.
Each journal entry's number is STK-COGS-{id} and its description identifies the Stockroom entry, date, and costing method. Please don't renumber these in QuickBooks - the number is how MyWorks prevents duplicates.
Syncing starts from the day you enable the feature. If you'd like historical COGS in QuickBooks for periods before that, your accountant can record it as a single catch-up journal entry.
Splitting journal entries by channel or location
Optionally, each journal entry can be broken into lines per sales channel or per location, so COGS lands in your per-class or per-account reporting right alongside your sales:
In the Cost of Goods Sold (Stockroom) section, set Split journal entry lines by to Sales channel or Location.
For each channel/location, optionally choose a QuickBooks Class and/or override the COGS / Inventory Asset accounts for that line. Anything left blank uses your defaults.
Lines always add up exactly to the period's total. Corrections always post as a single line.
If an entry doesn't post
In a couple of situations, MyWorks will intentionally hold an entry rather than post an inaccurate number, and the reason is shown in Stockroom's sync status:
Items with no cost at all in Stockroom: if any items sold in a period have no cost information whatsoever, posting would understate your COGS - so the entry is held. Add costs for those items in Stockroom, and the corrected total posts automatically.
Currency mismatch: entries post only in your QuickBooks home currency.
Where only some cost detail is estimated (Stockroom costs it from the nearest known purchase), the entry still posts, and the estimate is disclosed in the journal entry's description and attached CSV.
Good to know
The first time an entry posts, Stockroom locks in your costing method (e.g. FIFO) for consistency of your books going forward.
Sync activity is logged in MyWorks Sync > Logs.
Turning the setting off pauses syncing; nothing already posted is changed.



