A billing policy is a rule that says what happens to billable time of a given kind: it is paid at the rate, it is free of charge, or it draws from a named time bank. Policies exist at several levels so that a contract can be expressed once and overridden where needed. The billing run resolves the policy for every entry and records the outcome: charged, bank, or free.
How it relates to other concepts
- Levels, from most specific to least: the ticket's own policy, the project's policy for the kind, the client's policy for the kind, the workspace default for the kind, and finally paid.
- The ticket field is "Inherit" by default and shows the resolved rule; workspace users on the project may override it to Paid, Free, or a bank.
- The kind is what a policy keys on, so "Support draws from the bank; Implementation is paid" is two policy rows on the client.
- Free and bank time still carries a notional value in reports, computed from the rate card.
Rules
- A workspace default is paid or free only. A time bank belongs to one client, so bank rules are set at client, project, or ticket level.
- A policy that names a bank not belonging to the entry's client, or scoped to another project, blocks the run.
- Policies are read live at the run: changing a client's policy affects every unbilled entry, in any period, that resolves to it.
- Resolution happens per entry at run time, so two entries on the same ticket logged under different kinds (after a kind change) can end differently. Elevated client users cannot change a kind while unbilled billable time exists for this reason.
- Only Owners and Admins set client, project, and workspace policies.
Example
Workspace default: everything paid. Nordic Retail: Support → time bank "Support 10h". retail-shop: no overrides. Ticket ACME-190 (Support) inherits the bank. A one-off goodwill ticket is set to Free on the ticket itself.