Which figures belong in a weekly report?
Include only figures someone will act on during the week. Long reports get skimmed, so aim for about ten figures and drop any that nobody has acted on for a month. For each figure, name the person who acts on it and the action, such as chasing a debtor or delaying a purchase. Show this week, last week and the change. Leave detailed analysis to the monthly accounts, which include accruals and adjustments that weekly figures do not.
- Cash at bank across all accounts.
- Receivables more than 30 days overdue, with the five largest debtors.
- Bills due in the next seven days.
- Sales invoiced this week and month to date.
- Quotes sent, quotes won and the value of each.
- Jobs completed but not yet invoiced.
Where does each figure come from?
Give every figure one named source, so the report never mixes two versions of the same number. The Xero Reports API provides Profit And Loss, Balance Sheet, Aged Receivables By Contact, Aged Payables By Contact, Bank Summary, Budget Summary, Executive Summary and, for Australian organisations, a BAS report. The Profit And Loss and Balance Sheet reports accept tracking category parameters, which suits businesses that track divisions, branches or job types in Xero. Quote and job figures come from your job management or CRM system through its own API. Pipeline figures should come from the CRM, not from a spreadsheet someone updates by hand, or the report will only be as current as that spreadsheet.
Should AI write the numbers or the commentary?
Calculate the numbers in code from the source data and give the AI only the finished figures. A language model can then write two or three sentences on what changed most and why it might matter, such as a jump in overdue receivables after a large invoice passed 30 days. Instruct it to use only the figures supplied and to name the figure it refers to. Before sending, an automatic check compares every number in the commentary with the table. If a number in the text does not appear in the table, the commentary is dropped and the report goes out without it.
How do you stop a wrong number going out?
Run checks before anything is sent and hold the report if any fail. A report that arrives late with a note is more useful than one that arrives on time with a wrong cash figure. For the first four to six weeks, send the report to a reviewer, usually the bookkeeper, before the owners. Keep a copy of every report sent and the data behind it, so that when an owner questions a figure weeks later, you can show exactly what the systems returned on the day.
- Bank feeds have a statement line from the last business day.
- The number of unreconciled bank lines is below an agreed level.
- The aged receivables total agrees with receivables on the balance sheet.
- Each figure is within an expected range of last week, or is flagged.
- Every source returned data; a failed pull sends an alert instead of a partial report.
How does the report work within Xero's limits?
A weekly report uses only a handful of API calls, well inside Xero's published limits of 60 calls a minute and 5,000 a day for each organisation on the higher developer tiers, or 1,000 a day on the Starter tier. Schedule the pull early on the reporting day, after overnight bank feeds have arrived. The Profit And Loss report accepts a periods parameter for comparing up to 11 periods. Xero notes that when periods are combined with a date range, each earlier period uses the same number of days, so monthly comparisons should start in a 31-day month to avoid cutting a day off.
What format do owners actually read?
A short email with one table and a few lines of commentary at the top suits most owners, because it can be read on a phone between jobs. Put figures that need action first and mark them clearly, then the rest. Add a link to the full Xero report for anyone who wants detail, rather than attaching long PDFs. Send it at the same time every week so people expect it. Ask the owners after a month which figures they used and which they ignored, and remove the ignored ones.
