What we found
| Table | Identified as | Why | Rows | Confidence |
|---|
Identification is by content, never by file or sheet name. A table nothing recognised is left unassigned rather than given to whichever source scored least badly — an import that guesses is one that will eventually read a bank statement as a settlement report. Override any row from its dropdown.
Running
| Run | Period | Status | Started | By | Files |
|---|
No runs yet.
| Status | Restaurant & finding | To | Shortfall |
|---|
No chases yet. Run a sweep from the Agents page.
Read-only. This view cannot assign, close, or re-categorise anything — those inputs do not exist here, the same way they do not exist on the Queue. Every figure quoted back to you was written by the engine; open or to see it in place.
The agents Autonomy is a per-agent setting. Every change is recorded against whoever made it.
| Agent | Handles | Autonomy | Sent | Closed | Blocked | Chased | Resolved | On |
|---|
Where agents are getting stuck Grouped by reason. These are the things to fix.
The guardrails These hold at every autonomy level. No setting turns them off.
Action log Every decision, in order, with its reason.
| When | Agent | Action | Outcome | Detail |
|---|
Add a contact
Paste a CSV
Columns: role,store_id,email,name. Roles:
store_manager, area_manager, cash_vendor,
card_processor, accounting. Bad rows are reported and
skipped — refusing 98 rows for two typos means nobody ever loads the directory.
Contacts
| Role | Scope | Name | Added |
|---|
No contacts yet. Nothing can be chased until there is somewhere to chase it to.
Restaurant-level cases A pattern that repeats every day is one case, not one item per day. Read these before the list below — the days that make them up are inside.
Then these
Over and short, by day Over above the line, short below. Never netted — an over and a short of the same size are two different problems.
Restaurants Worst first, by how many days it happens on — then by how much. A little wrong every day is a process; a lot wrong once is an incident.
| Restaurant | Days | Lanes | Open items | Overdue | Shortfall |
|---|
| What happened | Restaurant | Date | Shortfall | Target | Owner | State |
|---|
Nothing matches these filters.
j / k move, Enter opens,
Esc closes. “Target” counts against
config.CATEGORY_SLA_DAYS — an internal working target the client has
not ratified. It is not a filing window and no counterparty has agreed to it.
Nothing matches these filters.
Two figures in this data are both called “gross sales” and they agree on 16 of 686 restaurant-days. Gross (net+tax) is the DSR's definition and what a finance reader means. POS gross is the point-of-sale export's own line of that name, which is a different measure. Neither is wrong; showing either one under the bare label “Gross sales” is what makes them get confused. The tender columns reconcile nothing — they are what the day was made of, for reading a variance against.
Cash to bank settles Friday, Saturday and Sunday together on the Monday, so a group's figures sit on its anchor day and its other member days read “in group → date”. That blank means reconciled elsewhere — not zero, and not missing. Spreading a group total back across its days by amount is what attaches a shortage to the wrong day.