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.
Growth+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.