Documentation Menu

On this page

Settings

Daily Executive Summary

The Automated Daily Executive Summary digest automatically compiles an end-of-day overview of business performance and delivers it directly to organization owners, executives, and managers via Email, SMS, or Both.


Overview

Staying informed about day-to-day retail and accounting performance shouldn't require manually pulling reports or logging in late at night. The Automated Daily Summary compiles all critical daily metrics as soon as the business day winds down.

Key Highlights

  • Decoupled Delivery Schedule: Configurable delivery time (e.g. 21:00) independent of physical cashier shift closures or store operating hours.
  • Multi-Channel Dispatch: Send responsive, beautifully styled HTML emails, ultra-compact SMS messages, or both simultaneously.
  • Smart Formatting: Fully respects the organization's regional settings, including Date Format (Do MMMM YYYY, DD/MM/YYYY, etc.), Timezone, and Currency Symbol & Decimals.
  • Stock Tracking Awareness: Automatically respects the organization's allow_stock_tracking preference. If stock tracking is disabled for service-based businesses, inventory health warnings are gracefully suppressed.
  • Automated Deduplication: Enforces unique logging per day to prevent duplicate dispatches during recurring cron sweeps.
  • Instant Test Dispatch: Test summary compilation and delivery on demand with a single click from the settings interface.

Accessing Configuration

  1. Navigate to Settings in the main sidebar.
  2. Click on Preferences.
  3. Scroll to the Daily Summary Digest card (marked with an envelope icon).

Configuration Settings

Setting Type Options / Format Default Description
Automated Daily Summary Digest Toggle ON / OFF OFF Master switch to enable or disable automatic daily compilation and dispatch.
Delivery Channel Select Email Only, SMS Only, Email and SMS (Both) Both The channel(s) through which the daily summary will be sent.
Daily Delivery Time Time HH:MM (24-hour, e.g. 21:00) 21:00 The local time of day when the digest should be generated and dispatched.
Active Days of Week Select Every Day (Mon - Sun), Monday - Saturday, Monday - Friday Mon - Sat Select which days of the week summaries should be delivered.
Recipient Email Addresses Text Comma-separated emails (e.g. ceo@example.com, manager@example.com) Org Email Optional custom recipient email addresses. Defaults to organization email if left blank.
Recipient Phone Numbers Text Comma-separated phones (e.g. +233240000000, +233200000000) Org Phone Optional custom recipient phone numbers for SMS delivery. Defaults to organization phone if left blank.

What is Included in the Digest?

The Daily Executive Summary aggregates six core areas:

1. Sales & Invoices

  • Total net sales revenue for the day.
  • Order volume breakdown: Count of finalized sales receipts vs. issued invoices.

2. Payment Collections by Mode

  • Total cash and digital payments received today (payment_in transactions).
  • Breakdown grouped by payment method (e.g. Cash, MTN Mobile Money, Telecel Cash, Bank Transfer, POS Terminal).
  • Transaction count per payment mode.

3. Expenses & Net Cash Flow

  • Net expenses incurred on the date.
  • Estimated net operational cash/digital flow (Collections - Expenses).

4. Cashier Shift Handover

  • Total physical cash submitted by cashiers/tellers to vault or bank verification.
  • Handover verification status (indicates whether cash is verified or pending manager audit).

5. Inventory Health Alerts (Retail / Stock Businesses)

  • Count of out-of-stock items requiring restocking.
  • Count of items currently below their reorder threshold (restock).
  • Note: Omitted automatically if Enable Stock Tracking is disabled.

6. Top Performing Products

  • The top 3 revenue-generating products sold today, with total quantity sold and gross revenue.

Testing Delivery On-Demand

You can preview and test your daily summary configuration at any time without waiting for the scheduled cron run:

  1. In Settings > Preferences, locate the Daily Summary Digest card.
  2. Click the purple "Send Test Summary" button in the card header.
  3. The system will compile metrics for the current day and immediately dispatch the summary via your configured channels.
  4. A notification toast will confirm successful delivery or alert you if any delivery credentials (e.g., SMTP or SMS credits) need attention.

Production Deployment Guide

In production environments, the summary is processed by the scheduled runner: cron/send_daily_summary.php

How the Runner Works

  • The script evaluates all active organizations where enable_daily_summary is enabled.
  • It computes current local time in each organization's configured Timezone (organizations.timezone).
  • If the current local time has reached or passed the configured daily_summary_time and the current day is an active delivery day, it dispatches the summary.
  • Strict deduplication ensures that each organization receives at most one scheduled summary per date.

Add a cron entry on your Linux/cPanel server to execute every 15 minutes:

# Open crontab editor
crontab -e

# Add execution entry (run every 15 minutes)
*/15 * * * * /usr/bin/php /var/www/html/qobooks/cron/send_daily_summary.php >> /var/log/qobooks_daily_summary.log 2>&1

Tip: Replace /usr/bin/php with your server's actual PHP CLI path (run which php to check) and /var/www/html/qobooks with your actual project root.


Option B: Windows Task Scheduler

If hosting on Windows Server or local WAMP/IIS:

  1. Open Task Scheduler (taskschd.msc).
  2. Click Create Task and name it QoBooks Daily Summary Processor.
  3. Set Security Options to Run whether user is logged on or not.
  4. Under Triggers, click New:
    • Begin the task: On a schedule.
    • Settings: Daily.
    • Advanced settings: Check Repeat task every: 15 minutes for a duration of 1 day.
  5. Under Actions, click New:
    • Action: Start a program.
    • Program/script: C:\wamp64\bin\php\php8.x.x\php.exe
    • Add arguments: C:\wamp64\www\qobooks\cron\send_daily_summary.php
  6. Save and test by right-clicking the task and choosing Run.

Option C: External Web-Cron Services (EasyCron, UptimeRobot, Cloudflare Workers)

If your hosting environment restricts CLI crontab access, you can trigger the runner via HTTP:

  1. Set a secret token in your environment or configuration:
    // In config or .env
    define('CRON_SECRET', 'your-secure-random-token-here');
  2. Configure your external cron service to call the endpoint every 15 minutes:
    GET https://your-domain.com/cron/send_daily_summary.php?token=your-secure-random-token-here

Requests without the matching token or CLI environment will receive a 403 Forbidden response to protect against unauthorized triggers.


Troubleshooting & Best Practices

1. Emails Not Delivering

  • Verify SMTP settings under Settings > Notifications.
  • Test SMTP connection using the built-in email test tool.
  • Check spam/junk folders and ensure your sender domain has proper SPF, DKIM, and DMARC DNS records.

2. SMS Messages Not Delivering

  • Check available SMS credits in Integrations > Hubtel or the SMS helper balance.
  • Ensure phone numbers include country code format (e.g. +233240000000).

3. Summary Sending at Wrong Time

  • Verify the organization's timezone in Settings > Organization.
  • Ensure the server clock is synchronized with NTP (timedatectl or Windows Time Service).

4. Database Audit & Logs

  • All dispatches and status codes are stored in the database table:
    SELECT * FROM daily_summary_logs ORDER BY id DESC LIMIT 10;
  • The log records channel, email_recipients, phone_recipients, sales_total, collections_total, expenses_total, status (sent, partial, failed), and any error_message.

Privacy Center.

We use cookies to enhance your experience and analyze traffic. By clicking "Accept All", you consent to our use of cookies. Read Policy

Cookie Preferences

Necessary

Essential for the website to function properly.

Analytics

Help us understand how visitors interact with the website.

Marketing

Used to display ads that are relevant and engaging.

Live Chat

Chat on WhatsApp

Reach the QoTrack team for sales questions, onboarding help, or a quick product walkthrough.

Preferred Contact

+233542795439

Mon-Fri, 8am - 6pm

Start WhatsApp Chat
Try it out Live Demo