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 four reports

Ending inventory. Reports → Ending inventory. Total inventory value as of a given date, broken out by SKU and location. 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. Includes sales-driven COGS (matched to the cost layer FIFO/WAC/LIFO consumed) plus inventory adjustments (cycle counts, write-offs). One number per category for the bookkeeper to journal.

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, the freight allocation, and the total landed cost. Reconciles the supplier invoices that hit your bank account.

Drift report (Shopify reconciliation)

Reports → Shopify drift compares your in-app on-hand to the inventory Shopify thinks you have. Drift > 0 means your shop oversells what's actually on the shelf. Drift < 0 means your shop is hiding stock that exists. Drift settles to zero on the next push or sync.

Use this weekly during high season — easier to fix a 2-unit drift than a 200-unit one.

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 four 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 drift report is usually the fastest way to find it.