The moment it happens
Flag expenses over $1,000
Any big purchase recorded in QuickBooks is posted to Slack with the vendor, amount and account.
- Runs
- The moment it happens
- Apps
- QuickBooks
- AI
- Not needed
- Access
- accounting
Send this to your assistant
Create a ClickRuntime automation: when an expense over $1,000 is recorded in QuickBooks, send me a Slack message with the vendor, amount and expense account.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A team card, a vendor bill and a reimbursement all end up as expenses in QuickBooks, and most are routine. The one that is not, such as a $4,200 charge from an unknown supplier or a subscription renewed at ten times the usual price, is easy to miss in a list. By the time the bank statement is reconciled, the money has been gone for weeks.
When a new expense is created in QuickBooks, ClickRuntime receives the notification, fetches the purchase, checks the amount against your threshold, and posts to Slack when it is over, for example $1,000. The message includes the vendor, the amount, the account it was coded to and who entered it.
Owners and finance leads at companies where several people can spend or enter expenses get the clearest value.
What you get out of it
Unexpected spending is questioned early
A large charge raised the same day can be disputed with a card issuer or cancelled with the vendor. Waiting until month-end often means the window for a refund has closed.
Fraud and mistakes are caught faster
A stolen card number or a duplicate entry shows as a large unfamiliar amount. Immediate visibility is the difference between a quick chargeback and a long dispute. Quick action protects your refund rights.
Spending authority has a light check
You do not need approval workflows for every purchase. A single alert above a threshold gives leaders awareness of big commitments without slowing down small, routine spending. Big commitments still get seen.
Coding errors surface sooner
The message shows the account an expense was coded to. A $3,000 purchase booked as office supplies instead of equipment is spotted while it can still be corrected before reports go out. Fixing it early keeps your reports honest.
Budget owners stay informed
Department leads watching a channel see large costs as they happen. That helps them spot overspend during the month, when they can still change plans, not in a review afterward.
How it works
What happens, step by step
When an expense is recorded in QuickBooks, QuickBooks tells ClickRuntime straight away.
ClickRuntime looks up the expense and checks whether it is over $1,000.
If it is, a message goes to your #finance Slack channel with the amount, the vendor and the account it was booked to.
Before it runs live
- Connect QuickBooks
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other QuickBooks steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http, notify
REALM_ID = "1234567890"
API = f"https://quickbooks.api.intuit.com/v3/company/{REALM_ID}"
def qb(method, path, **kw):
headers = {"Authorization": f"Bearer {credentials.connection('quickbooks', 'company')}", "Accept": "application/json"}
resp = http.request(method, f"{API}{path}", headers=headers, params={"minorversion": 73, **kw.pop("params", {})}, **kw)
resp.raise_for_status()
return resp.json()
def query(sql):
return qb("GET", "/query", params={"query": sql})["QueryResponse"]
THRESHOLD = 1000
@on_event
def handle(event):
posted = 0
for note in event.json.get("eventNotifications", []):
for entity in note["dataChangeEvent"]["entities"]:
if entity["name"] != "Purchase" or entity["operation"] != "Create":
continue
p = qb("GET", f"/purchase/{entity['id']}")["Purchase"]
if p["TotalAmt"] <= THRESHOLD:
continue
vendor = (p.get("EntityRef") or {}).get("name", "unknown vendor")
account = p["Line"][0].get("AccountBasedExpenseLineDetail", {}).get("AccountRef", {}).get("name", "")
notify.slack(f"Large expense: ${p['TotalAmt']:,.2f} to {vendor} ({account})", channel="#finance")
posted += 1
return {"posted": posted}FAQ
Common questions
Is the $1,000 threshold fixed?
Does it cover bills as well as card expenses?
Who sees the Slack message?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Invoice new customers straight from your order form
Each order or job request becomes a QuickBooks customer and an invoice, sent by QuickBooks, with a confirmation to you.
See how it worksTurn quote requests into QuickBooks estimates
Every quote request or recorded sale becomes an estimate or sales receipt, and you get its number by email.
See how it worksPost to Slack when a customer pays
The moment a payment is recorded, Slack shows who paid and how much.
See how it worksKeep exploring
Set up “Flag expenses over $1,000” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.