Income and the rate you actually get
Three values, income recognition, the by-fact rate on the project card, and the settlement at the end.
Three values
Everything rests on three values that never mix:
- Done — recognised income: the value of work already earned.
- Invoiced — hours marked invoiced/paid × rate. What a счёт exists for.
- Paid — counted in two steps. First, how much work is covered by money: the larger of your two statements, the hours you marked «paid» and the money that arrived (never their sum — the same money is not counted twice). Then project outflows are subtracted. So the first payment you log doesn't undo what you marked by hand, an advance still shows in full, and paying a contractor lowers the line however much the client paid: that money never reaches the year goal and drags the by-fact rate down. The hours don't shrink — the client paid for all of them, the hour simply came out cheaper.
These three lines are about the selected window: what you did, invoiced and received this week, month or year. Paid above done → «of it paid ahead»: an advance still to be worked off (the hatched band on the bar).
How much is still owed to you, though, has no window. It used to be the gap between done and paid inside the period, so a month could show a bigger shortfall than the whole year: this month's work had already been paid for by money that arrived earlier. And one line mixed two different things — «not invoiced yet» and «invoiced but unpaid».
Below the divider there is now Cash flow — the same three figures the Bureau money rail and the project cards use, across all clients and with no period:
- Owed to you — invoiced minus received. Debt starts with an invoice, not with a logged hour.
- Ready to bill — logged hours that aren't on an invoice yet. Work beyond a fixed price sits here too: a reminder to cover it with the next job or write it off when the project closes.
- Paid in advance — money that arrived ahead of recognised work.
Debts and advances of different clients never cancel out: if one client owes 1,000 and another paid 1,200 up front, you are still owed 1,000. Within a single client they do cancel — the money may land on one project while the work spreads across three. Teammates' hours are priced at their own client rates, not the owner's.
An advance doesn't make you richer — it makes you owe hours. The bar shows that honestly.
How income is recognised
Each project has its own mode — derived from its settings, nothing to switch on.
Hourly (a rate is set). Recognised by entry date: hours × rate, minus the project's external outflows — subscriptions and outside contractors. That money never reaches the year goal, so both the progress and the by-fact rate come down; the hours stay, the hour simply came out cheaper. Payouts to your own team members do NOT reduce recognised income: their hours were never in your goal, and subtracting the payout would penalise you twice.
A rate change applies from today: every hour is valued at the rate in force on its date — raising the rate can never re-price the past year.
Fixed (a fixed price is set). The fix spreads over invoiced hours; recognition never exceeds the fix — in the year's progress and the client report alike. With no hourly rate at all, the full fix is recognised as soon as the project is invoiced. The cap applies EVERYWHERE, the project's own header included: «invoiced» and «unbilled» together never exceed the fix, however many hours went in. The overrun doesn't vanish — it shows as a falling by-fact rate and as the «ready to bill» line in Cash flow.
Retainer (a payment carries a period). A «three-month advance» recognises itself calendar-ratably — equal daily shares across the period, even if you log nothing. Hours are informational; no project close needed. «Your rate» for such a project shows the factual one: recognised ÷ hours.
Cash (no rate, no fix). Money recognises on its payment date. Hours count in stats but never mint money. In «Your rate» an hour of such a project is worth its by-fact rate — everything received to date ÷ all its billable hours, as on the card. No payments yet — no price per hour, and the project stays out of the average.
Free — hours without money.
The project card — by-fact rate
The card shows your by-fact rate: money in pocket ÷ actual hours (overrun and underpayment drag it down). Beside it, a coloured mark of the gap to the plan — the rate you set at start: green if you held it, orange if you slipped. A ±5% neutral zone keeps +1% from looking like a win. Projects with no rate (cash) have nothing to compare against — no colour there.
In the archive the card leads with that by-fact rate: «owes» and «unbilled» aren't shown. What's really going on with a finished project's payment can't be known for sure — but your rate always can.
When every billable hour of a project is marked «paid» (the status pushed all the way right in the journal), a green «paid» lights up on the card, and «owes» / «unbilled» step aside — you've marked it settled yourself.
«Your rate»
A weighted average over recognised income and hours of money projects. Free projects are excluded. Cash-mode projects take part at their by-fact rate: a week on a project that brings €32 an hour can't show €248 an hour off two hours elsewhere. Retainers show their factual rate — it may differ from the nominal one in settings, and that's worth seeing. The same figure shows in the timer's statistics.
Next to it always stands the required rate from the Method — the gap between the two is the main signal.
Closing a project is a settlement
«Close project» locks the outcome: full value recognises (the whole fix or every logged hour), the year counts the project by its actual cash, and you see the final rate: received ÷ hours.
Fully reversible: the settlement is computed, never stored. «Reopen project» recalculates everything back as if it was never closed.
Tags
Type #tag in any entry — it becomes a colored label shared across projects. Reports include a «By tag» slice: hours and money per label across all projects.
Next: debt, advances and invoices, the year goal and the daily norm, and all the calculation rules.