A billing policy is a rule per ticket kind that tells the billing run what to do with billable time: charge it at the rate (Paid), price it at zero (Free), or draw it from a client's time bank (Bank: {name}). Rules can be set for the whole workspace, for a client, for a project, and on a single ticket; the run takes the most specific rule it finds.
Before you start
- Workspace, client, and project rules are set by Owners and Admins in the browser.
- A ticket's Policy is set by workspace users on the project (and Owners, Admins, or anyone triaging the Inbox). Client users never set billing fields.
- A bank rule needs a time bank on the client first.
The three rules
| Rule | Effect at the run |
|---|---|
| Paid | Minutes are charged at the resolved rate. |
| Free | Minutes appear on the timesheet under "Free of charge" with no amount. Their notional value is still visible in reports. |
| Bank: {name} | Minutes consume the named time bank first. What the bank cannot cover is overage, charged at the rate or free according to the bank's Overage setting. |
Where rules live
| Level | Where | Allowed rules |
|---|---|---|
| Workspace default | Settings → Consultant categories → Default policies, one per kind: Not set (paid), Paid, Free | Paid or Free only. "A workspace default is paid or free; a time bank belongs to one client." |
| Client | Clients → client → Policies, column Client, per kind: Paid (default), Free, or a bank | Paid, Free, Bank |
| Project | Same tab, column Per project, for every project that bills this client: Inherit from the client, Paid, Free, or a bank | Paid, Free, Bank |
| Ticket | Ticket page, Billing (staff) group, Policy: Inherit, Paid, Free, or Bank: {name} | Paid, Free, Bank |
The Default policies hint explains the workspace level: "The rule a kind bills by when neither the ticket, the project, nor the client sets one. Clients inherit it live; a time bank is set per client."
Resolution order
"Resolution at the run: ticket, then project, then client, then paid." In full:
- The ticket's own Policy, if set.
- The project rule for the ticket's kind, if set.
- The client rule for the ticket's kind, if set.
- The workspace default for the kind, if set.
- Paid.
Two details about bank rules:
- A bank that is archived, or whose start and end dates do not cover the work date, is skipped as if the rule were not there, and resolution continues to the next level.
- A bank that does not belong to the entry's billing client, or is scoped to other projects, is an error. The run reports the blocker The policy names a bank that does not belong to this client or project and refuses to commit until the rule is changed.
Resolution happens per entry at the run, with the entry's kind and work date. Changing a rule later affects unbilled entries only; a correction reuses the policy its original was billed with.
Outcomes
Each priced entry ends up with one or more outcomes: charged, bank, or free. An entry under a bank rule can split, for example 45 minutes bank and 15 minutes charged as overage. Outcomes show on the run page, in the Outcome grouping of reports, and on the client timesheet.
Examples
- Support is included in Acme's monthly retainer: on Clients → Acme AS → Policies, set Support to Bank: Retainer. Every Support ticket billed to Acme now draws from the bank unless a project or ticket says otherwise.
- Warranty fixes on one project are free: on the same tab, under Per project for that project, set Bug to Free. Bugs on Acme's other projects stay Paid.
- One specific bug is charged after all: on that ticket, set Policy to Paid. The ticket rule beats the project rule.
- Bugs are free for every client by default: under Settings → Consultant categories → Default policies, set Bug to Free. Any client, project, or ticket rule still overrides it.
Common problems
"The rule must be paid, free, or a time bank." The value sent through the API is not one of the three forms.
"Unknown time bank." The bank in the rule does not exist in this workspace.
"No projects bill to this client." The Per project column is empty because no project has this client as its billing client. Project rules are only offered for such projects.
The ticket's Policy picker shows no banks. Banks are offered for the ticket's current billing client only, and archived banks are hidden.