Scheduled Task: A Weekly Profit-by-SKU Report That Writes Itself
For E-Commerce Business Owner / Online Sellers ·
What This Builds
A report that lands in your inbox every Monday morning ranking every SKU by margin after fees and flagging anything that moved sharply from the week before, without you opening a single dashboard first. The one-off profitability gut-check most sellers run only when they remember to gets replaced by a check that runs whether you remember or not.
Prerequisites
- A weekly habit (or willingness to build one) of exporting units sold, revenue, platform fees, and COGS by SKU into a Google Sheet
- Comfortable with the manual profitability gut-check prompt (Level 1)
- Professional plan ($29.99/month): scheduled multi-step Zaps with a data-formatting step need a paid tier
- Plus subscription ($20/month) with API access enabled, connected inside Zapier
- Total ongoing cost for this build: $29.99/month plus $20/month
The Concept
Right now, checking real profitability means pulling numbers from two or three seller dashboards, dropping them into a spreadsheet, and doing the math yourself, a task that keeps sliding to the bottom of the list because nothing forces it to happen. This build puts that task on a timer. Every Monday, an automation grabs last week's numbers from your spreadsheet, hands them to an AI with a fixed set of instructions on how to calculate margin, and mails you the result. You're not doing new work each week, you're reviewing work that already happened.
Build It Step by Step
Part 1: Set up a Weekly Numbers sheet
Create a Google Sheet called "Weekly Numbers" with one row per SKU per week:
- A: Week Ending Date
- B: SKU
- C: Product Name
- D: Units Sold
- E: Revenue
- F: Platform Fees (referral fees, transaction fees, ad spend, whatever applies to that platform)
- G: COGS (per-unit cost times units sold)
Populate it from your platform exports each week, or automate the pull later once this version is proven. Keep at least 4-6 weeks of history in the sheet so the AI has something to compare against for the "what changed" part of the report.
Part 2: Schedule the trigger
- In Zapier, click Create Zap
- Trigger app: Schedule by Zapier, event: Every Week, set the day to Monday and a time before you'd normally check email, for example 6:00am
- Add a step: Google Sheets, action: Get Many Spreadsheet Rows, filtered to the most recent Week Ending Date
- Add a Formatter by Zapier step, action Text: Line Itemizer (or similar), to turn the returned rows into a clean text table the AI step can read
What you should see: a block of text listing every SKU's units, revenue, fees, and COGS for the most recent week.
Part 3: Generate the report with ChatGPT
- Add a step: ChatGPT, action Send Prompt, model GPT-5.6 Sol
- Prompt:
Here's last week's sales data by SKU:
[formatted table from the previous step]
For each SKU, calculate net margin using this formula: Revenue - Platform Fees - COGS = Net Profit, then Net Profit / Revenue = Net Margin %.
Write a short weekly report with:
1. A one-line summary (total revenue, total net profit, and this week's overall margin)
2. A ranked table from highest to lowest net margin
3. Flag any SKU where net margin dropped more than 10 percentage points from a typical week, and note the likely cause if the data suggests one (a fee change, a cost increase, a pricing change)
4. Show your math for the two lowest-margin SKUs so I can spot-check it
Keep the whole report under 400 words. Use plain numbers, not vague language.
Part 4: Deliver the report
- Add a final step: Gmail, action Send Email
- To: your own email address
- Subject: "Weekly Profit Report: Week of [date]"
- Body: the ChatGPT output
- Test the full Zap using a real week of data, check the math against what you'd calculate by hand, then turn it on
Real Example: A Three-Platform Candle and Home Goods Shop
Setup: A seller running 22 SKUs across Shopify, Amazon, and Etsy keeps a Weekly Numbers sheet updated every Sunday night from platform exports.
Input: Monday 6am, the automation pulls last week's 22 rows.
Output: A report showing overall margin at 34%, a ranked table with the Lavender Cedar candle at the top (52% margin) and a newer eBay-listed mug at the bottom (11% margin), with a flag that the mug's margin dropped 14 points from its typical range. The math-shown section reveals Etsy's transaction fee percentage increased and hadn't been reflected in the seller's pricing.
Time saved: Reconciling revenue, fees, and payouts across platforms runs 2.5 hours a week for this role, and profitability tracking adds another 1.5 hours, work that this role's own research shows tends to lag because there's no dedicated bookkeeper to catch it. This replaces the manual pull-and-calculate part of that with a 5-10 minute review of a finished report.
Verify Before You Trust It
Spot-check the math on at least two SKUs against your own numbers for the first month. The prompt in Part 3 asks the AI to show its work on the two lowest-margin SKUs specifically so this is easy to do. Once you've confirmed a few weeks in a row match your own calculations, you can trust the weekly total without recalculating everything by hand.
What to Do When It Breaks
- The report doesn't arrive Monday and you don't notice for weeks → this is the failure mode that costs the most. Turn on "Notify me by email when this Zap has errors" in your Zapier account settings the same day you build this. Zapier will pause a Zap after repeated failures (an expired Google auth token, a renamed sheet tab) without a loud alert unless that setting is on.
- The margin numbers don't match your own math → check the sheet first. A missing COGS value or an unfilled fee column will silently throw off every SKU below it in the ranked table, not just the one row.
- The report flags a SKU as a problem every single week → that SKU may just run a naturally thin margin, not a changing one. Adjust the prompt's flagging threshold, or exclude known thin-margin loss-leaders from the flag logic by naming them directly in the prompt.
- The AI's "likely cause" guess is wrong → treat that line as a hypothesis, not a fact. The prompt is working from the same spreadsheet you are; if a fee change happened off-platform (a new packaging cost, for example), the AI has no way to know that.
Variations
- Simpler version: Skip the AI entirely and just have Zapier email you a raw data dump every Monday, no calculation. You still save the manual export-and-open-spreadsheet step, just not the math.
- Extended version: Add a second Zapier branch that posts the summary line (not the full report) to a Slack channel or your phone via SMS, so you see the headline number even on a day you don't open email first thing.
What to Do Next
- This week: Build the Weekly Numbers sheet and populate 2-3 weeks of history before turning on the schedule, so the first report has something to compare against.
- This month: Run it for a full month, spot-checking the math each week, before you stop manually verifying it.
- Advanced: Combine this with the low-stock reorder automation (see that guide) so your Monday report also flags which low-margin SKUs are approaching a reorder point, helping you decide whether to reorder as-is or adjust pricing first.
Advanced guide for e-commerce business owner professionals. Requires a paid Zapier plan and a ChatGPT subscription with API access. This report includes your revenue, fees, and cost data, business financial information rather than customer data, but it's worth keeping any customer-identifying columns out of the sheet this automation reads from.