The moment it happens
Log expenses and catch budget overruns
Your expenses land in a sheet, and you're warned when a category goes over its monthly budget.
- Runs
- The moment it happens
- Apps
- Google Sheets
- AI
- Yes, uses the built-in AI allowance
- Access
- read+write
Send this to your assistant
Create a ClickRuntime automation: give me a link to send expenses to. Add each to my Expenses sheet with a category, and email me when a category goes over its limit in the Budget tab this month.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A freelancer logs expenses in a Google Sheet when she remembers to: software, travel, meals, equipment. Categories are inconsistent, so Travel and Transport both exist, and the Budget tab where she set monthly limits is never compared with real spending. At the end of the month she finds that software subscriptions went 40 percent over what she planned, and the money is already gone.
The moment an expense is sent in, ClickRuntime adds it as a row, and if the description is free text, such as lunch with client, the built-in AI picks the category. It then sums the month-to-date spending for each category, compares it with the limits on your Budget tab, and emails any category that has passed its budget.
Freelancers, small teams and households use it to spot overspending while there is still time to adjust.
What you get out of it
Overspending is noticed mid-month
An email when software passes its budget on the 18th gives you two weeks to pause a subscription. A discovery on the 31st gives you a number and nothing to do about it.
Categories stay consistent
Free-text entries are assigned to one category list, so Travel and Transport do not split into two. Totals by category are reliable, and your reports and tax summaries are simpler to prepare.
Budgets are actually used
A budget in a separate tab is easy to ignore. Comparing it with every new expense turns it from a plan on paper into a limit that you are told about when you reach it.
Quick logging means more complete records
Sending a short text takes seconds, so you are more likely to record small purchases. Complete records make end-of-year tax preparation faster and reduce missed deductions. Receipts stop piling up in a drawer until January.
A clear view of month-to-date by category
Each alert shows the amount spent against the budget for that category. You know exactly how much is left, without opening the sheet and adding up a column by hand.
How it works
What happens, step by step
When you send a new expense, ClickRuntime receives it straight away.
AI picks a category for it, such as Software or Travel, and the expense is added as a row in your Google Sheet.
ClickRuntime adds up this month's spending in that category and compares it with the limit on your Budget tab.
If a category goes over budget, you get an email with how much was spent against the limit.
Before it runs live
- Connect your Google Sheets account and pick the spreadsheets it may use
- 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
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other Google Sheets steps into one automation
Under the hood
The code that runs this automation
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from datetime import date
from clickruntime import on_event, credentials, state, ai, notify
SHEET_ID = "your-spreadsheet-id"
CATEGORIES = ["Software", "Travel", "Meals", "Office", "Other"]
@on_event
def handle(event):
exp = event.json or {}
sheets = build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False).spreadsheets()
cat = ai.generate(f"Pick one category from {CATEGORIES} for this expense, reply with it only: {exp['description']}",
max_output_tokens=10).text.strip()
cat = cat if cat in CATEGORIES else "Other"
today = date.today().isoformat()
sheets.values().append(spreadsheetId=SHEET_ID, range="Expenses!A:D", valueInputOption="USER_ENTERED",
body={"values": [[today, exp["description"], float(exp["amount"]), cat]]}).execute()
rows = sheets.values().get(spreadsheetId=SHEET_ID, range="Expenses!A2:D").execute().get("values", [])
spent = sum(float(r[2]) for r in rows if len(r) > 3 and r[3] == cat and r[0][:7] == today[:7])
limits = dict(sheets.values().get(spreadsheetId=SHEET_ID, range="Budget!A2:B").execute().get("values", []))
limit = float(limits.get(cat, "inf"))
alert_key = f"alerted:{today[:7]}:{cat}"
if spent > limit and not state.get(alert_key):
notify.email_me(f"{cat} is over budget", f"{cat}: {spent:,.2f} spent this month against a limit of {limit:,.2f}.")
state.set(alert_key, True)
return {"category": cat, "spent": spent}FAQ
Common questions
How does it send an expense in?
What if the AI picks the wrong category?
Can the budget be different each month?
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
Add form entries to a sheet as they arrive
Anything sent to your link, from a form, a website or another tool, appears as a new row.
See how it worksFill in company details from their websites
Each company in your sheet gets its industry, B2B or B2C, and a one-line summary from its own website.
See how it worksScore new leads in your sheet
New leads get a score from 1 to 10 and a reason, so you know who to call first.
See how it worksKeep exploring
Set up “Log expenses and catch budget overruns” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.