Pick the report type, email, cadence, and time. It lands in your inbox daily, weekly, or monthly — in your store's timezone. The CSV file matches exactly what you'd download manually.
For DTC teams where more than one person needs the same true profit figure, on the same day, without having to ask for it.
Starter+This week's net profit was $3,284. Revenue up 8% from last week. Shipping fees and payment processing were your largest cost drivers.
Same pipelines that power manual exports: store orders, ad platforms, carrier APIs, everything live when the report ships. No overnight batch, no stale data.
Revenue, COGS, shipping, fees, discounts, net profit, all margins
Order ID, date, revenue, net profit, POAS, all cost breakdown
SKU, units sold, gross profit, COGS %, margin tier color
Tax collected, refunded, net tax liability by jurisdiction
New vs returning, repeat rate, refund rate, LTV by cohort
Report type, email address, cadence (daily/weekly/monthly), day of week or month, and time in your store's timezone. Pause without deleting. Daylight saving handled automatically — 9:00 AM stays 9:00 AM all year.
After each send, next occurrence is recalculated. Month-length clamps work too — set it for the 31st and February gets the 28th.
Same CSV builder powers both paths: HTTP export and scheduled email. One pure function per report type, shared code, zero divergence. Byte-identical guaranteed.
Every 60 seconds a background job checks for schedules due. When the time arrives, it pulls live data, builds the CSV, and ships via email. If a send fails, error logs in isolation — other schedules keep running. Check Settings › Report Schedules for next-send times.
Time picker shows your store's IANA timezone. You pick 9:00 AM Asia/Singapore; report ships 9:00 AM Asia/Singapore, year-round. Daylight saving handled automatically. Form and Settings display times in your timezone, not UTC.
Set up a schedule from the Reports page; it starts sending on the cadence you choose at the time you pick, in your timezone.
A dashboard reports to whoever visits it. In practice that means whoever remembers, which in a busy month is nobody, and the period during which a problem was cheap to fix passes without anyone looking.
A report that arrives on a schedule inverts that. The numbers turn up whether or not anyone thought about them, and the moment they look wrong is the moment someone notices — which is usually while there is still time to respond.
It also settles the question of which numbers matter. A dashboard offers everything and implicitly asks the reader to decide what is important; a report states a position. Over time the second is what builds a shared understanding of how the business is doing.
Weekly suits most stores. It is frequent enough to catch a change while the period is still open and infrequent enough that each one carries real signal rather than noise — daily variance in a store doing tens of orders a day is mostly randomness.
Daily earns its place when spend is high and moving, because a day of misdirected advertising is expensive and a week of it is worse.
Monthly is a review rather than a control. It is the right cadence for overheads and fixed costs, which do not move week to week, and the wrong one for anything you might want to act on.
Reports are generated against live data at send time rather than from a cached snapshot, so a figure that has settled since — a carrier adjustment, a late refund — is reflected rather than frozen at whatever it looked like when the schedule was created.