Analytics
Food cost

Daily Food Flash Report: Working Back From POS Cut-Off Times

Daily food flash report dashboard: Supy hero

What a Daily Food Flash Report Is, and Why It Slips

A daily food flash report is a one-page, next-morning snapshot of yesterday's trading for a restaurant or group: net sales, food cost as a percentage of sales, the variance between theoretical and actual usage, and a short list of exceptions worth a manager's attention. It exists to answer one question fast, before the day gets away from everyone: did yesterday go the way we expected, and if not, where.

It slips because teams design the report around what goes in it and treat the data as if it were simply there at midnight. It is not. Sales data has to be released by the POS vendor, pulled into the inventory or accounting system, and validated before cost figures sit on solid ground. Each of those steps has its own earliest-possible time, and the report cannot beat the slowest link in that chain. When a group sets an 8:00 AM deadline without checking that the sales data is even available by then, the report is structurally late from the day it is designed, and no amount of chasing the person who compiles it will fix that.

Vertical process flow showing the flash report as the last step in a chain gated by the POS releasing prior-day data


The fix is not a faster compiler. It is treating the report as the last step in a sequence and building the schedule from the one time in that sequence you do not control: when the POS releases the day.

Start From When Your POS Releases Yesterday's Data

Before you promise anyone a time, find out when your POS or middleware vendor actually makes the prior day's data available. This is a factual question you can put to the vendor or confirm by watching when the import first succeeds cleanly for a few days. It varies more than most teams assume. One operator found their POS released data no earlier than 7:00 AM local, which meant every deadline promised before then was fiction.

Once you know the release time, set the import cutoff at release plus a short buffer, and reset the expectation honestly. If the data is available at 7:00 AM, a 7:30 AM cutoff with a 30-minute buffer is realistic; an earlier one is not. This sounds like a concession, but it is the opposite: an honest cutoff that holds every day is worth far more to a finance lead than an aspirational one that misses three mornings in five. Naming the real constraint out loud is what lets the rest of the schedule become reliable.

Stat callout showing a 7:30 AM honest import cutoff derived from a 7:00 AM release plus a 30-minute buffer


Work Every Deadline Backwards From That Release Time

With the release time fixed, build the schedule in reverse. Start from the moment the report has to be in someone's hands, usually the morning operations or ownership meeting, and subtract each dependency until you reach the POS release. Every step needs a latest-finish time, and each one is gated by the step before it: the ledger cannot post before sales are validated, and sales cannot be validated before the import lands. If the arithmetic does not reach back to a time at or after the POS release, the meeting time is the thing that has to move, not the team.

Here is the same worked example laid out as a backwards-derived schedule. The times are illustrative; the method is the point.

StepTarget timeGated by
POS releases prior-day data7:00 AMPOS vendor (fixed)
Sales import cutoff7:30 AMRelease plus 30-minute buffer
Per-site totals check7:45 AMSales import complete
Ledger and cost posted8:15 AMValidated sales
Flash report sent8:30 AMLedger posted
Operations meeting9:00 AMFlash report in hand


Read it bottom to top and it is a wish. Read it top to bottom, anchored on the 7:00 AM release, and it is a plan. If a group needs ownership reporting before 10:00 AM, this is exactly how you discover that the ledger integration has to complete before 9:00 AM and the sales sync earlier still, rather than finding out when the report is late. Where the ledger posting itself is the fragile link, our guide to order-to-accounting sync control and failure recovery covers the recovery steps in depth.

Align the Import Cut-Off to Each Site's Business Day

A single group-wide cutoff quietly assumes every site closes its trading day at the same moment. Many do not. A POS can run a business day from 4:00 AM to 4:00 AM rather than midnight to midnight, so a sync scheduled at 9:00 PM cuts that trading day in half and silently drops the late-night trade. The totals come back looking wrong in a way that mimics a mapping fault, and teams can burn a day auditing item mappings when the real problem is a sync window that never covered the whole day.

Before you trust any site's numbers, confirm that POS's own business-day boundary and align the import window to it. In a group, do this per site: a late-night venue on a 4:00 AM boundary and a lunch-only outlet on a midnight boundary should not share one blanket cutoff. Getting this right once removes a whole category of variance that otherwise reappears every close.

Before and after timeline showing a 9:00 PM sync cutting a 4:00 AM to 4:00 AM business day in half versus an aligned sync capturing the full day


Confirm the Data Is Complete Before You Trust the Number

A green "sync succeeded" status is not evidence the numbers are right. One multi-site group had a branch sync at roughly a quarter of its true sales for a day; the sync reported success, and it was caught only because someone recognised the figure as wrong. A single under-reported day flows straight into theoretical usage, variance and cost of goods for the whole period, so completeness is the first check, not the last.

Bar chart of yesterday's synced sales by branch with one branch flagged red at roughly a quarter of its normal figure


Two failure modes make this worse and both are invisible until you look for them. Scheduled exports can fail silently and leave permanent gaps, often discovered at month-end instead of the next morning, so put an alert on a missing import rather than relying on someone to notice a hole. And expired POS integration credentials can stop a venue's sales syncing entirely while stock keeps depleting in reality, manufacturing variance out of thin air; a standing last-sync-per-site check catches it the same day. Any variance investigation should begin by confirming sales data is complete for the period before anyone recounts stock, a sequence covered in our guide to reconciling POS sales against your inventory system.

This is where the plumbing matters. Supy connects to 75+ integrations including the major POS systems; completed sales orders arrive by webhook and are converted into inventory sales transactions automatically, and every import is visible on a Sales Imports screen where you can see the import history, pull a specific date range, and trigger a manual re-sync if a day looks short. That visibility is what turns "confirm the data is complete" from a hope into a step someone can actually perform before the report goes out, backed by one-click sales and cost reports rather than a manual spreadsheet stitch.

Put It to Work Tomorrow

If your flash report is chronically late or occasionally wrong, run this quick self-diagnostic before you change anything about the report itself. First, do you know the actual time your POS releases yesterday's data, as a fact rather than an assumption? If not, that is the first thing to establish. Second, is your promised deadline at or after that release time plus a buffer? If it is earlier, the deadline is the problem. Third, does each site's import window cover its full business day, and does someone confirm sales are complete per site before the numbers are trusted? Fix those three in order and the report stops being a daily fire drill.

The single highest-impact move is the first one: pin down the POS release time and set an honest cutoff from it. Everything downstream, the ledger post, the report, the meeting, only becomes reliable once that anchor is real. If you also want a fast way to sanity-check the cost figures the report produces, the free food cost calculator is a quick cross-check while you get the timing right.

Book a Demo with Supy - make the morning food flash report land on time

Ready to optimize your restaurant operations?

Blog

Our operational insights

No items found.

Your questions 
answered

Everything you need to know about Supy — from setup to integrations, pricing, and daily use. If it’s not covered here, just ask.

What is a daily food flash report?
+

A daily food flash report is a one-page summary of the previous day's trading, produced first thing the next morning. For a restaurant group it typically shows net sales, food cost as a percentage of sales, the variance between theoretical and actual usage, and a short list of exceptions a manager should look at. Its value is speed: it lets finance and operations see whether yesterday went as expected before the day gets busy. It is a monitoring tool, not a full month-end close, so it favours a fast, consistent snapshot over exhaustive detail.

Why is my daily flash report always late or wrong?
+

Why it happens is almost always a timing problem upstream, not slow work by whoever compiles the report. Yesterday's sales have to be released by your point-of-sale vendor, imported into your inventory or accounting system, and validated before any cost figure means anything. If the promised deadline is earlier than the POS actually makes the data available, the report is late by design. And if a sync failed or covered only part of the trading day, the numbers can be wrong even when the report arrives on time. Fix the sequence and the data completeness before you change anything about the report itself.

When does a POS release the previous day's sales data?
+

When the data becomes available depends entirely on your POS or middleware vendor, and it varies more than most teams assume. Some systems release the prior day's data within an hour of close; others not until well into the next morning. The only reliable way to know is to ask the vendor directly or watch when the first clean import succeeds over several days. Once you have that time as a fact rather than an assumption, you can set an honest import cutoff a short buffer after it, and stop promising a deadline the data cannot meet.

How do I set the right import cutoff time?
+

How you set it is to start from when the POS actually releases the data, then add a short buffer, and treat that as the earliest honest cutoff. If the data lands at 7:00 AM, a 7:30 AM cutoff is realistic and an earlier one is not. From there, work every downstream deadline backwards: the report has to reach the morning meeting, so the ledger posting, the totals check, and the sales import each get a latest-finish time that chains back to the release. If the arithmetic does not reach back to the release time, the meeting time is what has to move, not the team.

Why do POS sales totals differ across my sites?
+

Why totals differ across sites is often that each POS runs its own business-day boundary. A venue whose trading day runs from 4:00 AM to 4:00 AM will lose its late-night trade if the sync fires at 9:00 PM, because that window cuts the day in half. The totals then look wrong in a way that mimics a mapping fault, and teams can waste a day auditing item mappings. Before trusting any site, confirm its POS business-day boundary and align the import window to it, and never assume one group-wide cutoff fits every location.

How can I tell if a day's sales synced incompletely?
+

How you catch an incomplete sync is by checking totals, not sync status. A green success message only means the job ran, not that the figures are right; one branch can sync at a fraction of its true sales and still report success. For the first weeks after any integration goes live, reconcile synced totals against the POS daily, per site. Put an alert on a missing import so a gap surfaces the next morning rather than at month-end, and keep a standing check on the last successful sync per location so expired credentials are caught the same day.

What should a daily food flash report include?
+

What it should include is the smallest set of numbers that tells you whether yesterday went to plan: net sales, food cost percentage, and the variance between theoretical and actual usage, broken down by site for a group. Add a short exceptions line for anything unusual, such as a branch whose sales look short or a cost that jumped. Keep it to one page and the same shape every day so readers build muscle memory. The point is a fast, trustworthy signal that prompts action, not a comprehensive report nobody has time to read before service.

Ready to transform your operations?

Join 3500+ restaurant operators cutting costs, streamlining operations and making smarter decisions with Supy.