What it does
QuickBooks Invoice Aging Alerter is an MCP agent for SMB finance teams and accountants. It pulls the Accounts Receivable aging report from QuickBooks Online (current, 1-30, 31-60, 61-90, 90+ day buckets), computes a composite risk score per overdue customer from days overdue, amount, and repeat-delay history, adds follow-up activity notes directly in QuickBooks, and posts a masked daily summary to a Slack #finance channel. Guardrails: no automatic customer-facing communication is ever sent, payment plan negotiations are flagged for human approval, and financial amounts are partially masked in Slack. Runs fully offline in mock mode without credentials, so teams can evaluate the workflow before connecting a live QuickBooks account.
Example prompts
- Run the full AR aging alerter and post today's summary to Slack
- Show me the current AR aging report by bucket
- List overdue invoices sorted by risk
- What's the risk profile for this customer's overdue invoices?
Tools (9)
Tools the agent exposes — your AI client calls them automatically when it needs them.
- run_full — Run the QuickBooks AR aging alerter end-to-end: collect overdue invoices, score by risk, add QB follow-up notes, send Slack summary.
- get_aging_report — Fetch the QuickBooks AR aging report and return buckets (current, 1-30, 31-60, 61-90, 90+ days) with totals.
- list_invoices — List overdue invoices with risk scores and customer data, sorted by risk score descending.
- get_customer_risk — Get the risk profile for a specific customer: overdue invoices, risk score, recommended action.
- create_note — Add a follow-up activity note to a QuickBooks invoice. Requires live QB credentials.
- post_slack_alert — Send the AR aging summary to the Slack #finance channel.
- discover_intent — Intent-discovery: state your AR collections goal in plain language and get a proposed input.
- plan_inputs — Plan the inputs for a tool: returns questions, schema and a ready-to-edit example.
- list_capabilities — List the agent's tools, credential slots and configuration options.
What you'll need to connect
This agent will ask you for the following. You enter them when you connect — they're encrypted and never shared with the creator.
- QuickBooks Client ID · optionalQuickBooks OAuth2 client ID from the Intuit Developer portal.Get this from oauth.platform.intuit.com's account or API settings.Paste the value as a single line.Only sent to: oauth.platform.intuit.com
- QuickBooks Client Secret · optionalQuickBooks OAuth2 client secret.Get this from oauth.platform.intuit.com's account or API settings.Paste the value as a single line.Only sent to: oauth.platform.intuit.com
- QuickBooks Refresh Token · optionalLong-lived OAuth2 refresh token for QuickBooks Online.Get this from oauth.platform.intuit.com's account or API settings.Paste the value as a single line.Only sent to: oauth.platform.intuit.com
- QuickBooks Realm ID · optionalQuickBooks company/realm ID (visible in the QB URL after ?realmid=...).Get this from quickbooks.api.intuit.com's account or API settings.Paste the value as a single line.Only sent to: quickbooks.api.intuit.com
- Slack Bot Token · optionalSlack bot token (xoxb-...) with chat:write permission for the #finance channel.Create a Slack app (api.slack.com/apps), add the scopes the agent needs, install it to your workspace, and copy the bot/user token.Paste the value as a single line.Only sent to: slack.com
- Anthropic API Key · optionalOptional. Leave blank on a sampling-capable client to use the host model with no key.Create a key on the Anthropic Console API keys page (console.anthropic.com → API keys).Paste the value as a single line.Only sent to: api.anthropic.com
How you're protected
FindAgent runs these safety checks on every agent automatically. They're always on and can't be turned off.
- Prompt-injection scanning
Every request is checked for known prompt-injection and jailbreak attempts before the agent runs. This is always on.
- Secret-leak scanning
Every response is scanned for leaked API keys, tokens, and other secrets before it reaches you. This is always on.