All docs

Reports & monthly close

Reports are the hand-off point between operations and accounting. Run them at month-end, send the totals to your bookkeeper, move on.

The reports

Ending inventory. Reports → Ending inventory. Total inventory value as of a given date, listed by SKU (with a period roll-forward: beginning + received − depleted − written-off ± adjustments = ending). The "as of" parameter is what makes this work for month-close: set it to the last day of the prior month and the report ignores movements after that date.

Monthly COGS. Reports → Monthly COGS. Cost of goods sold for a date range — the inventory value consumed by sales/depletion (SALE, box-scan BOX_DEPLETED, and bundle ASSEMBLY_OUT), matched to the FIFO/WAC/LIFO cost layer consumed. Listed per SKU. Write-offs and cycle-count adjustments are NOT in this number — they are shrinkage/corrections and are reported separately (see the Write-offs report and the Ending-inventory roll-forward's adjustment line). Book them as their own journal lines, not as COGS.

Write-offs. Reports → Write-offs. Every write-off in the period with reason code (OBSOLETE, DAMAGED, LOST, GIFTED, R_AND_D, SAMPLE, OTHER) and cost. Flag for the accountant — some categories (gifted, R&D, samples) get coded differently from damage/loss.

Purchases received. Reports → Purchases received. Every PO receipt in the period, the supplier, and the total landed cost (product cost + allocated inbound freight/duties). Reconciles the supplier invoices that hit your bank account.

ABC analysis. Reports → ABC analysis. Pareto ranking of products by revenue over 30/90/365 days (A = top 80% of revenue, B = next 15%, C = the tail). A merchandising tool for deciding where stockouts hurt most — not a QBO income source. Margin is shown only for lines with recorded COGS (dropship); in-house lines show "—" rather than a misleading 100%.

Demand forecast. Reports → Demand forecast. Per-item projected daily demand with days-of-supply and a reorder-by date. Sellable products forecast from sales; supplies (mailers, boxes) forecast from depletion. The reorder-by date accounts for stock already on order and uses each product's lead time learned from PO→receipt history.

Monthly close routine

A real recipe, in the order it works:

Day -1 (last business day of the month):

  • Import the final Shopify and Amazon sales CSVs for the month
  • Record any pending write-offs (damage, gifts, samples that happened in the month)

Day 1 (first business day of the new month): 1. Run a cycle count at every physical location. Approve variances on the count detail page; they create COUNT_ADJUSTMENT movements 2. Run Reports → Ending inventory with "as of" = last day of prior month. Save / export 3. Run Reports → Monthly COGS for the prior month's date range. Save / export 4. Run Reports → Write-offs for the period. Save / export 5. Run Reports → Purchases received for the period. Save / export 6. Email the reports to your bookkeeper

The bookkeeper books one monthly adjusting journal entry in their accounting software based on the totals. They don't need access to the app — just the numbers.

A sanity check

After closing, the relationship to remember is:

`` Opening inventory + Purchases received (landed cost) − Sales-driven COGS − Write-offs +/− Cycle-count adjustments = Ending inventory ``

If the math doesn't tie out, something's missing — typically an unrecorded write-off or a sale that never imported. The ending-inventory roll-forward shows each of these buckets side by side, so compare its lines against your COGS and write-off totals to find the gap.