How to Automate a Daily Sales Report for Your Shopify Store
Every Shopify store owner has the same morning routine: open the dashboard, click through to Sales, scroll to Orders, flip over to Inventory, repeat. By the time you've pieced together what actually happened yesterday, fifteen minutes are gone and you haven't done anything yet.
This guide walks through exactly how to automate a daily sales report — which metrics belong in it, how to build the automation without writing code, and what the report should actually tell you so it's worth reading every morning.
What a Useful Daily Sales Report Actually Contains
Most dashboards show you everything. A good daily report shows you the five things that tell you whether yesterday was a good day and what needs attention today. The difference matters: a dashboard is a tool for exploration; a report is a tool for action.
For a small Shopify store, the right daily report includes these six categories — nothing more, nothing less:
Revenue and order count
Yesterday's total revenue and number of orders, compared to the same day last week. This is your headline number — everything else is context for it.
Top-selling products
The 3–5 products by units sold yesterday. This tells you what's working and where you might need to accelerate restocking. A product that suddenly jumps to #1 warrants checking inventory immediately.
Unfulfilled orders
Any orders that are paid but not yet fulfilled — especially ones older than 24 hours. These are your most time-sensitive item: a customer who paid and hasn't received a tracking number is a support ticket waiting to happen.
Low-stock flags
SKUs below your reorder threshold. This belongs in the sales report, not a separate alert, so you can correlate what sold yesterday with what needs to be ordered today.
Failed payments
Orders where payment was attempted but failed, or where a subscription renewal bounced. Left unaddressed, these represent revenue you've earned but haven't collected.
Refund activity
Total refund amount and number of refunds initiated yesterday. A spike here — especially on a specific product — usually signals a quality or description issue worth investigating.
Three Ways to Build the Automation
There are three practical paths to automating this report, ranging from no-code to custom-built. Each works; the right one depends on your technical comfort and how much time you want to spend on setup.
Option A: Shopify Flow + Email
Shopify Flow (free on all paid plans) lets you build automated workflows without code. You can create a daily trigger that queries your store data and sends a formatted email summary to your address. The limitation: Flow's email formatting is basic, and it can't easily aggregate multi-metric summaries in a single message. Good for simple reports.
Option B: Google Sheets + Shopify API
Connect your Shopify store to Google Sheets via a third-party connector (like Coefficient or Skyvia, starting around $15/month). Run a daily scheduled sheet refresh, then use a Google Apps Script to email yourself the key cells. More flexible than Flow, but requires a few hours of setup and some spreadsheet knowledge.
Option C: Dedicated reporting service
Purpose-built tools that connect to Shopify's API and deliver a formatted daily email with exactly the metrics that matter. No setup beyond authorizing your store. The tradeoff is cost — typically $50–$100/month — but you get a clean, consistent report every morning without maintaining the automation yourself.
Setting Up Shopify Flow for a Daily Summary Email
If you want to try the free option first, here's a step-by-step using Shopify Flow:
Step 1: Open Shopify Flow
In your Shopify Admin, go to Apps → Shopify Flow. If it's not installed, add it from the App Store (free). Once open, click "Create workflow."
Step 2: Set a scheduled trigger
Choose "Scheduled time" as your trigger type. Set it to run daily at 7:00 AM in your timezone. This is the moment the report will be assembled and sent.
Step 3: Add a "Get orders" action
Add a "Get orders" data step and filter for:
- Created at: yesterday (use the date offset function)
- Financial status: paid
- Fulfillment status: unfulfilled OR fulfilled
Step 4: Send an email action
Add a "Send email" action. In the body, use Flow's liquid templating to include order count, total revenue, and a list of unfulfilled orders. Flow's template editor has autocomplete for order variables. Send it to your store email address.
The limitation you'll hit: Flow can tell you total orders and revenue, but building a "top products sold yesterday" or "low-stock SKUs" summary inside a single Flow email requires multiple data steps and gets complex quickly. That's the point where most store owners either simplify the report or switch to a dedicated tool.
What to Do With the Report Once You Have It
A daily sales report is only useful if you act on it. The goal is to review it in under five minutes and walk away with a clear list of what to do that morning. Here's how to triage it:
- Unfulfilled orders older than 24 hours: These are your top priority. Check each one: is it waiting on a supplier? Is there a stock issue? A customer who paid 36 hours ago and hasn't received a tracking number is about to email you.
- Low-stock flags: Check the sales velocity for the flagged SKU. If it's selling 3 units/day and you have 8 left, you need to reorder today — not when it hits zero.
- Revenue vs. last week: If yesterday was significantly down, check whether there was a traffic issue, a payment gateway problem, or a specific product that stopped selling. Revenue drops have causes — the report helps you find them faster.
- Refund spikes: One refund is noise. Three refunds on the same product is a signal. Check the refund reasons and consider pausing that product's ads until you've identified the issue.
Skip the setup. Get the report.
KartFlow sends you a daily sales briefing — revenue, unfulfilled orders, low-stock flags, and refund activity — every morning before you open Shopify. No Flow configuration, no spreadsheets, no maintenance. Flat $99/month.
The Takeaway
Automating your daily Shopify sales report isn't about having more data — it's about having the right data delivered to you, rather than forcing you to go find it. The six metrics that matter (revenue, top products, unfulfilled orders, low-stock flags, failed payments, refunds) are all available in Shopify. The question is whether you have a system that surfaces them for you every morning.
Whether you build it yourself with Shopify Flow or use a service, the goal is the same: five-minute morning review, clear action list, and the rest of your day back.
Related Reading
Shopify Low-Stock Alerts: How to Never Run Out of Your Bestsellers →
8 min read
Best Shopify Inventory Management Tools for Small Stores (2026 Comparison) →
10 min read
How to Spot Customer Churn Early in a Small Shopify Store →
8 min read
Best Way to Track Low-Stock SKUs and Avoid Overselling on Shopify →
7 min read