Xero Overdue Invoice Summary Report

Get a daily summary of overdue invoices with aging breakdown and collection priority.

Nora pulls overdue invoice data from Xero each morning and sends a summary report via Gmail. Shows total overdue amount, customer breakdown, and aged buckets (30, 60, 90+ days). Helps finance teams prioritize collection calls and spot problem customers.

Nora runs daily at 8 AM, connecting to Xero to pull all unpaid invoices past their due date. It groups these records by customer, calculates the days overdue for each invoice, and sorts them into aging buckets of 30, 60, and 90+ days. Nora then formats this data into an HTML summary table with detailed invoice rows and emails it to the finance team via Gmail.

The finance manager skips the manual process of running aged receivables reports and cross-referencing contact details. They start their morning reading the summary directly in their inbox to see which accounts hold the most overdue debt. The manager still decides which customers require a phone call, whether to negotiate payment plans, or if an account needs to be put on credit hold.

Runs daily at 8 am using Xero and Gmail, run by your Finance Manager.

How it works

  1. Daily schedule triggers the run — At 8 AM every weekday, the internal cron schedule initiates the reporting task. Nora authenticates with Xero and Gmail using the stored OAuth credentials, establishing a secure connection to begin the daily data extraction and reporting sequence for the finance team.
  2. Pulls open invoices from Xero — Nora queries the Xero API for all invoices with an unpaid status and a due date strictly before the current date. It retrieves the invoice number, total amount due, currency, and the associated customer contact record to build the foundation of the report.
  3. Handles empty overdue results — If the Xero query returns zero overdue invoices for the day, Nora determines there is nothing to report and terminates the workflow early. It skips generating the HTML document and does not send an email, keeping the team inbox clear of unnecessary notifications.
  4. Groups and calculates aging buckets — Nora organizes the retrieved invoices by customer. It calculates the exact days overdue for each individual invoice and assigns the financial totals into standard aging categories of 1 to 30 days, 31 to 60 days, 61 to 90 days, and over 90 days.
  5. Generates the HTML summary report — The categorized data is formatted into a structured HTML document. Nora creates a top-level summary showing total overdue debt, followed by a prioritized list of customers sorted by their oldest outstanding balances and the total amounts they owe the business.
  6. Sends the email via Gmail — Nora creates a new message using the Gmail API, embedding the HTML report directly in the email body. It sends the message to the designated finance team address and any secondary recipients, completing the daily automation run.

What this replaces

A finance manager logs into Xero each morning to run the aged receivables report. They export the data to a spreadsheet, manually group the invoices by customer, and sort them to find the largest or oldest debts. They then look up contact details in Xero for the worst offenders and paste everything into an email to brief the broader team.

Rough estimate rather than a measured figure: about 15 minutes a day, based on generating the report, sorting a spreadsheet of 40-50 overdue invoices, and drafting the daily email.

What it needs to run

Accounts and plans

Access it asks for

What Nora reads

What Nora writes

When it goes wrong

Who this is for

Worth it if

Not worth it if

A worked example

Harbour Kitchen Supplies issues around 200 invoices a month to local restaurants. Nora is configured to pull overdue balances daily at 8 AM and email the summary to the finance manager and the general manager.

Subject: Daily Overdue Invoice Summary - Oct 14

Total Overdue: $14,250.00

Aging Breakdown:
1-30 Days: $8,000.00
31-60 Days: $4,500.00
90+ Days: $1,750.00

Priority Accounts for Collection:
1. The Coastal Bistro - $6,200.00 (3 invoices, oldest 65 days)
Contact: accounts@coastalbistro.example.com

2. Northside Cafe - $1,750.00 (1 invoice, oldest 92 days)
Contact: 555-0192

3. City Hotel - $2,300.00 (2 invoices, oldest 35 days)
Contact: payable@cityhotel.example.com

Frequently asked questions

How do I change the minimum overdue amount Nora includes in the report?

You tell Nora directly in your chat channel. If you decide you only want to see invoices with a balance over fifty dollars, you send a message asking it to ignore smaller amounts. Nora updates its instructions for the next morning. There is no settings page or filters menu to navigate.

Does Nora send emails directly to the customers who owe money?

No, this automation only sends an internal summary report to your own finance team via Gmail. It reads the contact information from Xero to display it in your report, but it does not write or send messages to external parties. You retain full control over actual debt collection communication.

What happens if an invoice is disputed and we agreed to delay payment?

If the invoice still shows as overdue in Xero, Nora includes it in the daily summary. To prevent this, you can ask Nora to filter out invoices containing specific text in the reference field, or you can adjust the expected due date directly in Xero so it falls out of the overdue query.

Can I change who receives the daily email if someone is on leave?

Yes. You send a message to Nora in your chat channel instructing it to route the report to a different email address or add a temporary recipient. When the person returns from leave, you simply tell Nora to revert the recipient list to the original finance team address.

Connects to

Related automations

Start a 2-week free trial · Browse all automations