Weekly
Get a Monday list of bills falling due
You start the week knowing which supplier bills need paying in the next seven days.
- Runs
- Weekly
- Apps
- Xero
- AI
- Not needed
- Access
- accounting.transactions.read
Send this to your assistant
Create a ClickRuntime automation: each Monday at 8am, email me Xero bills due in the next 7 days with supplier, amount and due date.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Missing a supplier payment has real costs. A landlord adds a late fee, a software vendor suspends the account, and a key subcontractor gets paid last and stops returning calls. In Xero the bills are all recorded, but nobody opens the Bills to pay screen until the end of the month, and by then two of them are already overdue.
Each week, the automation queries Xero for bills, which are ACCPAY invoices, that fall due within the next seven days and emails you the list with supplier, amount and due date. It does not pay anything, it simply puts the upcoming obligations in front of you.
Owners who pay by hand and bookkeepers who prepare payment batches tend to schedule it for Monday morning. It is a plain list with no decisions made for you, which is exactly what many owners want.
What you get out of it
Late fees are avoided
Knowing on Monday that rent and a supplier bill are due Friday gives you time to move cash and pay, so penalties and interest are not part of your costs.
Supplier relationships stay healthy
Paying on time keeps credit terms and goodwill, which matters when you need a supplier to rush an order or extend a payment term. A reliable payer also gets priority when suppliers have limited stock or capacity.
Payment runs are planned
A weekly list of what is due lets you pay several bills in one session instead of reacting to each reminder email as it arrives. Grouping payments saves time and bank fees compared with paying in dribs and drabs.
Cash needs are known early
Adding up the week's bills shows how much cash must be in the account, which prevents the surprise of a payment that bounces. Knowing the total ahead of time helps you avoid a failed payment and the fees that follow.
The list matches your books
Because the reminder reads the bills recorded in Xero, it reflects what you actually entered, not a separate calendar someone has to keep updated. Your recorded bills are the single source, so nothing depends on a separate reminder list.
How it works
What happens, step by step
Every Monday ClickRuntime looks through your unpaid supplier bills in Xero.
It keeps the ones falling due in the next seven days.
You get an email listing each bill's due date, supplier and amount, soonest first.
Before it runs live
- Connect Xero
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
- Run it at a different time, more or less often, or only on weekdays
- 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 Xero steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, notify
API = "https://api.xero.com/api.xro/2.0"
def xero_headers():
token = credentials.connection("xero", "work")
tenant = http.get("https://api.xero.com/connections", headers={"Authorization": f"Bearer {token}"}).json()[0]["tenantId"]
return {"Authorization": f"Bearer {token}", "xero-tenant-id": tenant, "Accept": "application/json"}
@on_trigger
def run(event):
end = date.today() + timedelta(days=7)
where = f'Type=="ACCPAY" AND Status=="AUTHORISED" AND DueDate<=DateTime({end.year},{end.month},{end.day})'
bills = http.get(f"{API}/Invoices", headers=xero_headers(), params={"where": where, "order": "DueDate"}).json()["Invoices"]
lines = [f"{b['DueDateString'][:10]} {b['Contact']['Name']}: {b['AmountDue']:,.2f}" for b in bills]
if lines:
notify.email_me(f"{len(lines)} Xero bills due this week", "\n".join(lines))
return {"bills": len(lines)}FAQ
Common questions
Does it include bills I have already paid?
Can I extend the window beyond seven days?
Will it flag bills that are already overdue?
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
Get overdue invoices in Slack by age
Each morning Slack lists invoices overdue by 7, 14 and 30 days, without repeating ones already flagged at that stage.
See how it worksSee the week's payments every Friday
A Friday email lists the payments Xero recorded this week and their total.
See how it worksCompare last month's P&L with the month before
On the 1st you get profit and loss for the previous two months side by side.
See how it worksKeep exploring
Set up “Get a Monday list of bills falling due” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.