Use “Show unbilled hours” in Recued. What you have worked and not yet billed, per task. Hours and entry count come from the store over every matching row; the per-task money breakdown covers the entries fetched, and the card says when those differ.
Show unbilled hours
Use “Show unbilled hours” in Recued. What you have worked and not yet billed, per task. Hours and entry count come from the store over every matching row; the per-task money breakdown covers the entries fetched, and the card says when those differ.
Complete workflow
Use Billable Hours in Recued for time tracking, invoicing, freelance, and consulting. It includes 11 built-in actions and 4 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 “Open an engagement” in Recued. Record a client and the hourly rate you bill them. Keyed on the label, so re-running with the same one converges instead of opening a second engagement at a different rate.
Use “Log hours” in Recued. Record one block of work against an engagement. It uses the connections and settings you choose when you run it.
Use “Bill a period” in Recued. Group a period's unbilled billable hours by task, stamp each entry with your invoice reference, and produce invoice lines whose amounts add up to the total. Entries already carrying an invoice reference are left alone, so running it twice cannot charge the same hour twice.
Use “Records runtime” in Recued. It helps you complete this workflow using the connections and settings you choose.
Reading it
Unbilled is billable time not yet stamped by Bill a period. That is the number that is worth money to you today.
⚠ Non-billable time is counted separately and is never in the amount. It is shown because knowing how much unbillable work an engagement absorbs is the point of tracking it at all.
⚠ The amount is computed at the engagement's CURRENT rate, not the rate in force when each hour was logged — the rate lives on the engagement, not on the entry. If you raised your rate mid-engagement, this revalues old unbilled hours upward. Open an engagement says how to avoid that: a second engagement.
⚠ Money is rounded once, here, to two decimals. Minutes are stored exactly; nothing accumulates rounding across entries because the conversion happens on the total, not per row.
⛔ This groups by task and rounds per group exactly as bill-period does, so the figure here is the figure you will bill. Rounding once on the grand total instead would make this preview disagree with the invoice by a penny or two — which is worse than either rule on its own, because you would not know which one was wrong.
⛔⛔ THE HOURS AND THE ENTRY COUNT ARE COMPLETE; THE MONEY BREAKDOWN COVERS THE ENTRIES FETCHED. They come from two different places on purpose. The totals are computed by the store over every matching row (entry.unbilled_rollup), so they do not silently shrink when you have more unbilled work than one page holds — which is exactly what a page-derived total used to do, and it was understating money owed. The per-task breakdown still needs the rows themselves, so it shows what the limit fetched.
⚠ When the two disagree the card says so and warns. Raise the limit and re-run to make the amount complete. A quiet smaller number is the failure worth avoiding here: you would invoice it.
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.
limit
setting
=
200
period
setting
=
engagement id
setting
=
[object Object]