๐Ÿ“Š Daily ยท Weekly ยท Monthly Business Report Automation

Stop chasing shop managers for sales updates. This workflow turns messy spreadsheets into a clean executive summary delivered to your pocket every night.

:bullseye: Project Overview

This n8n workflow automates business performance reporting for multi-shop retailers. It intelligently detects the report type (daily, weekly, or monthly) based on the schedule and sends comprehensive business metrics directly to the owner via Telegram every night at 11 PM.

Perfect for: Small businesses, retail chains, or anyone managing multiple sales locations who needs daily operational insights.


:sparkles: Key Features

:white_check_mark: Automated Daily Schedule โ€” Triggers every night at 11 PM
:white_check_mark: Smart Report Detection โ€” Automatically generates Daily, Weekly, or Monthly reports based on the date
:white_check_mark: Multi-Shop Data Aggregation โ€” Consolidates sales data from 3 different shop locations
:white_check_mark: Stock Level Monitoring โ€” Tracks inventory and low-stock alerts
:white_check_mark: Debt Management โ€” Sends separate alerts for outstanding debts
:white_check_mark: Telegram Notifications โ€” Delivers formatted reports directly to your phone
:white_check_mark: Easy to Scale โ€” Add more shops without modifying the core logic


:clipboard: Report Types

Trigger Report Type
Day 1 of Month :bar_chart: Monthly Report
Saturday :bar_chart: Weekly Report
All Other Days :bar_chart: Daily Report

:repeat_button: Workflow Structure

Schedule Trigger (11 PM)
        โ†“
Identify Schedule Type
        โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   โ”‚               โ”‚          โ”‚         โ”‚        โ”‚
โ†“                   โ†“               โ†“          โ†“         โ†“        โ†“
Read Shop A    Read Shop B    Read Shop C  Read Stock  Read Debt
โ”‚               โ”‚               โ”‚          โ”‚         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                โ†“
                        Merge All Data
                                โ†“
                        Calculate Report
                                โ†“
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ†“                      โ†“
            Send Report             Check Debt?
            to Telegram                  โ†“
                                    Send Debt Alert

:bar_chart: Data Structure (Google Sheets)

Shop Tabs (A, B, C)

Columns: date | product_name | qty_sold | unit_price | unit_cost | 
         total_sale | total_profit | shop_id

Stock Tab

Columns: product_name | current_stock | low_stock_alert | 
         unit_cost | last_updated

Debt Tab

Columns: debtor_name | shop_id | amount_owed | amount_paid | 
         due_date | status | paid_date | notes

:hammer_and_wrench: How It Works

  1. Schedule Trigger โ€” Workflow activates at 11 PM daily

  2. Identify Schedule โ€” Code node detects the report type (Daily/Weekly/Monthly)

  3. Data Collection โ€” Parallel nodes fetch data from all three shops, stock, and debt records

  4. Data Merge โ€” Combines all 5 data sources into a single payload

  5. Calculate Report โ€” Processes and formats the data with calculations

  6. Send Report โ€” Delivers formatted report to Telegram (always)

  7. Check Debt โ€” Conditional node checks if debt alerts exist

  8. Send Debt Alert โ€” If debts found, sends a separate Telegram alert


:wrench: Setup Requirements

Credentials Needed

  • :white_check_mark: Google Sheets OAuth2 โ€” Read access to your business data spreadsheet

  • :white_check_mark: Telegram Bot API โ€” Send messages to your Telegram account

Steps to Deploy

  1. Import the workflow into your n8n instance

  2. Connect Google Sheets OAuth2 with your Google account

  3. Create a Telegram Bot (via @BotFather on Telegram)

  4. Add your Telegram Bot Token to n8n

  5. Update the Google Sheet ID in the workflow to match your spreadsheet

  6. Verify sheet tab names match the workflow (shop_A, shop_B, shop_C, stock, Debt)

  7. Activate the workflow and receive your first report at 11 PM


:light_bulb: Use Cases

  • :package: Retail Chains โ€” Monitor sales across multiple store locations

  • :convenience_store: Small Businesses โ€” Daily operational dashboards without manual reporting

  • :chart_increasing: Franchise Operations โ€” Compare performance between franchises

  • :money_bag: Debt Management โ€” Automated creditor alerts and payment tracking

  • :bar_chart: Analytics โ€” Historical data for trend analysis and forecasting


:rocket: Customization Ideas

  • :mobile_phone: Add SMS notifications as backup (Twilio)

  • :e_mail: Include email reports (Gmail node)

  • :bar_chart: Create Google Sheets summaries or pivot tables

  • :bell: Add custom alert thresholds (e.g., low stock warnings)

  • :floppy_disk: Archive reports to Google Drive weekly

  • :mobile_phone_with_arrow: Add WhatsApp integration instead of Telegram

  • :bullseye: Create separate reports by shop location


:high_voltage: Performance Tips

  • Parallel Execution โ€” All shop data is read simultaneously for speed

  • Scheduled Trigger โ€” Uses native n8n scheduler for reliability

  • Conditional Logic โ€” Debt alerts only sent when necessary

  • Error Handling โ€” Add error nodes to catch missing data gracefully


:memo: Notes

  • Ensure your Google Sheet has headers in the first row

  • The workflow currently supports 3 shops (easily expandable)

  • Telegram Bot must be started with /start command before first message

  • Consider timezone settings if running across different regions


:handshake: Community Support

Have questions or improvements? Feel free to:

  • :speech_balloon: Comment below with your feedback

  • :bug: Report issues or edge cases

  • :sparkles: Share your customizations

  • :counterclockwise_arrows_button: Suggest workflow enhancements


:inbox_tray: Download On GitHub

github.com/Siratalm/business-report-automation


Tags: #n8n #automation #business #reporting telegram #googlesheets #retail #workflow

Author: MD MUSTAKIM ALI (siratal)
Status: :white_check_mark: Active & Tested

the multi-shop parallel fetch is a smart design choice โ€” merging before calculations means you get consistent snapshots across all locations. one thing iโ€™d look at adding: a fallback for when one shopโ€™s sheet is unavailable (say the credentials expire or the tab gets renamed) so the nightly report still fires with whatever data came through. have you tested this at scale with more than 3 shops yet?