Documentation / Modules
Agreements & time
Two rate levels, provenanced time captured at the point of work, and a human approving every billable hour.
Exactly two rate levels
A work-role default, and a per-client override. There is no third source, and the resolution path is checked for one.
Where neither exists, the rate resolves unresolvable and the caller raises. It never returns zero, null, or a guess — a silent zero on a billable line is a loss nobody notices until the invoice.
Time is captured, not reconstructed
Time entries carry provenance — what the work was, which ticket, and how the duration was established. Written at the point of work rather than remembered at 6pm on Friday.
Genie never approves
Drafting time and approving time are different acts. Genie drafts; the entry stays unapproved until a person approves it. This is a permanent boundary — you are charging a client for it.
Agreement drift
Contracted quantity against live count, continuously. Both directions matter, and over-billing ranks above under-billing — one is a money problem, the other is a relationship problem.
The client-authorised change record
Alongside the agreement: which change classes this client pre-approved, in what window, with what notice, who signed it and their authority to do so.
It narrows what Genie may do; it never widens it. Absent means nothing is pre-authorised, and it expires with the person who signed it.
Not running it yet? Start a thirty-day evaluation — read-only, on your own estate, no card.
Thirty days · read-only · no card
Run it beside what you already have, against your real clients. It tells you what your tools are reporting that is not true.