Use “What each client owes” in Recued. One line per client: what is outstanding, across how many invoices, and how long the oldest has been due.
What each client owes
Use “What each client owes” in Recued. One line per client: what is outstanding, across how many invoices, and how long the oldest has been due.
Complete workflow
Use Invoice Book in Recued for invoicing, receivables, getting paid, and freelance. It includes 17 built-in actions and 9 ready-to-run workflows. Actions that change data use Recued's approval controls.
You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.
Use “Issue an invoice” in Recued. Turn the entries you picked into an invoice: lines frozen at issue time, total computed once from minutes, and a balance that payments come off.
Use “Record a payment” in Recued. Take a payment off an invoice's balance. Part payments are supported; overpayment is refused rather than absorbed, and the invoice settles when the balance reaches zero.
Use “Who owes you” in Recued. Every open invoice with what is outstanding, which are overdue, and the oldest one still unpaid.
Use “Records runtime” in Recued. It helps you complete this workflow using the connections and settings you choose.
Use “Add something billable” in Recued. Anything you can charge for that is not logged time — a fixed fee, materials, a call-out. A negative amount is a credit.
Show all 10 recipes
Use “Delete a pending item” in Recued. Remove something from the pending list. If it came from logged hours, you choose whether those hours go back on the unbilled list or get deleted with it.
Use “Pull hours into pending items” in Recued. Turn unbilled time entries into pending billable items, priced at a rate you give.
Use “What could go on an invoice” in Recued. Everything billable and not yet invoiced — hours you pulled across and fees you typed in — each with its id, so you can choose.
Use “Carry a balance forward” in Recued. Close a part-paid invoice and issue a new one for exactly what is left, with the VAT carried in proportion. The new invoice takes no items.
One question, one query
list-open-invoices shows you invoices. This shows you clients — the view you actually want before a chase call, because a client with four invoices at £300 is a different conversation from one with a single £1,200.
⛔ The totals are exact. The pack declares this as a grouped aggregate op, so the money is summed inside Records as scaled integers. Adding up decimal strings in a recipe would go through Number() and drift — £1,234.10 + £5,678.20 is £6,912.299999999999 in floating point, and it rounds away to something that looks right until it doesn't.
⚠ It is one query, not one per client. The grouping happens in the same scan that reads the rows, which is why this stays usable when you have hundreds of clients rather than five.
What it will not do
⚠ Owed is invoices only. Time you have logged and not yet invoiced is not a debt — nobody has been asked for it. list-unbilled-hours is that question.
⛔ Currencies do not add up, so pick one. Each invoice carries its own currency and this sums whatever it is given. Leave the filter blank across a mixed book and you get a number with no unit, which looks like money and is not. The recipe refuses to render a total when it was not given a currency to hold to.
⚠ A client with no email lands in one row marked (no client email). They are not dropped and not silently merged into a blank name — an invoice with nobody attached is a real invoice with real money on it, and the row is there so you go and fix it.
⚠ Long lists are capped. Past 200 clients the list says so rather than quietly showing you the first 200 as though that were all of them. Every figure shown is still whole; what is missing is rows.
How it works
Inspect the data fetches, transforms, gates, and output this recipe runs.
Settings
Configurable at install. Defaults shown — change them anytime in Recued.
status
setting
=
open
currency
setting
=
GBP