Skip to content
Automation Squad
QBXTMade to order

Reporting & dashboards

QuickBooks weekly finance KPIs → Excel table + Microsoft Teams post

Invoiced, collected and overdue for the week, in an Excel table and a Teams channel.

Every Monday the workflow queries QuickBooks Online for last week's invoices and payments, and for every invoice past its due date with a balance. It totals invoiced, collected and overdue, appends a row to an Excel table on OneDrive, and posts the figures to a Teams channel with the five largest overdue balances. Built for the bookkeeper or finance manager who assembles this by hand each week. It reports and stops; chasing customers is a different automation.

How it works

  1. QB

    Trigger

    Schedule Trigger at 07:30 each Monday, followed by three QuickBooks Online queries for the week just ended

    QuickBooks Online

  2. QB

    Step 1

    Pull last week's invoices

    The QuickBooks node runs an Invoice query with TxnDate between last Monday and Sunday. Each invoice comes back with customer, TotalAmt, Balance and DueDate.

  3. QB

    Step 2

    Query last week's payments

    Payment records with a TxnDate in the same week come from a second query, with TotalAmt and customer, so cash received is counted from payments rather than from invoice status.

  4. QB

    Step 3

    List every invoice still carrying a balance

    A third query returns invoices with Balance greater than zero; the workflow keeps those with a DueDate before today as the overdue set.

  5. X

    Step 4

    Read last week's row from the KPI table

    The Excel 365 node reads the table's rows; the final one supplies last Monday's invoiced, collected and overdue for the comparison in the Teams post.

  6. if

    Step 5

    Total invoiced, collected and overdue

    A Code node sums TotalAmt across the week's invoices, TotalAmt across payments and Balance across the overdue set, counts each, and ranks overdue customers by balance and days late.

  7. X

    Step 6

    Append the week's row to the KPI table

    One row goes into the table in the workbook on OneDrive: week ending, invoiced, collected, overdue balance, overdue count and the oldest overdue invoice in days.

  8. T

    Step 7

    Post the summary to the finance channel

    Teams receives a channel message with the three totals and counts, the change from last week's row, and the five largest overdue balances by customer with days overdue.

What changes once it runs

  • Invoiced, collected and overdue for the week just ended are in the finance channel by the time the Monday call starts.
  • Every week adds a row to the KPI table, so any chart or pivot built on it runs back to the first week.
  • Customer name and days late accompany the five largest overdue balances. The follow-up list is written before anyone asks for it.
  • Cash received is counted from payment records, not invoice status, so a partly paid invoice shows correctly in both columns.

What you get

  • n8n workflow export with the three QuickBooks queries, the Excel read and append, the Code node and the Teams message
  • Excel workbook template with the KPI table and a weekly chart already built
  • Setup guide covering Intuit production keys, the OAuth connection, the Table requirement in Excel and the Teams channel permission
  • Recorded walkthrough of a first Monday run
  • Field-mapping sheet showing which QuickBooks field feeds which table column

Before you start

  • QuickBooks Online on any plan, Simple Start and above; QuickBooks Desktop is not supported.
  • An Intuit Developer app with production keys for your company file; Intuit asks for app details such as a privacy policy URL before it issues them.
  • A Microsoft 365 account with the workbook on OneDrive or SharePoint and the KPI range formatted as an Excel Table.
  • Consent for the n8n Excel and Teams scopes on first connection; some Microsoft 365 tenants require an admin to grant it.
  • n8n Cloud on any plan, or self-hosted n8n 1.x.

Built for

Questions before you buy

Will it send reminders to customers who are overdue?
No. It reports the overdue set to your team and stops there. Chasing belongs to a separate automation in the finance category, and keeping the two apart means a reporting run can never email a customer by mistake.
How does it handle QuickBooks token expiry?
Intuit's refresh tokens expire after 100 days without use, and the token value itself can change on a refresh, which n8n stores for you. A weekly schedule keeps the connection alive by itself. If the workflow sits paused for longer than 100 days you reconnect once from n8n's credentials page.
Can it run on Make, or with Google Sheets and Slack instead of Excel and Teams?
Google Sheets and Slack, yes: swap the two Excel nodes and the Teams node, keep the field mapping, and the guide lists both variants. Make, no. Ranking overdue customers and comparing against last week's row is done in one Code node; the Make equivalent is a separate build, and the package ships for n8n only.
What are the QuickBooks API limits?
Each query returns up to 1,000 records per page and the node pages through the rest. Intuit's published throttle is 500 requests per minute per company file, and a Monday run makes fewer than ten. Nothing here comes close.
Does the Excel workbook have to be on OneDrive?
It does, on OneDrive or a SharePoint document library, because the Excel node works through the Microsoft Graph API. A file on a local drive will not connect. The KPI range must be an Excel Table rather than a plain range, or the append has nowhere to go.

Nearby on the shelf

Whole catalog