WhatsApp us

Blog7 min read29 Oct 2026

Weekly exception report template: late jobs, invoices, deals

A weekly exception report template listing late jobs, unpaid invoices and stalled deals, with the fields, thresholds and owners that make it usable on Monday.

Weekly exception report template: late jobs, invoices, deals

By KYN AI Advisory Team — AI implementation specialists, Singapore

A weekly exception report lists the items that missed their expected state: jobs past their due date, invoices past their terms and deals with no activity for a set number of days. It has three sections, one table each, with an owner and an age on every row. You set the thresholds. A script reads your job tracker, ledger and CRM every Sunday night and sends the report before Monday starts. This article gives the template and the rules behind it.

What is an exception report, and who reads it?

An exception report shows only what is off track. It leaves out everything that is fine. The reader is the person who can act on each row: an operations manager for jobs, a finance lead for invoices, a sales manager for deals. A founder reads the counts and the oldest items.

The test for any row: could the reader do something about it today? If not, remove the row or lift the threshold.

What goes in the template?

Three tables, each full width, one under the other.

1. Late jobs

| Field | Source | Note | |---|---|---| | Job ID and customer | Job tracker | Link to the record | | Promised date | Job tracker | The date the customer was given | | Days late | Calculated | Working days, not calendar days | | Owner | Job tracker | One named person | | Blocker | Job tracker | Free text, last note only | | Value | Job tracker | In the invoice currency |

2. Unpaid invoices

| Field | Source | Note | |---|---|---| | Invoice number and customer | Ledger | Link to the record | | Due date | Ledger | From the payment terms on the invoice | | Days overdue | Calculated | Calendar days | | Amount outstanding | Ledger | After partial payments | | Last chase and date | Reply log | Blank if none | | Owner | Ledger | Who chases |

3. Stalled deals

| Field | Source | Note | |---|---|---| | Deal and account | CRM | Link to the record | | Stage | CRM | Current stage | | Days since last activity | Calculated | Last logged email, call or meeting | | Next step and date | CRM | Blank counts as an exception | | Value | CRM | Open amount | | Owner | CRM | One named person |

At the top, print three counts and the change from last week. Nothing else. No chart is needed.

How do you set the thresholds?

Thresholds define what counts as an exception, so they must come from how your business works.

  • Late jobs: any job past its promised date. If you often hit dates by a day, add a one-day grace and say so in the footer.
  • Unpaid invoices: any invoice past its due date. Split into 1 to 14, 15 to 30 and over 30 days overdue so the reader sees the age.
  • Stalled deals: days of silence differ by sales cycle. A deal that normally moves weekly stalls at 14 days. A deal with a 90-day cycle may stall at 30. Set one number per stage.

Start strict, then loosen. A report with five rows gets read. A report with 80 rows gets archived.

For the invoice chase itself, KYN's own books chase receivables at 3, 14 and 30 days, each step waiting for a named person to approve the message.

How is the report generated?

Plain steps, no model needed for most of it.

  1. A scheduled job queries each source with a read-only account.
  2. It filters by threshold and computes ages in code.
  3. It sorts each table by age, oldest first, and caps each at 15 rows with a count of the remainder.
  4. It sends the report to each owner for their rows and to the manager for all rows.
  5. It writes what it read and sent to a log.

Use a model only for optional work such as shortening a free-text blocker note to one line. Even then, show the original on click. Dates and amounts come from the source, never from the model.

How do you make Monday useful?

A report that lands and is not discussed is decoration. Three habits help.

  • Fixed ten minutes. The managers review the three tables in a short standing meeting. Each row gets one of three outcomes: act, wait with a new date, or remove.
  • Carry-over visible. Mark any row that was on last week's report. Rows that appear three weeks running go to the founder.
  • Dismissals recorded. If someone marks a row as acceptable, record who and why. The report then stops showing it until the facts change.

The log of dismissals is also how you find a wrong threshold.

What are the common errors?

  • Dates in the wrong field. A job tracker with "target date" and "promised date" gives different answers. Pick one and name it in the header.
  • Partial payments ignored. Show the outstanding balance, not the invoice total.
  • Deals with no activity logged because people work in WhatsApp. The report blames the owner for a data gap. Fix capture first. See connecting WhatsApp messages to a CRM.
  • Weekend counts. Compute working days for jobs and calendar days for invoices, and label which is which.

What does a filled-in report look like?

The example is illustrative. It shows a small trading firm with invented data.

Late jobs: 3 jobs, oldest 6 working days

| Job | Customer type | Promised | Days late | Owner | Blocker | |---|---|---|---|---|---| | J-2041 | Retail | 21 Oct | 6 | Ops lead | Waiting on supplier part | | J-2056 | Wholesale | 24 Oct | 3 | Ops lead | Customer has not confirmed address | | J-2063 | Retail | 27 Oct | 1 | Technician | None logged |

Unpaid invoices: 5 invoices, S$14,200 outstanding

| Invoice | Due | Days overdue | Outstanding (S$) | Last chase | Owner | |---|---|---|---|---|---| | INV-881 | 30 Sep | 29 | 5,200 | 14-day reminder | Finance | | INV-890 | 12 Oct | 17 | 3,800 | 3-day reminder | Finance |

The counts at the top carry the change from last week, such as "3 jobs (up 1)". A manager reads the counts first and the oldest rows second. The job J-2063 shows an empty blocker field. That is itself an exception, because a late job with no logged reason cannot be followed up.

How do you handle recurring exceptions?

Some items stay on the report for weeks because the cause is outside your control, such as a customer who disputes an invoice. Handle them with rules rather than by ignoring them.

  • Mark the item as "in dispute" with a review date, so the report stops listing it until that date.
  • Escalate any item that appears three weeks running to the founder.
  • Record the reason when an item is removed, so the log shows why.

An exception that is permanently excused is a threshold set wrong. If the same type of item is dismissed ten times, change the threshold and record the change.

How does the report change for a bigger team?

At 20 staff or more, one report for everyone becomes too long. Split it by owner. Each person receives the rows they own, in the same three tables, with their count on top. The manager receives the combined view with counts per person. This is a filter on the same query, not a new report, so the build cost is small.

Where KYN fits

KYN builds exception reports as part of the operations and finance systems, in a cloud account in your name. The manufacturer system reconciles a ledger of 3,309 rows with zero duplicates and sends department reports on WhatsApp at 06:30. Agents read with restricted accounts, every action is logged with the actor, and chasing messages wait for a named person. The first 14 days are a review of your stack and interviews with your team. A full build ships in under 90 days.

Frequently asked questions

How often should the report run?

Weekly suits most SMEs for deals and invoices. Late jobs may need a daily list if jobs are short. Use the same three tables and change only the schedule.

Should the report chase customers automatically?

No. The report informs. A chase message goes out only after a named person approves it, because it carries your name and affects a relationship.

What if our data lives in spreadsheets?

The job can read a shared sheet, but ages and owners will be unreliable if people edit freely. Moving the data to a database with required fields is usually the first step. See moving warehouse stock tracking off Excel.

Checked 30 October 2026.

Curious whether Marketing agents fits your business? Talk to KYN on WhatsApp — no forms, just a conversation.

Start Building →

Written 29 Oct 2026 · Checked 29 Oct 2026