Skip to content

Weekly

Get a Friday sales and cash summary

Every Friday you see what was invoiced, what was collected and what is still outstanding, compared with last week.

Runs
Weekly
Apps
QuickBooks
AI
Not needed
Access
accounting (read)

Send this to your assistant

Create a ClickRuntime automation: every Friday at 4pm, email me this week's QuickBooks totals for invoices created, payments received and open receivables, with last week's figures beside them.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Owners often feel good or bad about a week based on a couple of big events, not the actual numbers. Whether you invoiced more than last week, how much of it was collected, and how much is still outstanding sit in three different QuickBooks reports. Without a weekly view, a slow slide in collections can run for a month before it is noticed.

Every Friday, ClickRuntime totals the week's invoices and payments from QuickBooks, adds up the open balances, compares each figure with the previous week using a stored value, and emails you a short summary. You see invoiced, collected, outstanding and the change from last week in one place, ready to read before the weekend.

It works well as a standing agenda item for weekly owner and finance check-ins.

What you get out of it

  • A repeatable weekly rhythm

    The same three numbers every Friday create a habit of looking at money weekly. Small changes become visible while there is still time to adjust, instead of showing up in a quarterly review.

  • Invoiced versus collected is clear

    A busy week of invoicing with little collected is a warning that cash will be tight soon. Seeing both together makes that gap obvious, and it prompts a push on collections before bills come due.

  • Trend against last week is built in

    The stored value from the previous Friday means each email shows the change, not just a figure. You immediately know if outstanding receivables are growing, flat or shrinking. Direction matters more than any single figure.

  • Meetings start from facts

    A weekly check-in with partners or your bookkeeper is shorter when everyone has read the same summary. Discussion moves to what to do, not what the numbers are. People argue less about the numbers.

  • Problems are spotted before they compound

    If outstanding balances grow for three weeks in a row, you see the pattern early. Responding with reminders, a payment plan or tighter terms is far easier at that stage than after the quarter closes.

How it works

What happens, step by step

  1. Every Friday, ClickRuntime adds up this week's invoices and the payments received in QuickBooks.

  2. It also totals what customers still owe.

  3. It compares the numbers with last week's, which it saved last time.

  4. You get an email with this week's invoiced amount, payments and open balance next to last week's figures.

Before it runs live

  • Connect QuickBooks

What you get

RunsWeekly
Get a Friday sales and cash summarytoday, 9:00Succeeded
Email · Weekly sales and cashInvoiced: $18,400.00 (last week $15,250.00) Payments received: $12,900.00 (last week $14,100.00)

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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 QuickBooks steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
weekly_sales_and_cash_summary.pyexample
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, state, 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"]

@on_trigger
def run(event):
    monday = (date.today() - timedelta(days=date.today().weekday())).isoformat()
    invoiced = sum(i["TotalAmt"] for i in query(
        f"select * from Invoice where TxnDate >= '{monday}' maxresults 1000").get("Invoice", []))
    received = sum(p["TotalAmt"] for p in query(
        f"select * from Payment where TxnDate >= '{monday}' maxresults 1000").get("Payment", []))
    open_ar = sum(i["Balance"] for i in query(
        "select * from Invoice where Balance > '0' maxresults 1000").get("Invoice", []))
    now = {"Invoiced": invoiced, "Payments received": received, "Open receivables": open_ar}
    prev = state.get("last_week") or {}
    lines = [f"{k}: ${v:,.2f}" + (f" (last week ${prev[k]:,.2f})" if k in prev else "") for k, v in now.items()]
    notify.email_me(f"QuickBooks week of {monday}", "\n".join(lines))
    state.set("last_week", now)
    return now

FAQ

Common questions

How is outstanding balance calculated?
It is the sum of open balances on invoices at the time the report runs. Invoices that have been fully paid are not included, and partial payments reduce the figure. It reflects what customers owe you on Friday, not what was owed at the week's start.
Which days count as the week?
By default the week covers Monday through Friday or the seven days up to the run, depending on what you prefer. Using a fixed window means each summary can be compared with the one before it without overlap.
Will the first email show a change from last week?
Not the first time, because there is no earlier week stored yet. The first summary records the starting values, and every email after that includes the comparison. Expect the full trend information from the second Friday on.
What permissions does it need?
accounting (read). Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (weekly). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get a Friday sales and cash summary” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.