Send QuickBooks receivables aging to Slack
The aging report, posted to the finance channel every Monday. QuickBooks goes into your data warehouse first, where each snapshot is kept and read next to the invoices and payments behind it, and only then reaches Slack.
QuickBooks Endpoints
26 QuickBooks endpoints you can import. Each lands in its own table in your data warehouse.
A/P Aging Summary report
A/P Aging Summary as of report_date (window end): one row per vendor with aging buckets.
11 fieldsTime seriesA/R Aging Summary report
A/R Aging Summary as of report_date (window end): one row per customer with Current, 1-30, 31-60, 61-90, 91+ and Total columns.
11 fieldsTime seriesAccounts
Chart of accounts, active and inactive.
20 fieldsBalance Sheet report
Balance Sheet as of the run window end (Assets, Liabilities, Equity by account).
12 fieldsTime seriesBill payments
Payments against vendor bills; joins to Bill through Line[].LinkedTxn.
23 fieldsBills
Vendor bills (payables).
25 fieldsCash Flow report
Statement of Cash Flows for the run window.
12 fieldsTime seriesCompany info
One row per company: names, country, fiscal-year start.
15 fieldsCredit memos
Credits issued to customers (reduce receivables; negative revenue in reconciliations).
23 fieldsCustomers
Customers, including inactive ones and sub-customers, with open balance and a flattened billing address.
28 fieldsDeposits
Bank deposits, including the ones that group undeposited customer payments.
21 fieldsGeneral Ledger Detail report
General Ledger: every posting line per account for the run window, with opening balance and totals.
12 fieldsTime seriesInvoice changes (CDC, incl. deletes)
Change data capture for Invoice: every invoice created, updated or deleted since the run window start, full payload, deleted ones with status = Deleted.
9 fieldsTime seriesInvoices
Invoices with header amounts, customer and Line[] as JSON (SalesItemLineDetail.ItemRef, Qty, UnitPrice, Amount).
36 fieldsItems
Products and services with price, purchase cost and the three account links.
25 fieldsJournal entries
Manual and adjusting journal entries; the postings the transaction tables miss.
15 fieldsPayments
Customer payments.
21 fieldsPreferences
One row per company: home currency, multi-currency flag, fiscal-year and tracking settings.
17 fieldsProfit and Loss report
Profit and Loss per run window, one column per month (summarize_column_by=Month), rows nested by account group.
12 fieldsTime seriesPurchases
Expenses paid directly (cash, check, card) without a bill.
26 fieldsRefund receipts
Money refunded to customers.
26 fieldsSales by Customer report
Sales by Customer Summary for the run window.
12 fieldsTime seriesSales receipts
Sales paid at the time of sale (no receivable).
27 fieldsTransfers
Money moved between balance-sheet accounts.
16 fieldsVendor Expenses report
Expenses by Vendor for the run window.
12 fieldsTime seriesVendors
Vendors, including inactive ones, with open payable balance.
19 fields
Why QuickBooks does not post straight to Slack
QuickBooks can email an aging report, but not into a channel and not as a history. A number posted in Slack is quoted at once, so the snapshot has to be saved with its run time and read beside the invoices that moved it. That join belongs in a warehouse first.
- Monday's figure is quoted all week, so it has to be reproducible
- Slack channels are quoted in meetings, so every figure needs one definition
- The data analyst joins the snapshot to invoices and payments and controls what the message says
Step 1: Load QuickBooks into your data warehouse first
Create a Data Mart with QuickBooks as the source and choose where the data lands. The QuickBooks connector is a custom connector built in OWOX Data Marts, and the data goes into any popular data warehouse.
- The A/R Aging Summary report is one of 8 report snapshots among the 26 endpoints
- Authorize QuickBooks Online with OAuth and give the company (realm) id
- Open the QuickBooks connector for your data warehouse below
Step 2: Link QuickBooks aging to invoices and payments
In your data warehouse the model joins A/R aging, Invoices and Payments on realm_id, so each aging row can be traced, by the customer id inside report_rows, to the invoices and payments that moved it.
- Each snapshot keeps its company and the time it was run
- Invoices and payments explain why a bucket changed
- Definitions are written once, so Monday's post matches the close
Step 3: Send QuickBooks reports to Slack
Create a Slack destination in OWOX with the email address of the channel that should get the report, then add a report to the published QuickBooks Data Mart. The message is Markdown, and Preview shows how it looks in Slack.
- Slack gives every channel an email address, and OWOX posts to it
- Type / in the message to place the A/R Aging Summary report table: report_time, end_period, currency, report_columns
- Create & Run sends the first report at once
Step 4: Add a short QuickBooks analysis under the report in Slack
Write two or three lines under the table in the same message. Add a trigger on the Triggers tab, for example every Monday morning, and the channel gets a fresh run each week.
- The lines read report_time and currency from the report, with no figure from outside it
- The table is filled from a new run of the Data Mart before every send
- A report with a send condition posts only when the result is not empty
Step 5: Reuse QuickBooks aging reports
The same Data Mart works in OWOX, where your assistant for data can read it. Ask about any report, then get the result in Google Sheets or Excel in one click.
- Ask which snapshot shows the biggest overdue pile
- The aging report is stored with every run
- 0.41.0Dates from Google Sheets arrive as dates, not text
- 0.41.0Rotating a connector key is one change: Sources share reusable Credentials
- 0.40.0Connecting a plan from Google Sheets takes fewer guesses
- 0.39.0Reload a year of history in one backfill, not twelve
- 0.39.0Long Facebook Ads imports no longer fail on a corrupted response
Why OWOX for QuickBooks in Slack
A scheduled QuickBooks email lands in one inbox. OWOX posts the aging snapshot in the channel where collections gets discussed, with its history behind it.
- Aging with its cause. The snapshot is joined to invoices and payments, so the message is a starting point, not a dead end.
- You own the data. QuickBooks lands in your own data warehouse, in tables you control before anything reaches Slack.
- Slack stays simple. Paste the channel email address once; no Slack app to build and no token to renew.
- Posts only when it matters. Set a report to send only when the result is not empty.
- One place to fix. When Intuit changes its API, you update the connector, not your Slack setup.
You are booked. The invitation is on its way to , with the calendar invite and the meeting link.
