HomeWorkCase study

Case study · Premium travel · Weekly and monthly

Multi-Store Sales Intelligence: The sales report that packs itself.

Weekly and monthly sales reports for every Mokobara store that build and send themselves: 100K to 250K BigQuery records per cycle, net KPIs after returns, a CSV and a 60-second email for each store manager.

Result
0 hours by hand per report
Build time
3 Weeks
Industry
Premium Travel Brand
Shipped
Dec 12, 2024
  • Make.com
  • BigQuery
  • Google Sheets
Illustration of the automated sales report: an email to every store manager with weekly and monthly tabs, net sales, return rate and change against the last period, a CSV of every store, a stamp reading 0 hours by hand and a yellow suitcase tagged to every store

1 to 2 days

of manual work per report, now automatic

8+ hours

of manual reconciliation gone, every cycle

100K to 250K

sales records in every run, across every store

How it runs

Every week, every month, on its own

  1. 01BigQuery

    Pull

    Every sales record from BigQuery, 100K to 250K per cycle, read page by page and stitched back together

  2. 02Make.com

    Calculate

    Net sales per store after returns and discounts, return rates and the change against the last period

  3. 03Make.com

    Build

    A CSV with the full store-level breakdown and an email summary written to be read in 60 seconds

  4. 04Google Sheets

    Send

    A Google Sheet of store representatives decides who gets what; each manager receives their own store

Inside the scenario

One Make.com scenario reads up to 250K records, a page at a time

Connecting BigQuery to email is the easy part. The engineering is reading 100K to 250K records across paginated calls and reconciling them the same way every cycle, weekly and monthly, with nobody pulling stores by hand.

  • Paginated BigQuery pull, stitched back together
  • KPIs calculated inside Make.com
  • A CSV and an HTML email built for each store
The scenario as it runs, simplified to six modules.

Net, not gross

Returns and discounts come out before anyone reads a number

Net sales are calculated per store after returns and discounts, with the return rate and the change against the last period beside them. The same rules run every cycle, which is why 8+ hours of reconciliation per cycle is gone.

  • Net sales after returns and discounts
  • Return rate per store
  • Change against the last period
Illustrative figures. Real numbers stay private.

Every store, its own report

A Google Sheet decides who receives which store

Store representatives are listed in a Google Sheet. Each one receives their own store as a CSV with the full breakdown, plus an email summary written to be read in 60 seconds. Changing who gets a report is an edit to the sheet, not to the scenario.

  • Recipient-to-store mapping in Google Sheets
  • A CSV and a 60-second summary for each store
  • Weekly and monthly, on schedule
Store names and recipients are illustrative.

The Situation

Mokobara is a premium DTC travel brand selling luggage, backpacks and accessories through multiple Shopify storefronts. Their operations team needed consolidated sales reporting across all stores, but every data source lived in a different system: Shopify admin panels for orders, BigQuery for historical warehouse data and Google Sheets maintained by different team members.

The core challenge was volume. Each reporting cycle required pulling 100,000 to 250,000 sales records from BigQuery across all stores. BigQuery cannot return this volume in a single API call. The data had to be fetched in paginated batches, combined inside Make.com, then processed into meaningful KPIs.

Getting a single answer to "what were net sales across all stores this week" required a person to manually pull numbers from each store, cross-reference returns and shipping data, reconcile discrepancies and compile a report. This process took 1 to 2 days every cycle and the numbers were never fully trusted because manual compilation introduces errors.

The outcome: the team went from waiting days for a hand-built report to a weekly and a monthly report in every store manager's inbox, on schedule.

The 3 Problems

  1. Massive data volume could not be pulled in one shot. 100K to 250K records across all stores required paginated BigQuery queries. No off-the-shelf reporting tool handled this without custom engineering.
  2. Manual report compilation took days. Someone spent 8+ hours every cycle pulling, reconciling and formatting sales data from multiple sources. By the time the report was ready, the numbers were already stale.
  3. No automated distribution. Even after the report was compiled, it had to be manually emailed to different store representatives and managers. Each recipient needed different data slices relevant to their store or region.

What Was Built

A scheduled sales intelligence pipeline that pulls high-volume data from BigQuery in paginated batches, calculates KPIs inside Make.com, generates formatted reports and distributes them automatically to the right people.

How it flows:

  1. Make.com scenario triggers on a weekly or monthly schedule
  2. BigQuery module runs paginated queries, pulling 100K to 250K records in batches
  3. Make.com combines all paginated results into a single dataset
  4. KPI calculation modules process the combined data: net sales per store, revenue totals, return rates, growth comparisons
  5. A CSV file is generated with sales totals and detailed calculations per store
  6. An HTML email is built with a formatted summary of key KPIs based on the store-level sales data
  7. Recipient list is pulled from a Google Sheet containing store representatives and managers with their email addresses
  8. Each recipient receives their email with the KPI summary and CSV attachment

Tools used:

  • Make.com - scheduled triggers, paginated BigQuery queries, data aggregation, KPI calculation, CSV generation, HTML email composition, distribution
  • BigQuery - data warehouse holding 100K to 250K sales records across all stores
  • Shopify - order source data feeding into BigQuery
  • Google Sheets - recipient directory (store reps and managers with email addresses)
  • Email - formatted HTML reports with CSV attachments

The Technical Architecture

The hardest part of this build was not reporting. It was handling the data volume inside Make.com.

Paginated BigQuery pulls: BigQuery returns large datasets in pages. The Make.com scenario runs a loop: query page 1, store results, query page 2, store results, continue until all pages are retrieved. For 250K records, this can mean 25+ paginated calls per run. Each page is appended to an array aggregator that holds the complete dataset in memory before processing begins.

KPI calculation inside Make.com: Once all records are combined, Make.com calculates the metrics that matter: net sales per store (gross minus returns minus discounts), revenue growth vs previous period, return rates by store and product category, top-performing SKUs and underperforming segments. These calculations happen using Make.com's math and aggregation modules, not in BigQuery, because the business logic for what constitutes a "net sale" differs from what BigQuery stores as raw transaction data.

CSV generation: The calculated KPIs are formatted into a downloadable CSV with store-level breakdowns, period comparisons and summary rows. This CSV is attached to the email so recipients can do their own analysis in Excel if needed.

HTML email with KPI summary: Rather than sending a raw data dump, the email contains a formatted HTML table with the headline numbers: total net revenue, store-by-store breakdown, period-over-period change and any flags (e.g. a store with return rate above threshold). The email is designed to be read in 60 seconds and give each recipient the numbers relevant to their responsibility.

Smart distribution from Google Sheet: The recipient list lives in a Google Sheet with columns for name, email, role and store assignment. The scenario iterates through this sheet and sends each person their report. Managers get the full cross-store view. Store representatives get their store-specific slice. This means one scenario run produces personalized reports for every stakeholder.

The Results

MetricBeforeAfterChange
Time to compile sales report1-2 daysAutomated (scheduled)Eliminated
Records processed per cycleManual sampling100K-250K (full dataset)Complete coverage
Manual data reconciliation8+ hours/cycle0 hoursEliminated
Report distributionManual email per personAutomated per rolePersonalized delivery
Data freshnessDays old by deliveryCurrent as of run timeAlways fresh

The Insight

The lesson from this build is that automation at scale is an engineering problem, not a configuration problem. Connecting BigQuery to email is trivial. Handling 250K records across paginated API calls, calculating derived KPIs in-memory and generating personalized reports per recipient requires careful architecture.

The other insight: reporting is not a dashboard problem for every team. Mokobara's leadership did not want to open a dashboard every morning. They wanted the numbers delivered to their inbox in a format they could scan in 60 seconds. The right output format depends on how the recipient actually consumes information, not on what looks impressive in a demo.

What Could Be Added

This system currently delivers scheduled email reports. Two natural extensions that would add more value:

Slack agent integration: A Slack bot that the team can query on demand. Instead of waiting for the weekly report, a manager types "/sales last 7 days Store Mumbai" and gets an instant answer pulled from the same BigQuery data. This adds real-time access without replacing the scheduled reports.

Live dashboard: An Airtable or Retool dashboard showing real-time sales data with filters by store, date range and product category. Useful for the operations team that needs to drill into details beyond what the email summary provides.

Both are natural add-ons that build on the existing data pipeline without requiring a rebuild.

FAQ

Q: Can Make.com handle 100K+ records from BigQuery? A: Yes, with paginated queries. BigQuery returns large datasets in pages. Make.com runs a loop that fetches each page, aggregates all results and processes the complete dataset. For 250K records, this typically means 25+ paginated API calls per scenario run.

Q: How does Make.com calculate KPIs from raw sales data? A: Make.com's math and aggregation modules handle the calculations: net revenue (gross minus returns minus discounts), period-over-period growth, return rates by store and category. The business logic for these calculations is configured in the scenario, not in BigQuery, because definitions of "net sale" often differ from raw transaction data.

Q: Can automated sales reports be personalized per recipient? A: Yes. The recipient list in Google Sheets includes role and store assignment. The scenario sends managers the full cross-store view and store representatives their store-specific data. One run produces personalized reports for every stakeholder.

Q: What format are the automated sales reports delivered in? A: Two formats per email: an HTML summary with headline KPIs formatted for a 60-second read, plus a CSV attachment with full store-level breakdowns for anyone who wants to analyze further in Excel.

Need automated reporting for a multi-store or multi-source operation? Book a free consult and I will scope what your data pipeline needs.

Need a Make.com expert on this?

Level 5 Expert, Make Silver Partner. Scenarios built with error handlers, credit efficiency and documentation, so they run without babysitting.

Nex Automations is an automation studio led by Prem Patel, a Make.com Level 5 Expert, Make Silver Solution Partner and Zapier Solution Partner, based in Ahmedabad and working globally. 1,200+ automations built for 210+ clients across 8+ industries in 12+ countries.

  • Talk to a Make expertThe fit-check takes two minutes. Prem reads every one and replies within 24 hours.
  • Make.com ConsultantHire a Make Level 5 Expert and listed Silver Solution Partner for fixed-scope builds, scenario rescue and retainers.
  • Book a free consult30 minutes to scope the process you want automated.

More from Nex Automations