Weekly
Get a weekly receivables and payments email
Each Monday you see the total still owed to you next to what customers paid last week.
- Runs
- Weekly
- Apps
- Zoho Books
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every Monday at 8am, email me the total of unpaid Zoho Books invoices, the top 5 customers by balance, and all customer payments received last week.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Owners of small businesses ask the same two questions on Monday: how much are we owed, and how much came in last week? In Zoho Books the answers live in separate reports, one for receivables and one for customer payments, and each needs the right date range. The question gets answered once a month at the close, which is too late to change anything.
Every week, all unpaid invoices are totaled to get the amount outstanding, and customer payments received over the last seven days are summed. An email arrives with both figures, so you can see inflow against what remains owed. It takes the place of two reports you would otherwise run by hand.
Particularly handy for owner-operators and part-time bookkeepers. Because it comes weekly, the two figures form a rolling record of cash movement that a monthly report cannot give you.
What you get out of it
A simple weekly cash picture
Two numbers, owed and received, say whether collections are keeping pace with billing. You can decide on spending, hiring or a supplier payment with real information, not a guess at what the bank will show.
Early signs of slow payers
If the owed number rises week after week while received stays flat, customers are paying more slowly. You notice the trend a month before it hurts and can tighten terms or chase earlier.
Reports you do not have to run
Setting date ranges and exporting two reports in Zoho Books takes ten minutes that rarely get spent. The email makes the habit automatic, so the picture is there even in busy weeks.
Good input for lender or investor updates
Weekly totals give you concrete figures to quote when a lender or investor asks about collections. Nobody has to rebuild them from memory or reconstruct them from old reports. Everything is dated and searchable.
Part-time help stays on track
A bookkeeper who works two days a week still has a consistent record of what happened on the other days. Handovers get easier, and the owner can follow along without logging in.
A basis for payment terms
Seeing receivables climb against steady billing is a good moment to review your payment terms. You can shorten them, ask for deposits or offer a discount for early payment, using your own figures.
How it works
What happens, step by step
Every Monday ClickRuntime gets your unpaid invoices and last week's customer payments from Zoho Books.
It adds up the total still owed and shows which customers owe the most.
It totals what customers paid over the last week.
Both figures arrive in your inbox as one email.
Before it runs live
- Connect Zoho Books
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 Zoho Books steps into one automation
Under the hood
The code that runs this automation
from collections import defaultdict
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, notify
ORG_ID = "your-zoho-organization-id"
ZB = "https://www.zohoapis.com/books/v3"
def zoho(path, **params):
token = credentials.connection("zoho-books", "work")
resp = http.get(f"{ZB}/{path}", headers={"Authorization": f"Zoho-oauthtoken {token}"},
params={"organization_id": ORG_ID, **params})
resp.raise_for_status()
return resp.json()
@on_trigger
def run(event):
unpaid = zoho("invoices", status="unpaid", per_page=200)["invoices"]
by_customer = defaultdict(float)
for i in unpaid:
by_customer[i["customer_name"]] += i["balance"]
top = sorted(by_customer.items(), key=lambda kv: -kv[1])[:5]
week_ago = (date.today() - timedelta(days=7)).isoformat()
payments = [p for p in zoho("customerpayments", sort_column="date", sort_order="D")["customerpayments"] if p["date"] >= week_ago]
body = (f"Unpaid total: {sum(by_customer.values()):,.2f}\n\nTop customers:\n"
+ "\n".join(f"{n}: {v:,.2f}" for n, v in top)
+ "\n\nPayments last week:\n" + "\n".join(f"{p['date']} {p['customer_name']}: {p['amount']:,.2f}" for p in payments))
notify.email_me("Weekly receivables", body)
return {"unpaid": len(unpaid), "payments": len(payments)}FAQ
Common questions
Are partially paid invoices included?
Does it handle multiple currencies?
Which week does the received amount cover?
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
Post overdue Zoho Books invoices to Slack each morning
Your team starts the day with a list of late invoices, their customers and amounts, ready to chase.
See how it worksFlag Zoho Books expenses above a limit
Any expense over your threshold shows up in Slack within the hour it was recorded.
See how it worksAnnounce paid Zoho Books invoices in Slack
When an invoice is marked paid, the customer and amount land in Slack straight away.
See how it worksKeep exploring
Set up “Get a weekly receivables and payments email” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.