Reports Overview
Go to Reports in the left navigation to access all analytics and financial reports. Use the date range picker at the top to filter every report to a specific period.
Sales Velocity and Sales Margin count a sale as of order confirmation, not fulfillment — the same way Amazon Seller Central or ShipStation report sales. A confirmed order counts toward units sold and revenue even before it's been fulfilled or shipped through Iraca, so these reports stay accurate for tenants who haven't started fulfilling orders in Iraca yet. Draft, cancelled and awaiting approval orders are excluded.
A sale counts on the day the customer placed it. For an order imported from a marketplace or store, that's when the customer bought it there, not when it reached Iraca — so an order bought at 11:50 PM and imported a few minutes after midnight stays on the day it was bought, and an order Amazon held for a few days still lands on its purchase day. Days follow your business's time zone (Settings). Amazon's Seller Central uses Pacific time, so a handful of late-evening orders can fall on a different day there than in Iraca, and an order Amazon still shows as Pending won't appear in Iraca until Amazon releases it.
The dashboard's sales figures follow the same rules, so the dashboard and Reports agree for the same dates.
Use the Channel dropdown next to the date range to narrow the Sales Velocity and Sales Margin reports to a single sales channel — Manual, or any connected marketplace (Amazon, Shopify, WooCommerce, etc.). Leave it on All Channels to see everything combined.
Available reports
| Report | What it shows |
|---|---|
| Sales velocity | Units sold per product over the period |
| Sales by product | Units and revenue per product, with bundles optionally counted as the products inside them |
| Inventory valuation | Current stock on hand × unit cost per warehouse |
| Production efficiency | Planned vs. actual yield per production run |
| COGS & gross margin | Cost of goods sold and profit margin per product |
COGS & Gross Margin report
The COGS report has two sections.
Production COGS — shows the total cost of finished goods produced during the period. Each row is a product, with the number of production runs, total output quantity, total COGS, and average cost per unit. Cost is calculated as:
ingredient cost + labour cost per unit × output quantity + overhead cost per unit × output quantity
Sales margin — shows revenue, COGS, gross margin, and margin % for every product sold during the period, counting sales the same way Sales Velocity does (as of confirmation, not fulfillment). Note that COGS itself is only calculated when an order is fulfilled through Iraca's own order flow (or for POS sales) — so a confirmed-but-not-yet-fulfilled order's revenue can show up in Sales Velocity before its margin appears here.
Gross margin = Revenue − COGS
Margin % = Gross margin ÷ Revenue × 100
Revenue by Channel
The Sales Velocity report includes a Revenue by Channel breakdown showing units sold, revenue, and order count per sales channel for the selected period — useful for comparing Manual sales against each connected marketplace without switching the Channel filter back and forth. It respects the date range but not the Channel filter, so it always shows every channel side by side. Export it separately with Export by Channel.
Sales by Product
Sales by Product lists every product sold in the period with its units, revenue and number of orders, best seller first. It follows the same date range and Channel filter as Sales Velocity.
Turn on Count products inside bundles to see how many units of each product actually went out, including the ones packed in bundles. A bundle sold is replaced by its contents: four gift boxes of two teas each add eight teas. Each product then shows what was sold on its own, what went out in bundles, and the total units.
A few things to know:
- This view is units only. A bundle's price isn't divided among the products inside it, so revenue stays with the bundle as it was sold. The revenue total at the top is the same with the switch on or off; turn it off to see revenue per product.
- It uses each bundle's current contents. If you changed what's in a bundle, past sales of it are counted with what it contains today.
- A bundle with no components set up counts as itself.
Turn on Split by sales channel to give each channel in the period its own column, so you can see where each product sells. Each channel column shows the units sold there, with the revenue underneath; Total units and Total revenue sum them. With bundles counted as their contents, the channel columns show units only, and a bundle's contents count under the channel the bundle was sold on. The Channel filter at the top still applies: filter to one channel and you get one column.
Click any column heading to sort by it; click again to reverse. Channel columns sort by units.
Export CSV downloads whichever view you're looking at, in the order shown. A split export has separate units and revenue columns for each channel.
To see the ingredients behind those sales, and what to buy to cover the next period, see Ingredients Sold and What to Buy.
How COGS is calculated
For products made via recipes:
- Ingredient cost =
unit_cost × actual quantity consumedfor each ingredient - Labour and overhead are set on the recipe (per unit of output)
- The total is divided by the actual output quantity to get
cost per unit
For products sold directly (no recipe):
- COGS uses the product's
Unit Costfield at the time of the sale
For POS sales:
- Same as direct sales — uses the product's
Unit Costat the time of the transaction
Unit cost is captured at the moment of each stock movement, so changing a product's cost later does not alter historical COGS figures.
Why a product might show no COGS
- The product has no
Unit Costset and no completed production runs with cost data - The
COGS trackingfeature is not enabled on your plan - The order or POS sale falls outside the selected date range
Exporting reports
Owners and admins on the Canopy plan can export any report as a CSV using the Export CSV button. Each export includes the same rows and columns shown in the table.