Fees in Clio Operate start with a fee template. The template is configured in Admin, and it controls the fees that can be charged for a type of work: which fees are available, which of them are mandatory, what the amounts are, and where those amounts come from. The template holds no money and is never billed itself. A template is used as the basis for a statement of work or a matter, and once it is added there, it is called a commercial model. The commercial model is the fee arrangement for that matter. It carries the estimate, the charge-out rates used by time recording, and the controls on which actuals can be recorded. Fee earners never see a fee template. They see a commercial model, displayed in the Financial Frameworks widget.
Three things have to line up before any of that works. Each is explained below, along with what the upgrade does to fees that already existed.
- Configure fee templates covers how to create, configure and manage fee templates: the four levels a template is built from, the eight section types, element configuration, tax, and how versioning keeps changes away from matters that are already in flight.
- Make fee templates available to use covers how a template reaches a work item, the two global features involved, the settings that control fee behaviour per work type, the widget and list views on the portal page, and the five routes onto a work item.
- Manage fees on a matter covers the result: adjusting and approving the estimate, recording fixed and hourly fee actuals, when a fee can and cannot be edited, and writing off fees.
- Migrate existing fees covers what happens to fees that existed before the 7.13 upgrade: the Migrated billing status they arrive with, the Reclassification Wizard that moves them in bulk, and the changes the migration makes to tax and disbursement sections.
Fees had a major rewrite in 7.13. For what changed, what has been removed, and what to check after upgrading, see the Fees release note.
Configure fee templates
Fee Templates
A fee template controls the fees that can be charged for a type of work.
Fee templates overview
A fee template controls the fees that can be charged for a type of work. It sits in configuration, holds no money, and is never billed itself. A template describes the fees a firm charges for a type of work, for example, the rates agreed with a particular client or the standard charges for residential conveyancing.
Firms typically run several templates on a site. Templates vary by area of work, by client, and by charging model.
How a template becomes a real fee
When a template is added to a work item, a commercial model is created. The commercial model is the fee arrangement for that work item, and it holds the estimate and the actuals.
- A configurator builds and publishes a fee template in Admin.
- A published version of that template is added to a statement of work, an instruction or a matter, creating a commercial model.
- Clio Operate builds a fee structure from the template version. The estimate and the actuals both come from this structure.
- Fee earners work the estimate through its phases, then record actuals against it.
Terminology
| Term | What it means | Who uses it |
|---|---|---|
| Fee template | The configuration-level blueprint. Defines sections, elements and rules. | Configurators |
| Template version | A published snapshot of a template. Commercial models pin to a version, not to the template. | Configurators |
| Section | A block of fees within a template. Each section has a type, which decides how its fees are calculated. | Configurators |
| Element | A single line within a section, for example, one job role and its hourly rate, or one fixed fee. | Configurators |
| Commercial model | The instance of a template version on a work item. Holds the estimate and the actuals. | Configurators and fee earners |
| Financial Frameworks | The widget on a work item that displays its commercial models. | Fee earners |
| Estimate | The projected fees, also referred to as the quote. | Fee earners |
| Fee actual | A real fee recorded against the work item. Creates unbilled revenue. | Fee earners |
How a template is put together
A fee template has four levels, and knowing which level a setting sits at saves a lot of hunting. Each level does one job.
| Level | What it is | What is set here |
|---|---|---|
| Template | The whole thing. One per charging arrangement. | The name a fee earner sees, the currency, whether tax applies, and whether the estimate can be adjusted at all. See Create a template. |
| Version | A published snapshot of the template. A work item uses a specific version of a template, not simply the current version. | Publishing a template creates a version. This is how a change to a template does not affect existing commercial models on matters. See Versions and publishing. |
| Section | A block of fees within the template. A template usually has several. | The section type decides how amounts are arrived at, and whether the section feeds the estimate, the actuals or both. See Sections. |
| Element | A single fee within a section. | The amount or the rate, whether it is mandatory, whether a fee earner may change it, and whether it is created automatically. See Elements. |

Estimate, actuals or both is the decision that shapes everything else
Targeting is set on a section, and again on an element where the section feeds both. It decides what the template actually produces: a quote, a set of controls on what can be recorded, or both. A template whose sections are all targeted at actuals produces no estimate at all, which is normal on legal aid and time and materials work. Settle this per section before configuring anything else, because it changes which of the other settings are relevant.
What a template controls
- Which fees can be on an estimate, and whether each one is mandatory, recommended or optional.
- Which fees can be recorded as actuals, creating unbilled revenue.
- The amounts and rates, either entered into the template or drawn from a rate card.
- Whether the estimate starts in draft for adjustment, or goes straight to active.
- Whether any fees are created automatically as soon as the commercial model becomes active.
- The tax rate applied to the estimate.
- The charge-out rates available when a fee earner records time against the work item.
A template also acts as a boundary. A fee earner cannot invent a fee on a work item. Every fee has to exist as an element in the template the commercial model is based on.
Where fee templates connect to the rest of Clio Operate
| Area | Connection |
|---|---|
| Rate cards | Sections can draw their amounts from a rate card instead of holding them in the template. Rate cards are versioned, so rate changes flow through automatically. |
| Time Recording | Fee templates hold the charge-out rates used by time recording. The fee selector on a time entry lists the sections available on that work item's active commercial models. |
| Chart of Accounts |
Fee actuals can post to an unbilled revenue account, named in the Unbilled Revenue global feature. A firm that does want separate accounts for unbilled hourly and unbilled fixed fees sets those as fee type overrides in the feature. This is optional, fees do not have to recorded in unbilled revenue. |
| Statement of Work | A commercial model on a statement of work can be inherited by the instruction or matter created from it. |
| Tax | Tax-enabled templates reference a tax code. Fee amounts are always net. |
| Approvals | A commercial model can be linked to an approval workflow, so an estimate needs sign-off before it becomes active. |
| Business Rules | The Hourly Rates by Business Rule section type resolves its rate by evaluating a business rule against the time recorder. |
Before you start creating fee templates
Permissions
Templates are maintained in Admin, so a configurator needs access to the Finance area of Admin.
Order of work
A fee template sits in the middle of a chain. Build it too early and its sections have nothing to point at. Build it too late and there is nothing for a statement of work to carry.
| Step | What to do | Why it comes here |
|---|---|---|
| 1 | Build the Rate cards. | A section can only point at a rate card that already exists. Rate cards also carry the rate history, so this is where an annual uplift is made later. |
| 2 | Configure the tax rates | The tax code selection is mandatory as soon as tax is enabled on a template. |
| 3 | Enable and configure the Unbilled Revenue global feature. | Fee actuals can post to an unbilled revenue account, named in the Unbilled Revenue global feature. Whether a fee type posts at all is set there too, by Record Unbilled Fees in Chart of Accounts, so a firm can record fees without carrying them in the chart of accounts. The same feature is where separate accounts for unbilled hourly and unbilled fixed fees are set. |
| 4 | Enable the Fee Structures global feature and set its approval model. | This is the master switch. The per work type feature cannot be configured until it is on, and the global feature is not valid without an approval model. |
| 5 | Enable Fee Structures on each relevant work type, and set its Purpose. Reach the settings from the global feature, which lists the work types, or from the work type under Manage Features. | A template cannot be attached to a work type that does not have the feature enabled. A template resolved against one returns Fees are not enabled for this work item type. |
| 6 | Build and publish the fee templates. | This is the step the rest of this article covers. Only published versions can be used on a work item. |
| 7 | Attach commercial models to the statements of work that matters will inherit from. | Inheriting from a statement of work is the most common way a template reaches a matter. |
Steps 4, 5 and 7 are covered in Make fees available to use.
Also needed, depending on the section types used
Each section type has its own prerequisites. The eight types are described under Section types, so read that first where the template's shape is not yet settled.
Four of the eight section types depend on configuration that sits outside Fees. Put these in place before building a section of that type, because the section cannot be saved without an element and the element cannot be completed without them.
| Section type | What it needs first |
|---|---|
| Hourly Rates By Job Role |
Job roles. Elements match to a job role, so the roles need to be in place and assigned. A user holds one job role, recorded directly against the user. It used to be set on one of their allowed teams, so a user could effectively carry more than one. The assignment dates matter as much as the role, because a fee is priced at the role the person held on the date the time was recorded. See Record fee actuals. Where the section matches on a user defined field instead, that field needs to exist and be selectable through Data Composer. |
| Hourly Rates By Time Code | A time classification, and the time codes within it. The section references the classification, and its elements are filtered to the codes inside it. |
| Hourly Rates By Business Rule | An aspect and a business rules. The field the rule queries has to exist on the user record, and the rule has to be written to read it. Legal aid grading is the usual case. |
| Any section using rate cards | The matching rate card type. Fixed Fee draws from Fixed Price Services, Disbursements from Purchase Items, and Hourly Rates By Job Role from Charge Out Rate. |
Rate card rules matter as much as the rate cards
Elements are evaluated against the work item when a template is attached, and elements that fail their rate card rules are dropped. A template with correct amounts but wrong matching rules resolves to nothing on a matter. Check the rules on the rate card items, not only the rates.
How job roles, rate cards and fees fit together
An Hourly Rates By Job Role section is the only part of Fees that depends on three features at once. Four things have to be right, each configured somewhere different, and the fee earner sees the same symptom whichever one is missing: a message above the fee selector and no fee.
| What | Where it is configured | What happens if it is missing or wrong |
|---|---|---|
| A job role, assigned to the person, with a start date that covers the date of the time entry | Admin, under user management | No role is recorded on the entry. The fee earner is told the time booker has no role |
| A Charge Out Rate card with an item for that job role, in the matter’s currency | Admin > Finance > Rate Cards | No element matches. The fee earner is told the role does not apply to the selected fee section |
| A rate on that item, in force on the date of the entry | The rate card item | An element matches but carries no price for that date, and the fee earner is told to ask for the rate card prices to be updated |
| A template section with Use rate cards on, and an element linked to that item | The fee template editor | The template’s own typed rate is used instead, or no element matches at all |
Two things follow from that chain.
- The date matters as much as the role. The rate comes from the job role the person held on the date the time was recorded, and from the rate in force on that same date. Neither is taken from today. So back-dated time can price differently from the same work recorded today, and correctly so.
- This only applies to the job role route. Hourly Rates By Time Code and Hourly Rates By Business Rule do not use rate cards at all. Their rates are held on the template, so none of the above applies to them. A configurator who assumes every hourly section needs a rate card will go looking for configuration that is not required.
Decisions to make first
| Decision | Why it matters |
|---|---|
| Currency | A template holds a single currency. Currency locks as soon as the first element exists, and the template picker on a work item only offers templates whose currency matches that work item. |
| Estimate, actuals or both | A template can drive the estimate only, the actuals only, or both. This is set per section. |
| Draft or auto-activate | Where the amounts are fixed and there is nothing for a fee earner to adjust, auto-activate removes the draft stage. Where the fees are expected to be tailored per matter, leave the draft stage in place. |
| Rate cards or template amounts |
Rate cards are versioned, so a rate change is made once and flows through to every template that references it. Amounts typed into a template have to be maintained template by template. When to use a rate cardUse a rate card where the amounts are reused and likely to change, for example, annual charge-out rate uplifts. Type amounts directly into the template where they are bespoke to one client and unlikely to change, so there is no rate card to maintain alongside. |
| How much flexibility a fee earner gets | Requirement level, allow override and allow multiple together decide how far an estimate can be varied from the template. |
Using the fee template editor
The Fee template editor is where a template is built. A configurator drags sections and elements in from the toolbox, then configures each one in a panel that follows whatever is selected.
The idea is familiar to anyone who uses the visual workflow designer: drag items in from a toolbox, and configure whatever is selected in a panel. This tab covers the mechanics of the fee template editor: where an item can be dropped, which configuration tab is showing, and which actions belong to a section rather than to an element.. What each setting does is under Configure sections and elements.
Open the editor
- Navigate to Admin > Finance > Fee Templates.
- Select New to create a template, or select an existing template to edit it.
- The Fee template editor blade opens. Maximise it if the layout is cramped.
Blade layout
The editor has three working areas, plus the blade toolbar above them.
| Blade toolbar | Save, Save and publish, Clone, Delete, Usages, and minimise and maximise. |
| Toolbox | Every section type and element available, ready to be dragged onto the template. |
| Design | The template as it stands. This is where sections and elements are added, selected, reordered and deleted. |
| Configuration | The settings for whatever is selected, under a Template tab plus a Section or Element tab. The Configuration area shows the Template tab at all times, and then either a Section tab or an Element tab, depending on what is selected in the Design area. |

Add sections and elements
Everything available sits in the Toolbox. Drag a section type or an element from there onto the Design area.
A section or element cannot be dropped anywhere. As an item is dragged across the Design area, a red line appears wherever it can be dropped, so the valid positions are shown rather than guessed at.

A section cannot be saved until it holds at least one element
Quick add is dragged onto a section like any other element, but instead of creating one element it opens the Rate Card Search blade to the right of the editor, so several elements can be created in one action.
- Drag Quick add onto the section.
- Select Search on the toolbar to return every rate card, or type in the Search field to find particular ones.
- Where the results run to several pages, use Next and Previous on the toolbar to move through them.
- Select the items required. The … menu at the top of the list offers select all on page, unselect all on page and clear selection. Select all and unselect all act on the page displayed, not on the whole result set. A selection made on page one survives moving to page two, so a multi-page selection is built up page by page and cleared in one go with clear selection.
- Select Confirm. An element is created for each item selected, taking its name and value from the rate card item.

The configuration tabs
The Configuration area displays whatever is selected in the Design area. There are three states.
| With this selected | The Configuration area shows |
|---|---|
| Nothing | The Template tab only. |
| A section | A Section tab alongside Template, with the Section tab's contents displayed. |
| An element | An Element tab alongside Template, with the Element tab's contents displayed. |
What each setting on those tabs does is covered under Configure sections and elements.

The design area
The Design area has three views: Designer, Estimate and Actuals.
Designer view
Each section displays its section type and what it targets, estimate or actuals or both. Each element inside it displays:
- The element title.
- The requirement, which is the value of Include in estimate: optional, mandatory or recommended.
- The cardinality, which indicates whether the element allows multiple.
Errors and review flags
Where there is a problem on a section or an element, Error displays in red beside it with a count for the number of errors. Errors are generally fields that need to be completed. Review sometimes displays in orange.
Working with sections and elements
Selecting a section or element displays a toolbar to its left.
| Action | On a section | On an element |
|---|---|---|
| Delete | Deletes the section and everything in it. | Deletes the element. |
| Clear | Removes every element from the section, leaving the section and its settings in place. | Not offered. |
| Move up and down | Changes the section's position in the template. | Changes the element's position in the section. |
Each section also carries an arrow to expand or collapse it, and a double arrow at the top of the Designer view expands or collapses every section in the template at once.

Bounds
The template and its elements display with green dotted lines around them. Selecting a section or an element puts a solid green line around it. A cog icon called Show/Hide bounds turns the dotted lines off.
Scrolling and reset
The Design area scrolls, and it is possible to scroll far enough that nothing is displayed at all. A curved back arrow called Reset returns the display to the top of the template.
Estimate and Actual views
Create a template
View the fee template list
- Navigate to Admin > Finance > Fee Templates.
- Review the list. It displays the template name, an indicator showing whether an unpublished draft exists, the current version number, and the currency.
Create or edit a template
- Select New to create a template, or select an existing template to edit it.
- The Fee template editor blade opens. There is a Maximise option if the layout is cramped.
- Select the Template tab in the properties panel. These settings apply to the whole template, and several of them decide what the sections and elements can do.
![]() |
Title | Mandatory. The template name, displayed in the fee template list in Admin. This is a configurator's name rather than a fee earner's, so it can be as descriptive as the firm needs. |
| System Name | Mandatory. Generates from the title and has to be unique. The designer blocks the save while a duplicate exists, so a template copied from another needs its system name changing before it will save. | |
| Friendly Name | The default title given to the commercial model when the template is added to a work item, and the name that can appear on a quote document. A fee earner can override it. This is the fee earner's name for the arrangement, so it is worth setting even where the title is clear, because the title is not what they see. |
|
| Description | What the template is for. | |
| Currency | A template holds a single currency. It locks as soon as the first element exists, so it has to be right before any building starts. Changing it afterwards means a new template. The template picker on a work item only offers templates whose currency matches that work item. Where the currency cannot be resolved for the work item, the picker returns nothing and displays no error. |
|
| Auto-activate and lock estimates | Skips the draft estimate stage. The commercial model goes straight to active when the template is added to a work item, and the estimate cannot be adjusted. Turn it on where every element is mandatory and none allows the amount to be overridden, because there is then nothing for a fee earner to adjust and no reason to make them open and approve an estimate. Leave it off wherever a fee earner is expected to shape the estimate. |
|
| Tax enabled / Tax Code | Whether the template calculates tax. Turning it on makes a tax code selection mandatory, and the template can use the system default tax code or name a specific one. Tax is calculated from the net amounts rather than added as a line of its own, and it appears on the estimate only. Fee amounts throughout the template are always net. It also switches on the element setting Override template's tax code, which is how the exceptions are handled, a zero rated court fee being the usual case. See Elements. |
|
| Auto-created fee phase | The state that automatically created fee actuals start in. Draft by default, with Submitted and Approved the other options. Revising is not offered, because it is only reachable from Submitted. It affects only fees the template creates on its own, which means elements with Automatically create fee switched on. Fees a fee earner records by hand always start in Draft whatever this is set to. The value is held on the template version, so it travels with the published version a commercial model pins to. A fee actual's state drives its chart of accounts posting status, so this is an accounting decision rather than a workflow shortcut. See Posting to the chart of accounts. Draft posts nothing, Submitted makes the fee ready to post, and Approved posts it immediately. Choosing Approved means that the moment the commercial model activates, unbilled revenue is recognised, the fee is already locked for editing because only Draft and Revising are editable, and the fee is immediately eligible for write-off. Picking it to save clicks removes the review step before revenue is recognised. |
|
| Enabled | Whether the template can be used at all. A disabled template is not offered in the picker on a work item, even where a published version exists. |
Next Step
Add sections and elements to the template.
Sections & elements
Fee template sections
A section is a block of fees. Its type decides how amounts are arrived at, what its elements are configured with, and which screens the resulting fees display on. A template can hold as many sections as it needs, including several of the same type, for example, one section per phase of a matter.
An element is a single line within a section. Element settings decide whether a fee earner gets that line automatically, whether they can remove it, whether they can change its amount, and whether the fee is created for them.
Section Types
Eight section types are available. The type decides how the fee is calculated, what its elements capture, and whether it can drive estimates, actuals or both.
| Section type | What it charges for | Estimate | Actuals | Rate cards |
|---|---|---|---|---|
| Fixed Fee | A flat amount per fee, either typed into the template or drawn from a rate card. | Yes | Yes | Optional |
| Fixed Fee Tiered | A flat amount that varies by threshold band, for example, by property purchase price. | Yes | Yes | Optional |
| Fixed Fees - Hourly Rates | A fixed amount derived from hours multiplied by a rate. | Yes | Yes | Optional |
| Hourly Rates By Job Role | Charge-out rates that vary by the job role of the person recording time. | Yes | Yes | Optional |
| Hourly Rates By Time Code | Charge-out rates that vary by the time activity recorded. | Yes | Yes | No |
| Hourly Rates By Business Rule | Charge-out rates resolved by evaluating a business rule against the person recording time. | Yes | Yes | No |
| Conditional Tiered Success % | A percentage of an outcome value, varying by threshold band. | Yes | Yes | No |
| Disbursements | Expected disbursements on a bill. Not created automatically. | Yes | No | Optional |
Expand each section below to find out more about each section type along with worked examples.
Fixed fee
Use it for transactional fees, for example, an onboarding fee, an abortive fee or a set fee for a defined piece of work.
Elements capture a display name and a fixed amount, or link to a rate card item on a Fixed Price Services rate card. Where the section does not use rate cards and Specify estimate as a range is on, elements capture a from and a to amount instead.
Elements can also carry a Trigger, a free text description of the event that causes the fee to be charged.
Worked example: criminal defence
A firm charges a set fee for police station attendance and a separate fee for a court appearance, both fixed whatever the time taken.
| Element | Amount | Requirement | Allow multiple |
|---|---|---|---|
| Police station attendance | £250 | Recommended | Yes |
| Magistrates' court appearance | £400 | Optional | Yes |
Both allow multiple, because a matter can involve several attendances. Neither is mandatory, because not every matter reaches court.
Fixed fee tiered
Use this where a flat fee varies by a threshold that is known for the matter. A residential purchase is the standard example. The solicitor charges a fixed fee, and that fee depends on the purchase price of the property.
| Purchase price from | Purchase price to | Fee |
|---|---|---|
| £1 | £150,000 | £400 |
| £150,000 | £500,000 | £600 |
Each element is one band, capturing a From Value, a To Value and a Fee Amount. Elements sort by their from value.
Worked example: residential conveyancing
Set Threshold type to currency and Validate overlapping thresholds to Must Be Sequential, so the bands cannot leave a gap. Each band is one element, all mandatory, with no override allowed.
| Element | From | To | Fee |
|---|---|---|---|
| Up to £150,000 | £1 | £150,000 | £400 |
| £150,000 to £500,000 | £150,000 | £500,000 | £600 |
| Over £500,000 | £500,000 | £2,000,000 | £900 |
Give each element a display name. Where a name and both values are set, only the name displays, which reads better than a range on the estimate.
Section settings specific to this type
- Threshold type sets the data type of the band boundaries: currency, integer or decimal. Use integer where the threshold is a quantity rather than a value, for example, a number of transactions completed.
- Validate overlapping thresholds sets how strictly bands are policed. Allow Overlap applies no validation, Don't Allow Overlaps blocks the save where bands overlap, and Must Be Sequential requires the bands to run consecutively.
Conditional tiered success %
Use this for percentage-based fees, commonly no win no fee arrangements. The fee is a percentage of an outcome value rather than a set amount.
Each element captures a From Value, a To Value and a Success Fee percentage. The from value is inclusive and the to value is exclusive. Validate overlapping thresholds works the same way as on Fixed Fee Tiered.
Worked example: debt recovery
Debt recovery is a typical example. A firm charges a higher percentage on smaller debts, because the work is much the same and the recovery is smaller. Commission is charged on each payment the debtor makes, at a percentage that falls as the debt rises, because a larger debt returns more in absolute terms for similar work.
| Element | From | To | Success fee |
|---|---|---|---|
| Small debt | £0 | £10,000 | 15% |
| Standard debt | £10,000 | £50,000 | 10% |
| Large debt | £50,000 | £250,000 | 7.5% |
Turn Allow multiple on. An instalment plan can run for years and commission is charged each time the debtor pays, so the actuals group under one element with a quantity against them.
Personal injury work charged as a percentage of damages recovered is the other common use.
Fixed fee hourly rate
This type works out the amount from hours multiplied by a rate, but produces a fixed sum. It belongs with the fixed fee surfaces rather than the hourly ones, and its fees are recorded manually rather than generated from time entries.
When a fee earner adds one of these fees, the role and rate display read-only, and they enter the hours. The amount is calculated. The description pre-fills from the role and the rate, and can be edited.
The name says hourly, the behaviour is fixed
This type is the legacy hourly fees handler. It lets a firm quote for hourly work and capture the result as a fixed fee. It is not the type to use for charge-out rates driven by time recording.
Worked example: A quoted piece of advisory work.
The firm quotes six hours of partner time to review a commercial lease, and bills it as one fixed sum rather than tracking the time.
| Element | Role | Rate | Hours | Amount |
|---|---|---|---|---|
| Lease review | Partner | £350 | 6 | £2,100 |
The fee earner enters the hours when recording the fee, and the amount is calculated. The description pre-fills from the role and the rate.
Hourly rates by job role
The most common way to hold charge-out rates. Elements match to organisational roles, so a time entry recorded by a partner picks up the partner rate.
Section settings specific to this type
- Match elements based on selects whether elements match on organisational role, which is the default, or on a user defined field.
- Field appears only when matching on a user defined field, and selects the field through Data Composer.
- Allow user to pick element if not matched lets a fee earner select an element manually where no automatic match is found.
Element settings specific to this type
Elements capture the role, the hourly rate, and optionally estimated minimum and maximum hours. The minimum and maximum amounts are calculated from the rate and the hours, and are read-only.
Where the section uses a Charge Out Rate rate card , the element links to a rate card item and takes its rate from there. This is the setup that carries the least maintenance. Updating a rate means dating a new rate on the rate card item, and every template referencing it picks the new rate up automatically.
Worked example: litigation on hourly ratesBuild a Charge Out Rate rate card with one item per job role, then turn Use rate cards on and use Quick add to create an element per item.
| Element | Job role | Rate |
|---|---|---|
| Partner | Partner | £350 |
| Associate | Associate | £240 |
| Paralegal | Paralegal | £185 |
When the partner rate rises to £355 on 1 January 2027, date the new rate on the rate card item. Every template referencing it picks it up, with no template edits.
Hourly rates by time code
Use this where the rate depends on the activity rather than the person. The section references a Time classification, and its elements are filtered to the time codes within that classification.
Legal aid work is the standard example. Travel and waiting attracts a lower hourly rate than attending court, so each carries its own element and rate.
Elements capture the time code and the hourly rate, and optionally minimum and maximum hours.
Worked example: legal aid
The Legal Aid Agency pays a lower rate for waiting than for advocacy, so the rate follows the activity rather than the person. Select the time classification on the section, then add an element per time code.
| Element | Time code | Rate |
|---|---|---|
| Advocacy | Attending court | £65 |
| Preparation | Case preparation | £50 |
| Travel and waiting | Travel and waiting | £30 |
A fee earner sitting outside court all morning and appearing for an hour produces two fees at two rates from one day's time recording.
Hourly rates by business rule
Use this where the rate depends on something about the person that is not their job role. Legal aid grading is the main case in practice.
The pattern is to hold the grade on a bespoke aspect on the user record, then write a business rule that reads that aspect and resolves the rate. Legal aid rates are set by grade rather than by the firm's own role hierarchy, so the grade needs somewhere to live that is independent of job role.
Worked example: legal aid grading
Two fee earners can hold the same job role and different legal aid grades, so job role cannot resolve the rate.
- Add aLegal aid gradefield to an aspect on the user record, with values A, B and C.
- Write a business rule that reads the field and returns the grade.
- On the section, set the rule. Add one element per grade.
| Element | Grade | Rate |
|---|---|---|
| Grade A fee earner | A | £70 |
| Grade B fee earner | B | £58 |
| Grade C fee earner | C | £46 |
Turn Allow user to pick element if not matched on while the grades are still being populated, so an ungraded user is not blocked.
Disbursements
Covers the disbursements expected to appear on a bill. This type is estimate-only, and disbursements are never created automatically.
The section draws from a Purchase Items rate card. A template can either pre-specify a locked set of disbursement heads, or leave the list open for a fee earner to search and select from. Elements can pre-specify a rate card item and its amount, so a section arrives with its disbursements already listed.
This type does not display the targeting settings, because it only applies to estimates.
Worked example: conveyancing disbursements
Pre-specify the disbursements that always apply and leave the rest for the fee earner to search for. Elements draw from a Purchase Items rate card.
| Element | Amount | Requirement | Tax |
|---|---|---|---|
| HM Land Registry fee | £135 | Mandatory | Override to zero rated |
| Local authority search | £95 | Recommended | Template rate |
| Bankruptcy search | £4 | Optional | Template rate |
The Land Registry fee is the case for an element-level tax override: everything else on the template bills at the standard rate, and this one carries no tax.
Configure sections & elements
A section is a block of fees. Its type decides how amounts are arrived at, what its elements are configured with, and which screens the resulting fees display on. An element is a single fee inside a section. A template can hold as many sections as it needs, including several of the same type, for example one section per phase of a matter.
The two are configured together, because the properties panel carries a Section tab and an Element tab and the panel follows whatever is selected. Which fields display depends on the section type, so both tables below are set out by type. What each type is for, and when a firm would use it, is under Section types.
For full instructions and videos on how to use sections and elements in the Designer, see Using the fee template editor.
Add a section
- Drag a section type from the toolbox into the centre view.
- Check the Title. It defaults to the template name plus the section type, so it does not have to be typed for every section. The default is not compulsory.
- Check the System Name. It generates from the title and has to be unique. Adding a second section of the same type means entering a different title before the save is enabled.
- Configure the remaining settings in the Section tab of the properties panel.
A section cannot be saved until it holds at least one element.
Add elements to a section
There are two routes. Which one is available depends on whether the section uses rate cards.
Add one element at a time
- Drag an element onto a section from the toolbox.
- Configure the element in the Element tab of the properties panel.
- Where the section uses rate cards, select Search to search the rate card items on the selected rate card, then select the item to link the element to.
Quick add, for sections using rate cards
- Drag Quick add onto the section.
- Select Search. Clio Operate displays every rate card item on the selected rate card.
- Select the items required, or select all of them.
- Confirm. An element is created for each item selected, taking its name and value from the rate card item.
Quick add is the faster route where a section needs many elements. Each element displays the rate card item name and its value, so nothing is keyed by hand.
Section fields
Some fields are on every section type. The rest depend on the type, so read down the column for the type in question. What each field does is in its own row, so nothing about a field sits elsewhere.
Key
| Short | Section type |
|---|---|
| CTS | Conditional Tiered Success % |
| DISB | Disbursements |
| FF | Fixed Fee |
| FFT | Fixed Fee Tiered |
| FFHR | Fixed Fees - Hourly Rates |
| HRBR | Hourly Rates By Business Rule |
| HRJR | Hourly Rates By Job Role |
| HRTC | Hourly Rates By Time Code |
| Field | CTS | DISB | FF | FFT | FFHR | HRBR | HRJR | HRTC | What it does |
|---|---|---|---|---|---|---|---|---|---|
| Title | Y | Y | Y | Y | Y | Y | Y | Y | Displayed as the section heading. Generates automatically from the template name plus the section type, and can be overtyped. The default is not compulsory. |
| Type | Y | Y | Y | Y | Y | Y | Y | Y | The section type, set by whichever type was dragged in from the toolbox. It cannot be changed after the section is added, so a section of the wrong type has to be deleted and rebuilt. The type decides how amounts are arrived at and which of the fields below display, which is why this table is set out by type. |
| Description | Y | Y | Y | Y | Y | Y | Y | Y | What the section is for. Optional, and not seen by the fee earner. |
| Enabled | Y | Y | Y | Y | Y | Y | Y | Y | Whether the section is in use. On by default. Disabling it keeps the configuration without offering the fees. |
| Targeting | Y | Y | Y | Y | Y | Y | Y | Y | Whether the section applies to the estimate, the actuals, or both. Defaults to both where the type supports it. Disbursements are estimate only. Targeting changes which other settings are relevant. Setting a section to estimate only makes the actuals settings obsolete, and the designer adjusts the available options accordingly. It also controls the element-level targeting setting, which only displays where the section is set to both. |
| Specify element as a range | — | — | — | Y | Y | Y | Y | Y | Elements capture a from and a to amount instead of a single figure, and the estimate displays a range. Use it where an exact figure is not meaningful, for example on time and materials work. On the types that carry hours, this is what turns the hours field into Minimum Hours with a Maximum Hours alongside it, giving the estimate a bracket. Not available when the section uses rate cards, because the rate card sets a single amount. A ranged element also cannot be set to create its fee actual automatically, because the amount to create is not known; a fee earner recording one by hand is prompted to enter an amount within the estimated range. Currently unavailable on Disbursements, because the general section configuration group is hidden for that type. This is expected to change. |
| Use rate cards | — | Y | Y | — | Y | — | Y | — | Whether elements draw their amounts from a rate card instead of holding them in the template. Rate cards are versioned, so a rate change is made once on the rate card and every template referencing it follows. Amounts typed into a template have to be maintained template by template. Use a rate card where the amounts are reused and likely to change, and type them in where they are bespoke to one client. Turning this on also enables Quick add, which creates an element per rate card item in one action. |
| Rate card type | — | Y | Y | — | Y | — | Y | — | Which rate card the section draws from. Displayed only when Use rate cards is on, and the list is filtered to the types valid for that section type. Fixed Fee draws from Fixed Price Services, Disbursements from Purchase Items, and Hourly Rates By Job Role from Charge Out Rate. Labels in the designer read Rate Card Types, Rate Card Item Type and Rate Card Item. See the Rate cards article for how to build and maintain them. |
| Enable time booking | — | — | Y | Y | Y | — | — | — | Whether time can be recorded against this section. Not displayed on the hourly rates types, where time booking is always on by design. Turning it on for a fixed fee section lets a fee earner book time to that section without generating any further fees or unbilled revenue. The time entry is logged and linked, so the firm can see how much time went into delivering the fixed fee. Combined with internal cost rates, this is how a firm reviews profitability on fixed fee work. A £1,000 fixed fee delivered at an internal cost of £500 is profitable. The same fee at an internal cost of £1,100 needs reviewing. A section with time booking on displays in the fee selector on a time entry, so this setting also decides what a fee earner can book time to. |
| Exclude from estimated totals | — | — | Y | Y | Y | Y | Y | Y | Excludes the whole section from the estimate total displayed in the Financial Frameworks widget. Use it where sections deliberately overlap. Some firms configure one section per stage plus combined sections, for example Stage 1, Stages 1 and 2, and Stages 1 to 3. Only one applies to a given matter, so the overlapping sections are excluded to stop the same fees being counted twice. Tiered sections are the other common case, where summing every tier would inflate the total. Not offered on Conditional Tiered Success %, which carries no monetary value to affect the total, and currently unavailable on Disbursements for the same reason as Specify element as a range. The default for a newly added section needs confirming: the feature description and the spec acceptance criteria say on, the spec overview says off. Sections on templates that predate the feature default to off, so they stay included. |
| Validate overlapping thresholds | Y | — | — | Y | — | — | — | — | How strictly the bands are policed. Allow Overlap applies no validation. Don't Allow Overlaps blocks the save where bands overlap. Must Be Sequential requires the bands to run consecutively, so no gap can be left between them. Must Be Sequential is the safe choice on a value-banded section, because a gap means a matter whose value falls in it resolves to no fee at all. |
| Threshold type | — | — | — | Y | — | — | — | — | The data type of the band boundaries: currency, integer or decimal. Use integer where the threshold is a quantity rather than a value, for example a number of transactions completed. Not offered on Conditional Tiered Success %, where the bands are always monetary. |
| Allow user to pick element if not matched | — | — | — | — | — | Y | Y | Y | Lets a fee earner choose an element by hand where nothing matched automatically. Without it, time recorded by someone the section cannot match has no rate to use. Worth turning on wherever the matching depends on data that may be missing, a bespoke grading field being the usual case. |
| Time Classification | — | — | — | — | — | — | — | Y | The time activity the rate is matched on. This is what lets travel and waiting attract a lower rate than attending court, which is the reason the type exists. |
Element fields
Details aspect
On every section type.
| Title | The fee name a fee earner sees on the estimate. Mandatory. Where the element links to a rate card item, it defaults to the item name and can be varied. |
| System Name | Mandatory. Defaults from the title and the section system name, and has to be unique. |
| Enabled | Whether the element is offered. On by default. Disabling keeps the configuration without offering the fee. |
Targeting aspect
Targeting. Narrows this element to the estimate only or the actuals only. Displayed only where the section targeting is set to both. Not on Disbursements, which are estimate only.
Tax aspect
Displays only where tax is enabled on the template.
Override template's tax code. Off by default. When on, a tax code selection is mandatory and applies to this element instead of the template tax code.
Use it for the exceptions. A typical UK template bills at the standard rate throughout and overrides the one or two elements that are zero rated, a court fee recorded as a disbursement being the usual case.
Estimate configuration aspect
Include in estimate. Mandatory, Recommended or Optional. The main lever on how much a fee earner can change, because it decides what a new estimate starts with.
-
Mandatory is on the estimate by default and displays without a delete action, so it cannot be removed. Use it for a core fee or a disbursement that always applies.
Where every element is mandatory and none allows the amount to be overridden, there is nothing for a fee earner to adjust. In that case turn Auto-activate and lock estimates on at template level, so nobody has to open and approve an estimate they cannot change.
- Recommended is on the estimate by default and displays with a delete action. Use it for a fee relevant to most matters using this template, but not compulsory.
- Optional is not on the estimate and does not display until a fee earner adds it with the plus action. Use it for a fee available with this template but not expected on every matter.
Actual configuration aspect
Automatically create fee. Off by default. Creates the fee actual automatically once the commercial model becomes active. It takes effect at that moment, not later.
Use it for fees that are certain. An onboarding fee is a good candidate, because the work is done as soon as the matter opens. A fee that depends on an event, for example a change of ownership, is a poor candidate, because the fee should only exist once the work is done.
Available on the three fixed fee types, and only where the section is targeted at actuals. An hourly rates section never auto-creates, because its fees come from time entries. It is also unavailable on a ranged element, because the amount to create is not known.
Because the fee is on the estimate too, it only auto-creates if it is included there. Removing it from the estimate is how automatic creation is prevented without changing this setting.
It interacts with two others. Where Allow override of amount is on and the amount has been changed on the estimate, auto-create uses the estimate value rather than the template default. Where Allow multiple is on, each instance on the estimate creates its own fee actual.
The state these fees start in is set on the template, by Auto-created fee phase. See Create a template.
Aspect specific to the section type
What displays in this aspect depends on the section type, so read down the column for the type in question. The fields are in the order the blade displays them, and the short names are in the key above.
| Field | CTS | DISB | FF | FFT | FFHR | HRBR | HRJR | HRTC | What it does |
|---|---|---|---|---|---|---|---|---|---|
| Allow multiple | Y | Y | Y | Y | Y | — | — | — | Off by default. Lets the element be added more than once to the same section, which suits a fee charged repeatedly, for example a commission taken each time a debtor pays. Not displayed on the hourly rates types, where time recording always allows multiple. Where an estimate holds two instances of the element and Automatically create fee is on, two fee actuals are created. On the actuals side, repeated instances group under one element with a quantity against them. Adding a second instance is often the only change available to a fee earner where everything else on the template is locked. |
| Default goods service item | — | Y | — | — | — | — | — | — | The goods or service the disbursement relates to. |
| Description | Y | Y | Y | Y | Y | Y | Y | Y | Copied to the estimate when a commercial model is created, then to the actual when a fee is recorded. Each copy can be overridden, so the template, the estimate and the actual can all differ. That is how a firm personalises a quote and then a bill. Read-only where it comes from a rate card item. Not used for hourly fee actuals, which take their description from the time entry narrative. |
| Business Rules: Select | — | — | — | — | — | Y | — | — | The business rule evaluated against the person recording time, to decide whether this element applies. This is what lets a rate resolve from something held on a bespoke field, legal aid grading being the usual case. Where no rule matches, the fee earner can only pick an element by hand if Allow user to pick element if not matched is on for the section. |
| Rate card item | — | Y | Y | — | Y | — | Y | — | The rate card entry the element takes its amount from. Displays where the section has Use rate cards on. Select Search to search the items on the selected rate card, then pick the item to link to. On Hourly Rates By Job Role the rate card item carries the job role, which is how the element is matched to the person recording time. That makes it the lowest-maintenance setup of all: a rate change means dating a new rate on the rate card item, and every template referencing it picks the new rate up automatically. |
| From Value | Y | — | — | Y | — | — | — | — | The lower boundary of the band. Elements sort by this value, so the bands display in order whatever sequence they were added in. |
| To Value | Y | — | — | Y | — | — | — | — | The upper boundary of the band. Where a name and both values are set, only the name displays, which reads better on an estimate than a range. |
| Fee Amount | — | — | — | Y | — | — | — | — | The fee charged where the matter value falls in this band. |
| Default Amount | — | Y | Y | — | — | — | — | — | The amount the fee defaults to. This is the amount field on a plain Fixed Fee as well as on a Disbursement. Where the element links to a rate card item, the amount comes from there instead. |
| Success Fee | Y | — | — | — | — | — | — | — | The percentage charged where the value falls in this band. A percentage rather than an amount, because the fee value is not known in advance. The widget displays the minimum and maximum percentages as a range rather than a figure for the same reason. |
| Hourly rate | — | — | — | — | Y | Y | Y | Y | The charge-out rate for this element. Where the section uses a rate card, it comes from the rate card item and is read-only. |
| Hours, or Minimum and Maximum Hours | — | — | — | — | Y | Y | Y | Y | The estimated hours for this element. Combined with the hourly rate to give the element's estimated amount, so a rate of £350 and 10 hours contributes £3,500 to the estimate. The resulting amounts are calculated and read-only. Where the section specifies the element as a range, the field is labelled Minimum Hours and a Maximum Hours field displays alongside it, giving the estimate a bracket. Hours affect the estimate only. Actual hourly fees are priced from the hours recorded on the time entry, not from the template, so leaving this blank does not stop a fee earner recording time. It only means the element quotes nothing. |
| Allow override of amount | Y | Y | Y | — | — | — | — | — | Off by default. Lets a fee earner change the amount, both on the estimate and when recording an actual. Where the amount has been overridden on the estimate and Automatically create fee is on, auto-create uses the estimate value rather than the template value. Where it is off, the value displays locked at the template or estimate figure. |
Versions and publishing
Fee templates are versioned so charges can be changed without disturbing matters that are already in flight. A commercial model pins to a template version, not to the template, so publishing a new version has no effect on work items already using an earlier one.
Save
Saves the template as a draft. The draft has no version number. The template's current version number does not change, and nothing repoints to this version, so nothing live changes. A draft is not offered when adding a template to a work item.
Saving again while a draft exists, overwrites that draft in place.
Draft displays as an indicator on the fee templates list view and after the template name in the fee editor. A Versions tab now displays and shows details of when the template changes in draft and published.

Preview before publishing
In the Design area of the blade you can preview Estimates and Actuals to see what the template will produce before it is published. If any elements are mandatory or recommended they display automatically. Optional elements can be added.

Discard a draft
Select Delete Draft on the toolbar to throw away unpublished work in progress. The action displays only where a draft exists and the template has been saved at least once.
Published versions are not affected, so anything already in use on a work item carries on unchanged. Where the draft is the template's only version, the template itself is removed. The confirmation, titled Discard Draft, says both of those things before anything is deleted.
Save and publish / publish
If a template has not been saved before the Save and publish button is available. If it has already been saved and published, the Publish button is available. Publishing a template increments the version number, and the template's current version pointer moves to the new version, so it is used on all new commercial models using this template.
Saving after a version is published creates a new version rather than changing the published one.
The version number displays on the fee templates list view and after the template name in the editor. The Version tab displays details of the versions and drafts prior to that are removed.


Published versions do not change
A matter using version 3 stays on version 3. Publishing version 4 does not retro-fit it. Moving a commercial model to a newer version is a separate, deliberate action.
Version history
The Versions tab lists the template's versions in two groups:
- Current. One entry: the live version, with its date and the user who published it. Displays as Draft where the live item is an unpublished draft.
-
Previous Versions. Every earlier version, each with its version number, date and user. Displays only where earlier versions exist. Each previous version carries a … menu with two options:
- View - Opens that version in the editor, read-only. A safe way to read a superseded template without risking a change to it.
- Restore - Loads that version's content back into the editor to work from. Displays only to someone who can edit the template.
Restore a version
Restoring is the first of three steps rather than a revert. It loads the old content into the editor, and nothing is written until the work is saved.
- Open the Versions tab and find the version to restore, under Previous Versions. The current version has no menu.
- Select the … menu, then Restore.
- Read the confirmation and confirm. It tells you the editor will now be editing that version, and that saving creates a draft which still has to be published to become current.
- The version's content loads into the Design area, and a message above it confirms which version is being edited. Nothing has been saved at this point.
- Make any changes needed.
- Select Save to keep the work as a draft, or Save and publish to make it current.
Publishing after a restore takes the next version number. So restoring version 3 when 5 is the highest, then publishing, gives version 6 holding version 3's content. Version 3 itself is untouched, every commercial model pinned to it stays pinned, and only new attachments pick up version 6. That means there is no way to make an earlier version current again, and no way to change what an existing matter uses by working on versions. Moving a matter to a different version is done from the work item.
A version carries the template settings in force when it was published
A commercial model pins to a version rather than to the template, so the settings travel with the version it pinned to. Auto-created fee phase is the clearest example: it is stored on the version, so changing it on the template affects only versions published after the change. Commercial models already attached keep the behaviour they were created with. See Create a template.

Repricing and version upgrades
The usual repricing pattern runs like this.
- Update the template with the new amounts and publish a new version.
- Select Usages to review which statements of work and matters use the template, and which version each one uses.
- Update the statement of work to the new version, so new matters pick it up.
- Leave existing matters on the version they were opened with.
To go back to an earlier set of amounts, restore that version and publish it forward rather than retyping them.
Where the template draws its amounts from rate cards, repricing is done on the rate card instead. Date the new rates on the rate card items, and every template referencing them picks the new rates up automatically.
Manage templates
Other features in the Fee template editor

Clone a template
Cloning is quicker than building a similar template from scratch.
- Open the template in the editor.
- Select Clone from the toolbar.
- Enter a Name and check the System Name. The name pre-fills as Copy of the original and the system name as copy-of- the original, and both can be changed. The system name is checked for uniqueness.
- Confirm. A copy opens in a new editor, ready to edit.
- Save or publish the copy.
Nothing is saved until the copy is saved
Cloning opens a copy in the editor and writes nothing. Close the blade without saving and the clone is gone and the original is untouched. That makes it a safe way to try a variation on a template that is already in use.
The copy does not inherit the original's system names. Every section and element system name is regenerated from the new template's system name plus the item's title, so the two templates never collide.
Review usages
Select Usages to see which work items use the template. The list displays the work type, the work item reference as a link, the work item title, and the template version in use. Use it before a repricing exercise, and before attempting a deletion.
Browse the data composer
Fee data usually has to be referenced somewhere outside the template: an estimate total on a quote document, a section total in a report, a field a business rule needs to read. Each of those needs the correct field path, and the context browser is where to find it.
Select Context Browser on the toolbar to open it.
It sits on the fee template toolbar because the person building a template is usually the same person who then has to surface those figures on a document or a report, so it saves leaving the editor to go and look.
The commercial model data graph lists every field that fee and commercial model data exposes to the rest of Clio Operate. It is a reference tool and changes nothing on the template.
| Use it for | What you are looking for |
|---|---|
| Quote and bill documents | The merge field path for an estimate total, a section total, or a template's friendly name. |
| Calculated fields | What is already derived, and what a new calculation can build on. The browser opens with calculated fields enabled. |
| Reports and list views | Confirming a field is queryable before specifying a column against it. |
| Business rules | Checking the field a rule needs to read exists on the graph. |
It shows the whole graph, not this template's fields
The context browser opens the entire commercial model graph rather than a view scoped to the template being edited. A configurator expecting to see the fields their own template produces will instead see everything the graph offers, and has to find the relevant paths within it.
Delete a template
Clio Operate checks usage before deleting. Where any commercial model has been built from any version of the template, the deletion is blocked and a message displays the number of work items involved. Otherwise the deletion cascades through the versions, sections and elements.
Resolve the usages before deleting, or disable the template instead by setting Enabled to off. Disabling keeps existing commercial models working while stopping the template being selected on anything new.
Deleting the only version deletes the template
Where a template has one version and that version is deleted, the template goes with it. Where several versions exist, the current-version pointer falls back to the next highest version number.
Import and export
Fee templates move between environments through configuration import and export, in the same way as budget structures. A Fee Templates node lists the templates available.
Run the conversion job before importing anything
Fee template elements used to reference goods and services by legacy id keys and now use a compound key. Import is blocked with an error, not a warning, while either the package or the target environment still holds elements on the old keys. The Modeller Assistant job Fees - Convert Template Goods/Service References to Compound Key converts them. Run it before attempting any import.
| Behaviour | Detail |
|---|---|
| What can be exported | Enabled templates are selectable. A disabled template is not offered. |
| Which version is exported | Only the current version. Exporting a template with several versions captures that one version, not its history. |
| Importing a template that already exists | A warning displays, then the import adds a new version numbered above the target's highest. |
| Importing an older version | The imported version does not become the live version. |
| Re-importing the same package | Creates a further new version each time. |
| Importing into a clean environment | Creates the template in full and it is usable straight away, with no already-exists warning. |
| Missing rate card | Importing a template whose rate card is absent warns without blocking the import. |
| Inactive rate card | Where the rate card exists but is inactive, an unselectable warning displays. |
| The Fee Structures global feature | A fee template and the Fee Structures global feature can each be imported without the other. Importing the global feature warns where its approval rule is missing from the target. |
Dependencies
| Dependency | Type | Why |
|---|---|---|
| Rate card types | Recommended | A template references a rate card type, but a rate card cannot travel in a package, so the import warns rather than blocks. |
| Rate card items | Recommended | Elements reference specific rate card items. The import succeeds without them and the template cannot price until they exist in the target. |
| Business rule sets | Mandatory | An Hourly Rates by Business Rule template declares its rule set dependencies. |
| Time classifications and time code sets | Mandatory | An Hourly Rates by Time Code template declares its classification and time code set dependencies. |
| Approval rules | Recommended | Approval rules attached to the template or version. |
Troubleshooting fee templates
Why a template does not appear on a work item
Most questions about a missing template come down to one of these.
| Cause | What to check |
|---|---|
| The template is still a draft | Only published versions are offered. Select Save and publish. |
| Currency mismatch | The template currency has to match the work item currency. This is a hard filter. Where the currency cannot be resolved for the work item, the picker returns nothing without displaying an error. |
| The template is disabled | Check Enabled on the template. |
| Fees are not enabled on the work type | Check the Fees global feature configuration for that work type. |
| The work type restricts templates to the commercial agreement | The picker narrows to templates already used on the work item's statement of work. Where that statement of work holds an alternative option, only those models are offered. |
| Rate card rules excluded every element | Elements are evaluated against the work item and failing elements are dropped. A template that resolves to nothing returns The selected fee template has no fee elements that apply to this work item. All elements were excluded by the Rate Card rules attached to the configured items. |
Why two matters on the same template look different
A template is not used exactly as written. Every element is evaluated against the work item, failing elements are dropped, and sections left empty are dropped with them. Surviving elements pick up the rate card item and default price resolved for that work item. A template can therefore produce a different result on two different matters.
Rate card rules matter as much as the rate cards
Elements are evaluated against the work item when a template is attached, and elements that fail their rate card rules are dropped. A template with correct amounts but wrong matching rules resolves to nothing on a matter. Check the rules on the rate card items, not only the rates.
Make fee templates available to use
Fee templates on work types
Attaching fee templates to work types
Fee templates on work types overview
The latest published version of a fee template can be added directly to a work item, or to a statement of work that the work item inherits from. Either way the result is a commercial model on the work item, and that is where fees are estimated and actuals recorded.
The work type settings, and the statement of work where one is in use, then determine how a template can be applied.
Five ways a template reaches a work item
| Route | When it applies |
|---|---|
| Inherited from a statement of work | The most common route. The statement of work carries the commercial models, and the instruction or matter created from it inherits them. |
| A user selects one on the work item | Where the work type allows templates to be added manually. The user selects from the template picker. |
| A workflow node | Add Commercial Model in the visual workflow designer, so attachment can be automated on creation, on phase change, or from any triggered plan. |
| The public API | A commercial model can be created against a work item through the public API. |
| Repointing an existing model | Change the template behind a commercial model that is already attached, or add an alternative arrangement alongside the existing one. |
A template is not simply copied onto the work item. It is resolved against that work item first, elements that fail their rate card rules are dropped, and only what survives is built. So the same template can produce a different set of fees on two apparently identical matters, and a template that resolves to nothing is refused outright.
Elements flagged Automatically create fee produce their fee actuals when the commercial model becomes active, not when the template is attached. A commercial model sitting in draft has no fees. Making it active is what authorises them. Where the template has Auto-activate and lock estimates on, the model goes straight to active, so the fees are there immediately. That is the usual explanation for fees appearing that nobody added.
Why the same template produces different fees on different matters
Elements are evaluated against each work item as the template is attached, so the same template can produce a different set of elements on two matters. Rate card rules are the usual cause: an element whose rules do not apply to that work item is dropped, and a section left with no elements goes with it. The template still attaches, with whatever applies. SeeTroubleshooting.
How a work item gets its commercial models
A commercial model on a statement of work is not a note of which templates are allowed. It is a real commercial model, with its own phase, estimate and notes, and it goes through the same approval lifecycle as one on a matter. The statement of work holds the agreed arrangement itself, quoted and approved there.
A matter beneath it gets its commercial models in one of two ways, and they work differently.
| Route | What happens | What controls it |
|---|---|---|
| Copied down | The statement of work's default commercial models are copied onto the work item, as its own commercial models. | Inherit from related commercial models on the receiving work type. |
| Chosen by hand | Somebody adds a commercial model on the work item, choosing from what the Add Commercial Model panel offers. | Restrict available templates to those specified on the commercial agreement on the work type the commercial model is being added to. |
The two settings are independent. Inherit decides what arrives on its own. Restrict decides what a person may choose. Neither reads the other. For what the panel offers, see Attach a model to a work item.
What copies down, and when
Only default commercial models copy. Alternatives stay on the statement of work. A model still in Draft or Updating also stays behind, on the assumption that it is work in progress, so only Pre-Approved, Approving, Active and Finalised models are copied.
Three things trigger a copy:
- A work type transformation that includes the copy commercial model converter. Clio Operate supplies this only on the transition to opportunity, although it can be attached to other transformations.
- Setting an instruction's preferred statement of work. This can happen when somebody chooses one, and also on its own, where adding a participant or a key date leaves exactly one matching statement of work.
- Data loading a matter that carries a statement of work reference and no fee template.
A copy replaces what is already there. The copy removes the work item's existing commercial models first. So a matter that already holds commercial models loses them when a copy runs, which matters most on the preferred statement of work route, because that can run without anybody setting out to copy anything.
Inherit from related commercial models is on by default and is read on the receiving work type. Turning it off stops all three routes. Fees also have to be enabled on that work type, or the copy is refused.
What the default and alternative commercial model labels do
Neither label pre-selects anything. They decide four separate things.
| Where | What the label decides |
|---|---|
| Copying down | Only defaults are copied to a work item beneath. Alternatives never are. |
| Adding a commercial model by hand | Having at least one alternative is what makes Restrict replace the template list rather than add to it. This is the defect Fran has confirmed. Once it is fixed, Restrict applies on its own and this row comes out of the table. |
| Estimates | Only default commercial models are returned as the estimate for the work. An alternative is an option, not the figure the work is estimated against. |
| Documents and reporting | Where a document or a form asks for a single commercial model, the first default is used, falling back to an alternative only where there is no default. |
So a default is the agreed arrangement, and an alternative is an approved fallback a fee earner may choose instead.
Before you start configuring templates on work types
Configuration to put in place first
- A published fee template. Drafts are not offered anywhere.
- Matching Currency. The template currency has to match the work item currency. This is a hard filter on the picker.
- Rate cards. Where the template references rate cards, the rate card items need rules that resolve against the work items in question. Elements that fail their rules are dropped.
- An approval model. Needed where a commercial model has to be approved before it becomes active.
- The Unbilled Revenue global feature. Fee actuals post to an unbilled revenue account, and this feature names it. See below.
Decisions to make first
| Decision | Why it matters |
|---|---|
| Which work types are commercial agreements | Purpose decides which settings are available on a work type, and which work types can be inherited from. |
| Whether operational work types inherit or choose | Inheriting keeps the fees aligned with the agreement. Choosing gives the fee earner freedom. A work type can also do neither, and have models added directly. |
| Whether to restrict to the agreement | Restriction narrows the picker to the templates already on the work item's statement of work. |
| How many commercial models a work type can hold | Allowing multiple supports one arrangement per phase, and alternatives offered side by side. Restricting to one keeps a matter's fees unambiguous. |
| Whether actuals can be created | A work type can carry a template with an actual structure without fees being created on it, so the structure still passes down to the matter. |
| Whether commercial model titles must be unique | Where a work type holds several models, unique titles stop a fee earner posting to the wrong one. |
Fee structures & Unbilled revenue global features
Two global features matter here. Fee Structures is the master switch for fees and holds the site-wide fee behaviour. Unbilled Revenue decides which account a recorded fee posts to. Both sit in the Finance category, and both are configured before any work type settings.
Fee structures global feature
Fee structures global feature
Navigate to Modeller > Global features > Finance > Fee Structures.
This feature holds the site-wide settings, and it is also the master switch. Fees cannot be configured on any work type until it is enabled here.
It also lists the work types, so the per work type settings can be reached from here as well as from the work type itself. See Work type settings.

| Setting | What it does |
|---|---|
| Approval model |
The approval model used where a work type does not override it. The Fee Structures global feature is not valid without an approval model. Set it before going near work types, even where no work type overrides it. |
| Allow users to enter check in details when submitting | Whether moving a commercial model through its phases requires a check-in. |
| Change reason - should a change reason be entered | Whether a check-in requires a change reason. See Option Sets below to configure the change reasons. |
| Notes - should additional notes be entered | Whether a check-in requires notes. |
| Show zero value fee actuals |
Whether fee actuals with a zero value are displayed. This setting controls visibility. It does not change the rule that a fee actual can never hold a zero amount. |
Option Sets
In Option Sets click the cog to configure the Fee Structure Change Reasons.

See Option Sets for further details and how to configure them.
Configure fee structures by work type
For details see Work Type Settings.
Unbilled revenue global feature
Unbilled revenue global feature
Navigate to Modeller > Global features > Finance > Unbilled revenue.
Recording a fee actual can post unbilled revenue to the chart of accounts. This global feature decides whether it does, through Record Unbilled Fees in Chart of Accounts, and which account it lands in.
This global feature depends on the Access Chart of Accounts Global Feature, so the accounts and their segments are configured first.
| Default Unbilled Revenue Account Code | The account that unbilled revenue is held in, used for every fee type that does not have an override. Empty until set. A segment code picker presents one selection per enabled Chart of Accounts segment, and every one has to be completed or the feature reports as invalid. |
| Fee Type Overrides | Optional. One row is available per fee structure handler, so a firm can treat each fee type differently. No rows exist until one is added. This is how a firm gets separate accounts for unbilled hourly fees and unbilled fixed fees. There is no pair of top-level settings for it: the split is made by overriding the fee types that should go somewhere other than the default. |
| Record Unbilled Fees in Chart of Accounts | Whether that fee type posts unbilled revenue at all. Turning it off is how a fee type is excluded from unbilled revenue entirely, rather than pointed at a different account. |
| Unbilled Revenue Account Code | The account that fee type's unbilled revenue posts to instead of the default. Every enabled segment has to be completed, the same as the default path, but only where the row is active and recording unbilled fees. |
Work type settings
There are two routes to these settings, and they reach the same configuration.
- From the global feature: Modeller > Global features > Finance > Fee Structures, which lists the work types. Use this when configuring several work types in one sitting.
- From the work type: Modeller > Work Types > the work type > Manage Features > Fee Structures. Selecting the feature opens its configuration panel inline. Use this when working on one work type alongside its other features.
Enable the Fee Structures global feature first
The per work type Fee Structures feature is a child of the global one. Where the global feature is off, the feature on a work type displays greyed out with Global feature disabled: 'Fee Structures'. Enable Fee Structures globally, then configure it per work type.
The settings displayed depend on the Purpose set for that work type, because several of them only make sense for an operational work type.
| Setting | What it does | Applies to |
|---|---|---|
| Purpose |
Depending on the role of the work type, fee structure configuration serves one of two purposes:
Firms use and name their work types differently, so check what a given work type is actually for rather than assuming from its purpose. |
--
|
| Fee Structures feature enabled | Fees are available on a work type once the feature is enabled for it under Manage Features. There is no separate toggle inside the feature. A template resolved against a work type without the feature is refused with Fees are not enabled for this work item type. | Both |
| Enable actual creation |
Whether fee actuals can be created on this work type. A fee template can be set up to produce actuals, but that only takes effect where the work type allows it. With this off, no fee actual can be recorded against a work item of this type, and none are created automatically, whatever the template says. It is set per work type rather than per template, so the same template can behave differently depending on where it lands. A firm might turn it off on the statement of work work type, so no fees are recorded against the agreement itself, and leave it on for the matter work type, so the matters inheriting from it record fees as normal. |
Operational |
| Allow multiple fee structures |
On by default. Whether more than one commercial model can be added manually to a work item of this type. For example where an alternative pricing option is offered alongside the primary one, or where different aspects of the same matter run on separate arrangements.
|
Operational |
| Inherit from related commercial models |
On by default. Whether the work type inherits commercial models from its parent commercial agreement. See Fee templates on work types overview for what copies down. |
Operational |
| Restrict available templates to those specified on the commercial agreement |
Narrows the template picker on a work item to what its statement of work allows. Use it to keep fee arrangements on client work aligned with what was agreed at the statement of work stage. See Attach a model to a work item for what the panel then offers. |
Operational |
| Require unique commercial model titles | Enforces unique commercial model titles on a work item. Where it is off, a duplicate title produces a warning and the offer of a rename. When on, the rename is enforced. Recommend turning on if a work type is likely to have more than one commercial model using the same base template, because the fee selector on a time entry lists sections by model and distinct titles are what let a fee earner tell them apart. |
Operational |
| Use default approval model | A toggle, on by default, so the site-wide approval model applies. When off, select an approval model for this work type, and the selection is then mandatory. | Both |
Set up inheritance between two work types
Inheritance needs settings on both work types, and the one that actually switches the copy-down on sits on the target rather than the source.
- On the statement of work work type, set Purpose to Commercial Agreement.
- On the target work type, set Purpose to Operational Work Type.
- Turn Inherit from related commercial models on for the target work type.
- Turn Restrict available templates to those specified on the commercial agreement on to limit the target to the commercial models on the agreement.
Add templates to a statement of work
A fee template does nothing on its own. Adding one to a work item creates a commercial model, and it is that model, not the template, that carries the estimate, the rates and the controls on what can be recorded.
Attaching a template to a statement of work is the most common way one reaches a matter, because the models on a statement of work are copied down to the work items created under it.
Only a work type whose Purpose is Commercial Agreement, which in most firms means a statement of work, is set up by attaching models to it. What a matter can use is controlled by settings on its own work type instead, because a work type cannot hold models and only a work item can. See Work type settings.
A fee earner can still add a model to a matter manually. It is the exception rather than the way fees are set up.
This tab covers attaching the models, what the copy-down carries onto the matter, and what can be adjusted before the matter exists.
Add a model
- Open the statement of work Contract Management > SOW
- Select Finance > Fee Structure in the left navigation.
- Select + to add the fee template. There is one on Default Models and one on Alternative Models, select the one the model is for.
- The Add Commercial Model blade opens, listing all the current published fee templates, which can be searched.
- Select the link icon beside the template required.
- The commercial model is created straight away, with a title of the template's display name.
Where a model of that name already exists on the work item, a naming dialog opens before the model is created. Where the work type has Require unique commercial model titles on, a different name has to be entered. Otherwise it is only a warning and the name can be kept. Either way, select Add to finish.
The commercial model has to be worked on the statement of work
Adding a template creates the commercial model, it does not finish it. The commercial model arrives in Draft unless the template has Auto-activate and lock estimates on, in which case it goes straight to active.
While it is in Draft, somebody works the estimate on the statement of work: adjusting amounts where the template allows it, adding notes, then submitting it for approval. The statement of work is where the arrangement is agreed, so that is where the estimate is settled.
This is why the phase decides what copies. A commercial model in Draft or Updating is still being negotiated, so it stays on the statement of work. Only once it reaches Pre-Approved, Approving, Active or Finalised is it treated as agreed and carried down.
The same phase model applies here as on a matter. See Manage fees on a matter > Phases and approval.
Default and alternative models
A statement of work displays two sections, and which one a model is added to decides what happens to it.
| Section | What it is for |
|---|---|
| Default Models | The arrangement the work is expected to run on. These are copied down to the work items created under the statement of work, as long as the receiving work type inherits. Only models in Pre-Approved, Approving, Active or Finalised are copied. A model still in Draft or Updating stays on the statement of work, on the assumption that it is work in progress. |
| Alternative Models | Priced alternatives, there for comparison. Work items created under the statement of work can use them, but they are not carried down by the copy. They are also the lever that limits what those work items can choose. Where a work type is restricted to its commercial agreement and the statement of work holds alternatives, its picker offers those alternatives and nothing else. |
The two sections display only on a commercial agreement
The split into Default and Alternative Models comes from the work type's Purpose being set to Commercial Agreement. Where Purpose reads Operational Work Type, the widget displays one flat list instead. Statement of work types are set to Commercial Agreement on upgrade, so the two sections are what a configurator should expect to see. See Work type settings.
How a statement of work is found
Where a work type is restricted to its commercial agreement, the platform has to locate the statement of work governing a work item before it can narrow the picker. It takes the first of these that exists.
- The nearest ancestor work item whose Purpose is Commercial Agreement, for example a statement of work above the matter's instruction.
- The statement of work that one of the work item's existing commercial models was copied from.
- A statement of work linked to the work item as a preferred statement of work related work item.
Because the lookup is not only a parent check, a matter raised outside the statement of work route can come under one later. Add a preferred statement of work link, and the restriction applies the next time somebody opens the picker.
Settings that affect adding a model
| Setting | Effect when adding a model |
|---|---|
| Fee Structures enabled on the work type | Without it there is no widget to add from. The widget displays Fee Structures is not enabled for this work type. |
| Finance - Commercial Model - Add | The permission to add. Without it the add action is not available. |
| Allow multiple fee structures | With it off, only one model can be added by hand. Inherited models do not count against it, so a work item can still end up with several. |
| Require unique commercial model titles | With it on, a duplicate name has to be changed in the naming dialog before the model is created. With it off the dialog only warns. |
| Inherit from related commercial models | Whether this work type receives copied-down models. Only the receiving type's setting is checked, so a statement of work will not pass its models to a work type that has this off. |
| Restrict available templates | Has an effect on an operational work type only. |
How the copy-down works
The statement of work carries the commercial models, and the matter created from it inherits them. A statement of work can carry more than one, for example one per phase of the work.
- A configurator attaches one or more commercial models to the statement of work and works them to the active phase.
- A user creates a matter and selects that statement of work.
- The commercial models come through to the matter automatically. Nothing is selected by hand.
What the matter inherits
| Rule | Detail |
|---|---|
| Models in Draft or Updating are not copied | A commercial model in Draft or Updating on the statement of work stays there, because it is assumed to be work in progress. Models in Pre-Approved, Approving, Active or Finalised are copied. |
| Alternatives are not copied | A commercial model flagged as an alternative option is excluded from the copy-down, even where it is active. An alternative exists for comparison on the statement of work, not to be carried onto the matter. |
| The copy starts in Draft, with one exception | Where the source work type is a Commercial Agreement, a copied commercial model starts in Draft whatever its phase on the statement of work. A template configured with Auto-activate and lock estimates starts in Pre-Approved, which is read-only. Copying between work types that are not Commercial Agreements preserves the source phase. |
| Estimate values come from the statement of work | The estimate uses the default values from the statement of work's current estimate structure, not the original values from the base template. Where the statement of work value was adjusted, the matter inherits the adjusted value. |
| Editability comes from the base template | How far the estimate can be edited is governed by the base template configuration: requirement level, allow multiple, and allow override of amount. |
| Notes are carried across | Notes recorded on the commercial model are copied with it. |
| Existing models on the target are removed first | The copy-down deactivates the commercial models already on the target work item before cloning the source models in. A model that already carries fee actuals is left alone, so recorded work is never deactivated by an inheritance. |
| Provenance is recorded | The copied estimate and actuals are flagged as inherited, so it is possible to tell an inherited model from one added by hand. |
Adjusting the estimate before the matter exists
An estimate can be worked while the work item is still an instruction, before it reaches the matter. Optional elements can be added and overridable amounts adjusted at that stage, subject to the base template. Mandatory elements display without a delete action. The same adjustments are available once the work item becomes a matter.
Other routes onto a work item
Five routes put a commercial model on a work item. The statement of work route is much the most common, and it has a tab of its own: Add templates to a statement of work. The other four are below.
A user selects a template on the work item
Where the work type allows it, a user adds a commercial model from the Financial Frameworks widget. Clio Operate displays the templates available for that work item, filtered by currency and by the work type's restriction settings. Selecting one builds the estimate and actual structures immediately.
See Manage fees on a matter for the user journey.
A workflow node
Add Commercial Model is available in the visual workflow designer. Use it to attach a commercial model automatically, for example, on work item creation, on a phase change, or from any triggered plan. This is the route to use where attachment should not depend on someone remembering to do it.
The public API
Commercial models can be created against a work item through the public API. Use this for integrations that price work outside Clio Operate, or for bulk attachment during a data load.
Repointing an existing commercial model
| Action | What it does |
|---|---|
| Change template | Points an existing commercial model at a different template version. Use it to move a model to a newer version during a repricing exercise. |
| Add alternative model | Points an existing commercial model at a different template version. Use it to move a commercial model to a newer version during a repricing exercise. Selected from Change template on the Financial Frameworks widget, and only available while the commercial model is in Draft or Revising. |
Publishing a version does not move anything
A commercial model pins to a template version. Publishing a new version of the template has no effect on work items already using an earlier one. Moving them is an explicit action, and the usual pattern is to update the statement of work so new matters pick the new version up, and leave existing matters where they are.
Permissions
These permissions govern commercial models, their contents, and write-off.
| Permission | What it allows | Previously |
|---|---|---|
| Finance - Commercial Model - Add | Add a commercial model to a work item. | New |
| Finance - Commercial Model - Update | Change the notes, title and phase. | New |
| Finance - Commercial Model - Delete | Delete a commercial model from a work item. | New |
| Finance - Commercial Model - Estimated Fees - Read | View estimates. | Finance - Fees - Estimates - Read |
| Finance - Commercial Model - Estimated Fees - Edit | Update estimated fees. | Finance - Fees - Estimates - Edit |
| Finance - Commercial Model - Fee Actuals - Read | View fee actuals. | Finance - Fees - Actuals - Read |
| Finance - Commercial Model - Fee Actuals - Maintain | Create or edit fee actuals. | Finance - Fees - Actuals - Edit |
| Finance - Commercial Model - Revert Phase | Revert an active model to draft phase, or a finalised model back to active. | Finance - Fees - Estimates - Revise Quote |
| Sharedo - Create - Write Off Fees | Raise a fee write-off. It also decides whether Write Off Fees and Undo Write-Off display on the fee actual list views, so there is no separate permission for the bulk action. | New |
| Sharedo - Create - Approval Write Off Fees | Create the approval task for a fee write-off. Needed wherever write-offs route through an approval, which is the usual arrangement. | New |
| Sharedo - Update | Undo a write-off. Undo posts reversing financial transactions against the write-off, so it needs the same right as editing it. Someone can therefore raise a write-off and be unable to undo it. Already granted to the primary owner and contributor roles, so it only needs attention where a firm uses its own roles. | Not new. The generic work type update permission |
| Finance - Fee Actuals - Bulk Override Across Matters | Running the Reclassification Wizard, which moves migrated fee actuals to another billing status in bulk. It widens the reach of a reclassification rather than granting a new one, so the user also needs to be able to set the target status on a single fee. | New |
| Finance - Fee Actuals - Set External Billing Status | Overriding a fee actual's billing status from an external finance system, through the public API. Required for the billed externally and written off externally statuses. | New |
| Fees - Change billing status | Changing a fee actual's billing status between unbilled and the external statuses from within the application, in either direction. Either this or Set External Billing Status allows a move to unbilled, because the two cover the same change from two different entry points. This is also the permission that returns a fee from an external status to unbilled. | New |
| Time - View Fee Costs | Doesn't relate to fees directly as it is a Time permission rather than Finance, but affects what a fee earner sees of fee data. Controls whether fee rates and charges display on the time recording screens and the time entry list view. | New |
How missing permissions behave
- Without Estimated Fees - Read or Fee Actuals - Read, the corresponding tab displays a message naming the permission required.
- Transitions between phases are individually permissioned, so different users can be given different levels of access to the same work item's fees.
Reverting an active model is deliberately restricted
The revise permission, reopens something that was locked on purpose. It is held separately from the ordinary edit permissions, so grant it to the people who are allowed to re-quote rather than to everyone who can edit an estimate.
Configure the widget and list views
Fees are displayed on a work item through two widgets and three list views, each added to a portal page by a configurator. Nothing is displayed to a user until these are configured.
| Widget or list | What it displays |
|---|---|
| Financial Frameworks | The full fee screen, split into a list of commercial models on the left and the detail of the selected one on the right. Usually placed on its own page under Finance. |
| Financial Frameworks - Card List | A compact card list of the commercial models, for the matter dashboard. Selecting a card opens the detail in a blade. |
| Fixed Fee Actuals | The fixed fee actuals on the work item, with the full bulk action menu. |
| Hourly Rate Fee Actuals | The hourly fee actuals on the work item, with the write-off actions only, because hourly fees are driven by their time entries. |
| Fees Write-Off | The write-offs raised against the work item, with the amounts written off and how much has since been undone. |
For what each of them displays, see How to view fees on a work item.
The Financial Frameworks widget
The widget goes on a portal page like any other, and its settings decide which of its four tabs a fee earner sees. Turning tabs off is how a firm locks a view down, for example hiding actuals on a work type where only the estimate matters.
Add the widget to a page
- Open the portal page for the work type in the page designer.
- Add the Financial Frameworks widget to the layout.
- Set the options below.
- Save the page.
Widget settings
The widget settings control which tabs display in the commercial model view.

![]() |
Widget title | The heading above the widget. Defaults to Financial Frameworks and can be overridden per page, which is worth doing where a firm uses its own word for a fee arrangement. |
| Show estimate | Displays the Estimate tab. On by default. The tab is still withheld from a user without Finance - Commercial Model - Estimated Fees - Read, so leaving this on does not guarantee everyone sees it. | |
| Show actual | Displays the Actuals tab. On by default. Needs Finance - Commercial Model - Fee Actuals - Read, and adding a fixed fee actual from the tab needs Fee Actuals - Maintain. The tab is absent whatever this setting says where the base template has no sections targeted at actuals. | |
| Show estimate vs actual comparison | Displays the Estimate Vs Actuals tab. On by default. Turning it on reveals When estimate is a range, compare to. Needs both an estimate and actuals on the model, so it is absent where the base template targets only one of them. | |
| When estimate is a range, compare to | Decides whether a ranged estimate is compared on its minimum, maximum or midpoint value, and the value selected here is what displays in the estimate column. Defaults to the maximum estimated value. Displays only when Show estimate vs actuals comparison is on. | |
| Show notes | Displays the Notes tab. On by default. Notes are held on the commercial model rather than the estimate, so they stay editable after the model goes active. |
The widget also has a History tab, but it has no setting. It is on for every commercial model and cannot be turned off
The Financial frameworks - card list widget
The card list is the card half of the full widget, without the detail panel beside it. It lists the commercial models as cards, and selecting one opens the Commercial model view blade, which carries the same tabs as the full widget.
Add the card list to a page
- Open the work item portal page in the page designer.
- Add Financial Frameworks - Card List from the Finance category.
- Set the title, the icon and whether to show the frame.
- Save the page.
The fee actual list views
Two list views sit alongside the widget and carry the fee actuals themselves. They are separate from the widget and are added to the page in their own right.
Fixed Fee Actuals
The fixed fee actuals on the work item. Carries the full bulk action menu.

Hourly rate fees actuals
The hourly fee actuals on the work item. Carries only the write-off actions, because hourly fees are driven by their time entries. Supports quick filters for time keeper and date range.

- Billing Status reports where the fee has reached in billing, which is separate from where it has reached in its phase model. A fee can be approved in its phase model and still be unbilled. A fee starts at Unbilled and moves to Billed or Written off.
- Posting Status displays the financial stage of the fee, taken from its chart of accounts entry. A fee has a single entry, because it cannot be reversed once it reaches posted.
- Fee Section displays as Commercial Model Name > Fee Section, so a template attached twice and renamed is still readable. On core-time-entries it is an available column rather than a bound one, so a configurator has to add it to the view. On the two fee actual views it is bound by default. Where a time entry has no fee section, the cell is blank.
The bulk actions menu
On the delivered matter portals the bulk actions menus are installed for you. On a fee actuals list you add yourself, turn on Allow bulk actions and pick the matching custom bulk menu context.
Fixed Fees: Allow bulk actions on, with the custom bulk menu context fixed-fee-actuals-bulk-menu-context.
Hourly Rate Fees: Allow bulk actions on, with the custom bulk menu context hourly-fee-actuals-bulk-menu-context.
![]() |
|
Fees write-off list view
The Fees Write-Off list view shows every fee write-off on the current work item. For each write-off, it shows the amounts, hours and units written off, how much has since been undone, and whether the write-off still stands. For full details see Write off fees.

Troubleshooting attaching templates to work types
If the add template action is not available on the statement of work or work item
| Cause | What to check |
|---|---|
| The user lacks the permission | Finance - Commercial Model - Add. See Permissions. |
| Fee Structures is not enabled on the work type | The widget says so in place of the list. See Work type settings. |
| The work item already has a model | Where Allow multiple fee structures is off, only one is allowed. A matter carrying its inherited model has no add action, which is working as configured. Note the defect above, where an alternative also triggers this. |
| The purpose is not what was expected | Check Purpose. An operational work type displays one list rather than two sections, so a configurator looking for Alternative Models will not find them. |
The template is not in the picker
| Cause | What to check |
|---|---|
| The template is still a draft | Only published versions are offered. Publish it from the designer. |
| Currency mismatch | A hard filter. The template currency has to match the work item currency. |
| The work item currency cannot be resolved | No error is displayed to the user, so an empty picker with no message points here. |
| The template is disabled | Check Enabled on the template. |
| Fees are not enabled on the work type | Check that the Fee Structures feature is enabled for that work type, and that the global feature is enabled. |
| The work type is restricted to its commercial agreement | The picker narrows to the templates on the work item's statement of work. Turn Restrict available templates to those specified on the commercial agreement off, or set Purpose to Commercial Agreement, to lift the restriction. |
| The statement of work carries an alternative option | The full catalogue is suppressed and only those models are offered. |
The commercial model was not inherited
| Cause | What to check |
|---|---|
| The model was in Draft or Updating on the statement of work | Neither phase is copied. Work the model to Pre-Approved or beyond on the statement of work first. |
| Inheritance is off on the target | Inherit from related commercial models is checked on the target work type, not the source. |
| The target work type is a commercial agreement | A commercial agreement does not inherit from other types. Check Purpose. |
| The source models were removed on copy-down | The copy-down deactivates existing models on the target before cloning. Check whether a later copy-down replaced an earlier one. |
The attachment was refused
| Message | Meaning |
|---|---|
| The selected fee template has no fee elements that apply to this work item. All elements were excluded by the Rate Card rules attached to the configured items. | Every element failed its rate card rules for this work item. Review the matching rules on the rate card items. |
A second commercial model cannot be added
Check Allow multiple fee structures on the work type. The setting controls manual addition only, so a work item can still hold several inherited models while refusing a manual one.
A duplicate title warning appears
Clio Operate warns where a commercial model title is already in use on the work item, and offers a rename. Where Commercial model titles must be unique is on for the work type, the duplicate is refused rather than warned about.
The title check now looks at the title
Earlier releases compared the template name and version rather than the commercial model title. That produced warnings where no duplicate existed, and missed duplicates where one did. The check now uses the title.
Manage fees on a matter
Fees on a matter
Working with commercial models on a work item
Manage fees on a matter overview
A fee earner never sees a fee template. What they see on a work item is a commercial model.
What a commercial model holds
- Estimated fees. The projected fees for the work, also referred to as the quote.
- Time recording rates. The charge-out rates available when a fee earner records time against the work item.
- Controls on allowed actuals. Which fees can be recorded, and how many of each.
- Notes. Held on the commercial model and apply to the whole model, not to individual estimates.
An example journey
One way fees can run on a matter. The steps vary with how the fee template is configured.

See Routes onto a work item for how a commercial model reaches the work item in the first place.
An estimate is optional
A fee template does not have to produce an estimate. A section can be targeted at actuals only, which gives a commercial model that controls what can be recorded without quoting anything. This is common on time and materials work and on legal aid, where the firm records against agreed rates rather than quoting a figure.
The widget therefore supports three views: estimate only, actuals only, and both side by side.
Phases, states and statuses
Three separate states govern a commercial model and the fees on it, and they move independently of each other.
| State | Sits on | What it governs | What moves it |
|---|---|---|---|
| Phase | The commercial model | Whether the estimate is locked, whether fee actuals can be created, and whether time can be recorded. | A user progressing the model, or an approval outcome. Draft, Pre-Approved, Active, Approving, Updating, Finalised. See Phases and approval. |
| Lifecycle state | Each fee actual | Whether that fee can still be changed, and the chart of accounts posting status behind it. | A user progressing the fee, one at a time or in bulk. Draft, Submitted, Approved, with Revising off Submitted. An hourly fee mirrors its time entry instead. See Record fee actuals. |
| Billing status | Each fee actual | What has happened to the fee commercially: whether it has been billed, written off, or is mid-process. | Billing, write-off, and the public override API. It starts at unbilled. See Record fee actuals. |

A fee actual can only be edited where its lifecycle state and its billing status both allow it. So a Draft fee that has already been billed is locked, and so is an Approved fee that is still unbilled. See Editing rules.
Which configuration decides what a fee earner sees
Almost everything a fee earner can and cannot do here is set somewhere else. This is where to look for each part of it.
| Question | Decided by |
|---|---|
| Which tabs appear in the widget? | The widget settings on the portal page, the user's read permissions, and whether the model holds anything to display. See Configure the widget and list views. |
| Which fees are on the estimate at all, and what they cost? | The base template: its sections, its elements, and their amounts. See Sections and elements. |
| What a fee earner may change on the estimate? | Element settings on the template: the requirement level, whether the amount can be overridden, and whether multiples are allowed. See Elements. |
| Whether an estimate needs approving, and by whom? | The approval model, from the site default or the work type. See Work type settings. |
| What a fee earner can book time to? | Which sections have time booking on, and the phase the model is in. See Sections. |
| Which bulk actions are available on the fee lists? | The bulk action menu named in each list view's configuration. See Configure the widget and list views. |
How to view fees on a work item
Fees display on a work item in three places. Each one is a widget or a list, placed on a portal page by a configurator, so what a fee earner can reach depends on how the work type has been set up. Setting them up is covered under Configure the widget and list views.
1. The commercial models card on the matter dashboard
The matter dashboard carries a card listing the commercial models attached to the work item.
- Open the matter.
- Find the commercial models card on the dashboard. By default it is headed Fee Structure.
- Select a commercial model. This opens the Commercial model view blade, which carries the same tabs as the full Fee Structure screen described below.

Two display rules are worth knowing, because they explain cards that look inconsistent.
- Zero values are hidden along with their label. A label only displays where the amount is not zero, and the remaining labels shuffle up so there is no empty row. A model with nothing on its estimate therefore displays no figures at all.
- Sections excluded from estimated totals are not counted. Where the base template excludes a section from the estimate total, that section's values do not display in these figures.
The figures on a card are always net. Tax displays only in the detailed estimate view.
2. Finance menu > Fee Structure / Finance icon > Financial Framework
This screen holds everything about the fees on the work item. Access it from either:
-
Finance > Fee Structure in the left navigation of the work item.
-
Finance icon on toolbar > Financial Framework
Commercial model list
On a work type with a purpose of Commercial Agreement the left half splits into Default Models and Alternative Models, each with its own +. On an operational work type there is one list, with + in the title bar.
Commercial model view
Three things decide whether a tab displays: the widget setting, the read permission, and what the commercial model actually holds. All three have to allow it.
| Estimate | The estimate section by section, with a total under each section and a grand total beneath. A different display per section type. Not available to a user without the estimated fees read permission. |
| Actuals | The fee actuals recorded against the model, grouped per element type. Fixed fee actuals can also be added from here, which needs the fee actuals maintain permission. Not available to a user without the fee actuals read permission, and not present at all until actuals exist, so a model carrying only an estimate displays the Estimate tab alone. |
| Estimate Vs Actuals | Estimate against actual, with a remaining column. Where the estimate is a range, the estimate column displays whichever of the minimum, maximum or midpoint value the widget is set to compare on. Like the Actuals tab, it does not display until actuals exist. |
| Notes | Notes recorded against the commercial model. |
| History |
The commercial model's phase transition history, newest first, one card per phase change. Each card gives the phases moved between, who made the transition and when, the estimate version at that point, and the change reason and notes where they were captured. Select the version number to open that version of the estimate in a blade. It is read-only, headed with the version number and the phase the model was in, and displays the sections and elements with the amounts as they stood. Earlier versions stay available this way, so the pricing history of a matter can be looked back on. ![]() This History tab is always present, and there is no widget setting to turn it off. |
The commercial model title and its notes stay editable after the model goes active. Notes apply to the whole commercial model rather than to an individual estimate, so they are not tied to a particular estimate version. Notes moved from the estimate to the commercial model for exactly this reason. Held on the estimate, they locked as soon as the template activated.
Finalising a commercial model closes it and blocks title editing, so the design intent of editable in every phase does not hold at the end of the lifecycle.
3. The fee lists
Beneath the commercial model detail on the Fee Structure screen sit three work lists. They cut across every commercial model on the work item, so they answer questions the model-by-model view cannot, such as what has been billed this month or what has been written off.
| Actual fixed fees | Every fixed fee actual recorded against the work item, whichever model it belongs to. Record fee actuals covers what can be done from here. |
| Actual hourly rates | Every hourly rate actual, which is to say the time recorded against the work item priced at its charge-out rate. |
| Write-offs | The write-offs raised against the work item. Each one is a work item in its own right with its own approval route. See Writing off fees. |
Attach a model to a work item
Most commercial models are inherited from a statement of work, copied down when the matter is created. Adding one is the exception rather than the routine, and it happens where the work type allows it and the matter needs an arrangement the statement of work did not carry.
Add a commercial model
- Open Finance > Fee Structure on the work item.
- Select + in the widget's title bar.
The + displays only where the user holds the permission Finance - Commercial Model - Add, Fee Structures is enabled on the work type, and either the work type allows multiple fee structures or the matter has no model yet. A matter carrying its inherited model on a work type that allows only one has no add action. - The Add Commercial Model panel opens, listing the available Fee Templates, which can be searched (see more details below).
- Select the link icon next to the template required.
- The commercial model is created straight away, titled with the template's display name. Clio Operate builds the estimate and actual structures at this point. Where a model of that name already exists on the work item, a naming dialog opens first. Where the work type requires unique titles a different name has to be entered, and otherwise it is only a warning and the name can be kept.
What the Add commercial model panel offers
The panel displays up to two sections. Related Commercial Models holds the commercial models from the statement of work. Fee Templates holds the published catalogue. Which of them displays depends on Restrict available templates to those specified on the commercial agreement, read on the work type of the work item the commercial model is being added to, not on the statement of work.
| Restrict | The panel displays |
|---|---|
| Off | Fee Templates only, holding every published template. The statement of work is never looked at, so its commercial models are not offered. |
| On | Related Commercial Models only, holding the statement of work's default and alternative commercial models. The Fee Templates section and its search are hidden. |
So Restrict decides where the choice comes from. With it off, a user picks from the published catalogue and the statement of work has no say. With it on, a user picks only from what the statement of work carries.
Restrict is also ignored, and the catalogue offered in full, where the work item's own purpose is Commercial Agreement, or where no statement of work can be found for it.
Nothing marks the default
Related Commercial Models lists the commercial models alphabetically by title, and the panel is not told which is the default. A fee earner can only tell from the name, so it is worth titling commercial models so the intended one is obvious.
What is offered, and what is not
- Both sections are limited to the work item's currency. A commercial model whose template is in another currency is left out, so a statement of work can appear to have none at all.
- Fee Templates lists enabled templates on their current version only.
- Search in Fee Templates matches the version's display name and the template description. It does not match the template title, so a template whose version carries its own name cannot be found by typing the template's name.
- Related Commercial Models is not searched or paged, and is not filtered by phase.
- Where both sections come back empty, the panel displays No available commercial models or templates found for this work item.
For how the configuration behind this is set up, see Fee templates on work types overview.
What happens at the moment of attachment
Adding a template does not simply copy it onto the work item. Only the fees that apply to that work item are built.
- Clio Operate checks each element against the work item. Elements whose rate card rules do not apply are dropped, along with sections left with no elements.
- The estimate is built from what is left, along with the list of fees that can be recorded as actuals.
- Where nothing survives, the attachment is refused with a message and no commercial model is created.
- Otherwise the commercial model is created. Nothing is part created: if any of it fails, no model is left behind.
- The title defaults to the template version's friendly name where none is supplied.
- A template with auto-create elements produces fees on the work item as soon as the commercial model becomes active. Any elements flagged Automatically create fee have their fee actuals created, an audit record is written, a creation event fires, and the work item is re-indexed.
Because resolution happens per work item, the same template can build successfully on one matter and produce nothing on another. Rate card rules are usually the cause: elements whose rules do not apply are dropped, empty sections go with them, and a template left with nothing is refused. SeeTroubleshooting.
Alternative arrangements
A commercial model can be flagged as an alternative option, which lets an alternative fee arrangement sit alongside the real one on the same work item. Both display in the list, and the estimate values of an alternative are visible for comparison.
Removing a commercial model
A deleted commercial model is deactivated rather than removed, so the fee history of the work item survives. A user needs the permission Finance - Commercial Model - Delete to do this.
A commercial model that carries recorded actuals cannot be deleted. Where a model has to be taken out of use after fees have been recorded, finalise it rather than deleting it.
A model in a read-only phase cannot be deleted either, with Pre-Approved the exception.
A model that looks empty can still refuse deletion
The actuals check counts zero-amount fee actuals, which the fee actual list views hide. So a commercial model whose actuals list displays as empty can still be undeletable.
Work the estimate
While a commercial model is in draft, the estimate can be adjusted. What can be changed comes entirely from the base fee template.
Where the default values come from
| How the model was added | Where the estimate values come from |
|---|---|
| Created from a statement of work | The default values from the statement of work's current estimate structure. Where the statement of work value was adjusted, the work item inherits the adjusted value, not the original template value. |
| Added directly to the work item | The default values from the base fee template. |
Values and rules come from different places
The amounts may come from the statement of work, but the base template always decides what can be changed. A template whose elements are all mandatory and locked produces an uneditable estimate even where the amounts were inherited.
What a fee earner can change
Three element settings on the base template decide this. The three work independently. A mandatory element whose amount cannot be overridden can still be added a second time where allow multiple is on.
| Setting | Effect on the estimate |
|---|---|
| Requirement level |
|
| Allow multiple | Whether the element can be added to the estimate more than once. Adding a second instance is often the only lever available where everything else is locked. |
| Allow override of amount | Whether the amount can be changed. Available on fixed fee, fixed fee tiered and disbursement elements. |
Adjust the estimate
Where every element is mandatory and none allows override, there is nothing for a fee earner to do. In that case the template should have Auto-activate and lock estimates on, so nobody has to open and approve an estimate they cannot change.
- Select the commercial model in the list, then open the Estimate tab.
- Select the + against a section to add an optional element, or a further instance of an element that allows multiple.
- Select the delete action against a recommended element that does not apply.
- Change any amounts that allow override.
- Save.

How the estimate displays
- Sections display in the order set on the template, each with its own display for that section type.
- Fixed fees and disbursements have a quantity column, so several instances of the same fee can be grouped.
- Where a section is configured to specify the estimate as a range, its elements capture a from and a to amount, and the estimate displays a range rather than a single figure. Firms use this on time and materials work where an exact figure is not meaningful, quoting a bracket instead of breaking the work down by job role. A ranged element cannot be set to auto-create its fee actual, because the amount to create is not known. Recording one manually prompts the fee earner to enter an amount within the estimated range.
- A total displays under each section. Sections excluded from estimated totals display no section total.
- A grand total displays beneath all sections, split into fees and disbursements. A row is omitted where its value is zero.
- On a tax-enabled template the totals display net, tax and total columns. Tax is calculated on fees and disbursements separately, per tax code, so two disbursements on different rates produce two rows.
- On a template without tax enabled, only the total displays.
Phases & approval
Every commercial model carries a phase. The phase controls whether the estimate is locked, whether fee actuals can be created, and whether time can be recorded.
The phase sits on the commercial model, not the estimate
This is why the phase model works the same way whether or not the commercial model carries an estimate. An actuals-only model still has a phase, and approving it authorises the use of the model on the work item.
The phases
| Draft | The model is not yet active and has not been approved. The estimate can be adjusted. Time cannot be recorded. Recording a fixed fee actual is not blocked, but it warns. |
| Pre-Approved | Where the base template has Auto-activate and lock estimates on, a new commercial model starts here rather than in Draft, and it is read-only. |
| Active | The model is in use. The estimate is locked and fee actuals can be created. |
| Approving | Awaiting approval, where an approval model applies. |
| Updating | An active model reopened for changes. The approval model applies on the way back to active. |
| Finalised | Closed. Not terminal: a Re-open transition returns a finalised model to Active, and requires Finance - Commercial Model - Revert Phase permission. |
How a model moves through them
- A new model on an ordinary template starts in Draft and is editable. A new model on an auto-activate template starts in Pre-Approved and is read-only.
- Submitting a draft applies the approval model. With the default approval model in place, the model moves straight to Active.
- An active model can be moved to Updating to change the estimate. This requires the Finance - Commercial Model - Revert Phase permission.
- Coming back from Updating, the approval model applies again. A rejected approval returns the model to Draft.
- Finalising an active model closes it. A Re-open transition brings it back to Active.
For an actuals-only template, approval authorises the use of the commercial model on the work item. There is no estimate to approve.

The phase model is fixed
A commercial model is not a work item, so its phase model is not something a site can alter in the Modeller. The six phases above are the phases.
What a site can change is the approval that runs on them, and whether a transition demands a check-in with notes and a change reason. Both are configuration on the Fee Structures feature rather than on the commercial model, and each transition is individually permissioned, so one group can be allowed to submit estimates and a different group to approve them. See Work type settings.
Phases and time recording
Each phase carries a flag for whether time can be recorded against the model. A draft model does not display in the fee selector on a time entry, because nothing has been approved yet. This is why a fee earner cannot book time to a matter whose commercial model is still in draft.
Record fee actuals
Fee actuals are the real fees on the work item. Where the chart of accounts is in use for them, they also create unbilled revenue. There are two routes, and they behave quite differently.
| Type | How it is created |
|---|---|
| Fixed fee actuals | Recorded manually, or created when the commercial model becomes active where the element is flagged auto-create. |
| Hourly fee actuals | Created and maintained automatically from time entries. A fee earner never hand-creates one. |
Record a fixed fee actual
- Finance icon > Financial Framework
- Select the commercial model, then open the Actuals tab.
- Select the + to the right of a section label.
- Select the fee to record. Only allowed fees are offered: those not already created, plus any element configured to allow multiple.
- Enter the amount, or the hours or base amount where the section type derives the amount.
- Save.
What can be changed, and when
Whether the amount can be edited depends on the state of the fee and on two settings on the element.
| Allow override of amount | Specify element as a range | What can be entered |
|---|---|---|
| On | No | Any amount |
| On | Yes | Any amount. Override takes precedence over the range |
| Off | Yes | Any amount inside the range |
| Off | No | Nothing. The amount is fixed at the template or estimate figure |
This only applies while the fee is Draft or Revising. A Submitted or Approved fee is read-only whatever the settings say.
Where a range applies, a message displays above the amount, both when the fee is created and while it is being edited.
| Settings | Message |
|---|---|
| Range set, override off | This fee has a set range. Enter an amount from £50.00 to £100.00. |
| Range set, override on | This fee has a suggested range of £50.00 to £100.00. You can enter any amount. |
The messages are hidden once the fee is locked.
An inactive model still accepts fees
Inactive means any phase other than Pre-Approved or Active, so Draft, Approving, Updating and Finalised all count. Editing a fee that is still Draft or Revising on an inactive model warns, and the fee saves anyway. Adding a new fee gives no warning at all. So an unexpected fee on a draft model is possible, and on the add path nothing signals it.
Only fixed fees can be created here
Hourly fees come from time entries instead, so they cannot be added by hand. Disbursement actuals cannot be recorded at all, and a message in the widget says so.
How hourly fee actuals are created
Recording time creates the fee actual. The fee selector on a time entry is the link between the two.
- The fee earner records a time entry, completing the standard time activity and classification fields. Where the time has a charge rate, the Charge rate and Charge value display in the time details section, next to the units they are calculated from.
- The fee selector lists the sections that are enabled for actuals, which means those targeted at Actuals or at Both. A section targeted at estimates only is not offered, because no fee can be recorded against it. The sections offered come from the fee templates attached to the work item. Whether an estimate exists makes no difference, so a section is offered on its template configuration alone.
- The fee earner selects a section. Where the work item carries several commercial models, sections from each are listed, which is why distinct model titles matter.
- Clio Operate resolves the rate and creates the fee actual.

How the rate is resolved
| Section type | How the rate is found |
|---|---|
| Hourly Rates By Job Role |
Matches the time recorder's job role to an element. A partner recording an hour at £350 produces a £350 fee. The role is taken as at the time entry’s start date, not as at today. Three things use that same date: the fee, the internal cost, and the charge-out preview. So an entry that spans a role change is priced at the role held when it started. The last day of a superseded assignment still prices at the old role, because an assignment’s end date is the new one’s start date minus a day. Editing a saved entry keeps the role it was charged at, but editing its start date resolves the role again. |
| Hourly Rates By Time Code | Matches the time activity recorded to an element. |
| Hourly Rates By Business Rule | Evaluates a business rule against the time recorder, for example reading a legal aid grade held on an aspect. |
| A fixed fee section with time booking on | No rate and no fee. The time entry is logged and linked to the section, so the firm can see how much time went into delivering the fixed fee. |
Where no automatic match is found, the fee earner can select an element manually if the section has Allow user to pick element if not matched on.
What a fee earner sees depends on Allow user to pick element if not matched.
- With it off, the message is Time Booker has no role. No fee is raised and the time entry is kept.
- With it on, the message is Time Booker role not applicable for selected Fee Section. Please select required element. The charge rate and charge value stay at zero until an element is chosen, and the entry cannot be submitted. Once an element is chosen, the fee is raised at that element’s rate.
- Where the booker has no job role covering the entry date at all, the entry saves as a draft with no role recorded against it, and submission is blocked with Fee selection required for Submission.
How actuals display
- The layout mirrors the estimate, labelled actual rather than estimate.
- Actuals are grouped per element type rather than itemised, because a matter can carry many instances of the same fee. Debt recovery is the standard case, with a commission fee each time the debtor makes a payment over a multi-year instalment plan.
- Because descriptions vary between instances, the description is not displayed in the grouped view.
- A quantity column confirms the number of transactions posted. It counts transactions rather than value, because values can differ where allow override is on.
- Select the pencil icon to drill into a group and see the individual transactions as an itemised list.
- Where a section has no actuals, the widget displays No elements have been added to this section.
- Tax is not displayed on actuals, because the final tax amount is not confirmed until billing. A fixed fee actual displays as a single quantity and amount, with no range and no tax.
Estimate against actual
The Estimate Vs Actuals tab compares the two, with a remaining column showing the difference.
- Quantity and cost columns are not displayed, because the comparison is on total value. This avoids confusion where rates or quantities differ from the original estimate.
- Where the actual exceeds the estimate, the remaining value displays as negative.
- Where actuals exist with no corresponding estimate, they are included with an estimate of zero.
- Where the estimate is a range, the widget configuration decides whether the comparison uses the minimum, maximum or midpoint estimated value.
- Where the model has an actuals structure but nothing has been recorded yet, the tab displays an empty state.
The fee actual lifecycle
Fee actuals have their own lifecycle, separate from the commercial model's phases.

Approved is terminal. Hourly fee actuals have their state mirrored from the time entry's own state rather than driven by hand, so progressing the time entry progresses the fee.
Progressing the state drives the corresponding chart of accounts posting status: draft, ready to post, then posted. Fees can be progressed one at a time from the widget, or in bulk from the list views.
Billing status
Billing status is held separately from the fee actual lifecycle, introduced ready for the billing wizard. A fee starts unbilled.
| Status | Meaning |
|---|---|
| unbilled | Recorded and not yet billed. The starting point. |
| billed | Billed. Set by the billing wizard when that ships. |
| write-off | Written off. |
| Partially written off | Renders in the status column but is not offered as a filter, because partial write-off is not yet implemented. |
| Processing statuses | Transitional, for example while a write-off is awaiting approval. A fee in a processing status is no longer unbilled, so it cannot be picked up by a second write-off or another process. |
| billed-externally and written-off-externally | Set only through the public override API. A fee in either status is locked out of standard processing by design. |
| migrated | Fees brought in from an earlier version of Fees. They can be left as migrated or reclassified to unbilled. See the Fees release note. |
A fee actual can never hold zero
Every create and update route refuses a zero amount and returns a message. Negative amounts are fine, because credits and reversals are legitimate.
The same rule decides what happens when a rate resolves to nothing. An element left at a rate of 0.00 produces no fee at all. The charge rate and charge value display as zero and the time entry is kept. A rate of 0.00 is a valid no-charge rate, so nothing is flagged, which is worth knowing because it reads as a failure to price.
Bulk actions
Both list views expose a bulk action menu once rows are selected. The fixed fee list view carries the full menu. The hourly list view carries only the write-off actions, because hourly fees are driven by their time entries.
| Action | Fixed fee actuals | Hourly fee actuals |
|---|---|---|
| Delete fees | Yes | No |
| Submit, approve and revise fees | Yes | No |
| Write off fees, and undo write-off | Yes | Yes |
| Reclassify migrated fees | Yes | No |
| Reclassify unbilled to an external billing status | Yes | No |
| Revert external billing status to unbilled | Yes | No |
The write-off actions need the Fees Write-Off feature and the write-off permission as well as the bulk menu. Where any of those is missing, the action is not offered at all. Writing a fee off creates a work item of the write-off work type, which carries its own phases, fields and approval rules, and a written-off fee is locked to a processing status until the write-off is approved.
All of it, including eligibility, the accounting and how to undo a write-off, is covered in Write off fees.
Write off fees
Everything you need to know about writing off fees
A write-off takes a recorded fee out of unbilled revenue, with an audit trail and the accounting entries to match. This article covers the Fees Write-Off global feature, the phase features that decide when the accounting happens, which fees are eligible, and how a write-off is raised, approved and undone.
Write off overview
A write-off takes a fee that has been recorded and approved but will not be billed, and removes it from unbilled revenue. The work has been done and the time or the fee exists, so the fee cannot be deleted. It has to be written off, which leaves an audit trail and posts the accounting entries that take it out of the firm's unbilled position.
Both fixed fee actuals and hourly fee actuals can be written off, and the route is the same for each. A fee earner raises one from the bulk action menu on the fee actual list views. A write-off can also be raised from a workflow, using the Create Fees Write Off toolbox item, or through the public API.
Writing fees off creates a work item of a core write-off work type, which is the design decision everything else follows from. How write-off is put together explains that structure, and it is worth reading before configuring any of it.
Nothing posts until the write-off is committed
A write-off has two stages. Creating it selects the fees and locks them. Committing it, which happens on approval, posts the transactions. Until then nothing has reached the chart of accounts, and the fees can be released by rejecting or deleting the write-off.

How write-off is put together
Write-off is configured like most of the finance features: a global feature for the accounting, and a work type for the process. Writing fees off creates a work item, so it has a work type, and that work type carries a phase plan.
The core write-off work type moves through Draft, then Approving, then one of Approved, Rejected or Deleted. A site can create its own work type, or its own phase plan, instead.
|
Work type hierarchy ![]() |
State flow
|
The work types
Three work types are involved.
- The abstract write-off parent carries the phase plan, so its children inherit it.
- Write-off-fees is the type a fee write-off actually creates, and the type both phase features are bound to.
The practical consequence is that a firm wanting its own model derives from Write-off-fees rather than building a work type from scratch, because the phase features will only bind to work types on the write-off path. See Configure the phases and approvals.
The work item
Raising a write-off creates one work item holding the fee actuals selected for it. Because it is a work item, it carries a reference, notes, a phase, and whatever fields the firm adds. It can be reported on, found in a list view, and routed through an approval.
Each fee it holds moves to a processing status while the write-off is open. That status is not unbilled, so nothing else can act on the fee: a second write-off cannot pick it up, and no other process will touch it. On commit the fee moves to written off. Where it is taken out of the write-off before commit, it returns to unbilled.
The phase plan
The plan runs Draft, then Approving, then one of Approved, Rejected or Deleted. Two of its transitions are driven by a user, Submit and Delete, and two are driven by the approval outcome rather than by anyone choosing them.
Because the plan sits on the abstract parent, changing it changes it for both child types. A firm wanting different phases for fees only derives a new type from Write-off-fees and gives that its own plan.
Phases (out of the box)
Our core write-off work type uses Draft, Approving, then Approved, Rejected or Deleted. Sites can create their own work type with different phases, but it must be parented by our core write-off type, for example derived from Write-off-fees, so the phase features below are available.
Phase features and chart of accounts posting
There are two phase features that can create chart of accounts entries.
- Commit creates the write-off entries directly at Posted. Unlike other postings, nothing is created before this point. That is because committing does not just create the write-off entry, it also takes the amount out of unbilled revenue, so the movement only happens once the write-off is committed.
- Undo reverses the entries created on commit. Where undo is set on a phase before commit happens, there is nothing to reverse, so no reversing entries are created. Instead it cancels the write-off and moves the fees from Processing write-off back to unbilled.
This is why a write-off can complete with no accounting behind it
Because the accounting is a binding rather than something built in, there are two ways for a write-off to progress all the way through its phases while nothing posts. The Fees Write-Off global feature can be disabled, in which case a commit returns without doing anything. Or the committing feature can be bound to a phase the work item never passes through, which happens when a firm adds its own phases. Both are configuration, and both look identical from the work item.
Approvals
No approval is supplied with write-off. A site can configure one on the write-off work type in the same way as on any other work type. The Approving phase gives the write-off somewhere to sit while an approval runs, and the Approved and Rejected transitions out of it are driven by the outcome. Firms configure their own routing, so what triggers an approval and who it goes to is a decision for the firm rather than anything set in fees.
The global feature
Fees Write-Off holds the account codes that write-off transactions post to, and whether revenue and costs are accounted for separately. It answers where the money goes, not when it moves, and it writes no fees off by itself.
It also depends on the Chart of Accounts global feature, which is enforced rather than advisory, so the chart of accounts is configured before any of this. See Before you start.
Before you start writing off fees
Write-off depends on the Chart of Accounts, so that is configured first. Beyond it, a fresh installation already carries most of what write-off needs. The account codes, the work types and the phase plan all arrive with the installation, so the work is checking them and settling the options.
Order of work
| Step | What to do |
|---|---|
| 1 | Decide which chart of accounts code the written-off amount posts to, and create it if it does not already exist. Fixed fees and hourly fees can post to different codes. See The account codes supplied below. |
| 2 | Decide whether to account for revenue and costs separately. Where the firm does, configure Time - Internal Costs first, because split accounting has nothing to separate without an internal cost figure. |
| 3 | Enable Fees Write-Off and complete its account code settings in the Fees write-off global feature. |
| 4 | Review the phase plan on the write-off work type, and which phases commit and reverse the accounting. |
| 5 | Add an approval to the write-off work type where the firm wants one. |
| 6 | Grant the write-off permissions. |
| 7 | On a fee actuals list you add yourself, turn on Allow bulk actions and pick the matching custom bulk menu context. See Configure the widget and list views. Without this no write-off action displays. |
Adding a segment later invalidates the configuration
Each write-off account code setting is a combination across the enabled segments. Enabling a new segment in the Chart of Accounts leaves every existing write-off account code path incomplete, so the feature reports as invalid until each path is revisited and the new segment populated. Worth knowing before a firm changes its segments.
The account codes supplied
Three account codes are delivered under Revenue, in the Services Revenue category. A firm can point the settings at these or at accounts of its own.
| Code | Name | Used for |
|---|---|---|
| FIXEDFEEWRITEOFF | Fixed Fee Write-off | Written-off fixed fees. This covers the tiered and hours-derived fixed fee types too, because all three are classified as fixed fees. |
| HOURLYWRITEOFF | Hourly Write-off | Written-off hourly fees. |
| HOURLYCOSTSWRITEOFF | Hourly Costs Write-off | The internal cost portion of a written-off hourly fee. Used only where revenue and costs are accounted for separately. |
Decisions to make first
| Decision | Why it matters |
|---|---|
| Whether to account for revenue and costs separately | Splitting posts the internal cost of a written-off hourly fee to its own account, and reduces the amount posted to the hourly write-off account by that cost. Without it, the full amount goes to the hourly write-off account. Only turn it on where the firm reports on internal cost recovery, because it needs a third account code kept up to date and an internal cost figure on the fee. |
| Whether internal cost rates are configured | Split accounting needs an internal cost amount on the fee before it can post anything to the costs account. That amount comes from the Time - Internal Costs global feature, which holds internal cost rates per currency. Without it there is nothing to separate. |
| Which work type a bulk write-off create | The Bulk write-off work type setting decides which work type is created when fees are written off from the bulk menu on the fee actuals list views. Leave it blank to use Write-off-fees, or point it at your own work type derived from Write-off-fees where the firm wants different fields, phases or approval rules. A write-off raised through a workflow can use a different work type. See Fees write-off global feature. |
| Which phase commits the accounting | Out of the box, the accounting commits when the write-off reaches Approved. Rejected stops the write-off before anything has posted, so no money moves and the fees return to unbilled. A firm with a longer approval chain may want to commit later. See Phase features. |
Permissions
Write-off uses the standard work type permissions, named after the write-off work types. They are listed with the other fees permissions.
Two things are specific to write-off. Create on Write Off Fees decides whether Write Off Fees and Undo Write-Off display on the fee actual list views, so a user without it sees neither item. And undo needs Sharedo - Update rather than create, because it posts reversing financial transactions against the write-off, so someone can raise a write-off and be unable to undo it.
Fees write-off global feature
Fees Write-Off
Navigate to Modeller > Global features > Finance > Fees Write-Off
Fees Write-Off holds the account codes that write-off transactions post to, set once for the solution.

Each account code setting is a segment code picker: it presents one selection per enabled Chart of Accounts segment, and every one of them has to be completed.
| Write Off Account Code (Fixed Fees) | Mandatory. The account combination that written-off fixed fees post to. This covers the tiered and hours-derived fixed fee types as well as the plain one, because all three are classified as fixed fees. There is no way to send them to separate accounts. The supplied FIXEDFEEWRITEOFF account is the usual choice. |
| Write Off Account Code (Hourly Fees) | Mandatory. The account combination that written-off hourly fees post to. Separate from the fixed fee account so the two can be reported on independently. Where revenue and costs are accounted for separately, this account receives the margin only, and the cost goes to the hourly fee costs account. The supplied HOURLYWRITEOFF account is the usual choice. |
| Account for Write-Off of Revenue and Costs separately | Off by default. When on, a written-off hourly fee is divided into a margin element and an internal cost element, and a third account code becomes mandatory. The in-product guidance reads: If required, you can further break down the write-off of hourly fees by both the margin, and internal cost, so you can measure the actual internal cost write-off. It needs an internal cost figure on the fee, which comes from the Time - Internal Costs global feature. Turning this on without that configured leaves nothing to separate. |
| Write Off Account Code (Hourly Fee Costs) | Displays only when the toggle above is on, and is then mandatory. The account combination that the internal cost portion of a written-off hourly fee posts to. The supplied HOURLYCOSTSWRITEOFF account is the usual choice. Turning the toggle off again removes the requirement, so an incomplete path here can be resolved either by completing it or by turning the split off. |
| Bulk write-off work type | Optional. The work type used when fees are written off from the bulk menu on the fee actuals list views. Leave blank to use Write-off-fees. To use your own work type, it must be derived from Write-off-fees. Write-offs raised via workflow can use a different work type. |
How accounting separately changes the postings
Without the split, a written-off hourly fee posts its full amount to the hourly write-off account. With the split on, and an internal cost recorded against the fee, the amount divides. The internal cost posts to the hourly fee costs account, and the amount posted to the hourly write-off account is reduced by that cost.
Worked example
An hourly fee of £400 carries an internal cost of £150. Written off with the split off, the whole £400 posts to the hourly write-off account. Written off with the split on, £150 posts to the hourly fee costs account and £250 to the hourly write-off account, so the firm can report on the cost it absorbed rather than only the headline value given up.
Phase features
For details see Phase Features.
Configure phase features & approvals
Navigate to Modeller > Global features > Finance > Fees Write-Off > Phase Features
The Fees write-off global feature says where write-off transactions post. Two phase features say when. They bind to phases on the write-off work type, and decide which phase transitions create the financial transactions and which reverse them.
| Phase feature | What it does |
|---|---|
| Configure the phases for Committing Write-off |
Configure the phases which will create financial transactions for Write-off. Reaching a phase carrying this feature commits the write-off.
|
| Configure the phases for Undoing Write-off |
Configure the phases which will reverse financial transactions for Write-off. Reaching a phase carrying this feature undoes anything committed and discards anything that was not.
|
Both are phase level rather than work type level, and both restrict themselves to work types on the write-off path, so they cannot be bound anywhere else.
The write-off work types

| Work type | Role |
|---|---|
| Write-off | An abstract parent, described as the type under which write-offs are managed. It carries the phase plan, so its children inherit it. |
| Write-off Fees | The type created when fees are written off, and the type both phase features are bound to. This is the one to extend, or to derive from, where a firm wants its own model. |
The phase plan supplied
A phase plan called write-off-phase-plan is installed against the write-off work type, so it serves both child types.
| Draft | The starting phase, and an open one. The write-off is being prepared. The fees are held but nothing has posted. |
| Approving | An open phase. The write-off is out for approval. |
| Approved | The write-off has been approved. This is where the commit feature is bound out of the box. |
| Rejected | The write-off has been rejected. It stops before anything has posted, so no money moves and the fees return to unbilled. |
| Deleted | The write-off has been deleted and is marked as removed. The fees return to unbilled. |
| Transition | From | To | Driven by |
|---|---|---|---|
| Submit | Draft | Approving | A user. This is the optimum path. |
| Delete | Draft | Deleted | A user. |
| Approved | Approving | Approved | The approval outcome, not a user. The optimum path. |
| Rejected | Approving | Rejected | The approval outcome, not a user. |
The bindings out of the box
All three bindings are against write-off-fees. Nothing is bound to Draft or Approving, and nothing is bound to write-off-disbursements.
| Phase | Phase feature bound | Effect on reaching it |
|---|---|---|
| Draft | None | The fees are held in a processing status. Nothing has posted. |
| Approving | None | Awaiting approval. Still nothing posted. |
| Approved | Committing Write-off | The write-off commits. Transactions are created and the fee actuals move to written off. |
| Rejected | Undoing Write-off | Anything committed is reversed, and items never committed are discarded. The fees return to unbilled. |
| Deleted | Undoing Write-off | As Rejected. |
Changing the bindings
A firm can add phases and transitions to the plan in the Modeller as usual, then bind the two features to whichever phases suit its approval process. Two things are worth knowing before doing so.
- Moving the commit binding later delays the accounting. The fees stay in their processing status until the write-off reaches the committing phase, so a long approval chain leaves them held for longer.
- Binding commit to more than one phase is unnecessary. A commit only ever acts on items it has not already committed, so a second binding has nothing to do.
A phase the work item never reaches does no accounting
Where a firm adds phases and binds commit to one the write-off does not pass through, the write-off completes with nothing posted. This is the second reason a write-off can reach an approved state with no accounting behind it, the first being the feature itself being disabled.
What else can be configured on the work type
A write-off is a work item of an ordinary work type, so everything a firm already knows about modelling work types applies. Open it in the Modeller and it behaves like any other.
| What can be configured | Detail |
|---|---|
| Phase model | The write-off's own phases, rather than a fixed set built into Fees. |
| Fields | Add whatever the firm needs to capture, for example a client-facing reason, or a category for reporting. |
| Reference and notes | Standard work item behaviour, including whether notes are mandatory. |
| The blade | Extendable, so a firm can add its own data capture alongside the fee summary. |
| Approvals | Configured on the work type. |
An approval model
A write-off does not have to be approved. Where the firm wants one, configure an approval on the write-off work type in the same way as on any other work type, and the write-off routes through it on submit.
Eligibility
These conditions decide whether a fee actual can be written off. All have to hold.
| Condition | Why |
|---|---|
| The lifecycle state is Approved | A write-off reverses a fee the firm has committed to, so the fee has to have been approved first. A fee still in Draft, Submitted or Revising cannot be written off, whatever its billing status. |
| The billing status is unbilled | A billed fee is handled through billing rather than through a write-off. A fee already written off, or sitting in a processing status, is not unbilled either. |
| The fee has not been invoiced | A separate check from the billing status, reading whether the fee carries an invoiced date. The two can disagree, so both are tested. |
| The fee is not being revalued | A fee going through time revaluation has an amount in flux, so writing it off would post an amount that is about to change. |
| The fee is not in another write-off | A fee already selected into a write-off that has not yet committed cannot be picked up by a second one. This is what the processing status enforces. |
| Write-off covers fixed fees and hourly fees | A conditional tiered success fee cannot be written off through the interface in this release. |
Approved, not posted
Eligibility depends on the state the fee actual has reached, not on whether it has reached the chart of accounts. A fee is posted because its state has moved on, so posting describes what follows rather than what is tested. Where a fee is refused, check its state.
Selecting an ineligible fee does not block the write-off
A bulk selection can easily include fees that do not qualify, so the write-off blade does not refuse the whole selection. It lists every fee selected, marks which are valid, and displays a message explaining that some do not meet the criteria.
Only the valid fees are carried into the write-off work item. The rest are left alone, still eligible for whatever they were eligible for before.
The API behaves differently on purpose
Where a write-off is created through the public API, a request containing an ineligible fee is rejected outright rather than partially fulfilled, as is a request naming a fee that is neither a fixed fee nor an hourly fee. An integration gets a clear failure instead of a silent partial result.
Raise a write-off
Raise a write-off
- Open the Fixed Fee Actuals or Hourly Rate Fee Actuals list view on the work item: Finance > Fee Structure.
- Tick the fees to write off.
- From the bulk action menu, select Write Off Fees.
- The write-off blade opens.
- Maximise the screen to see all the columns.
- Review the fees listed, the total, and any marked as not eligible.
- Remove any fee that should not be included. The totals update as you do.
- Enter the reason and any notes.
- Save. Clio Operate creates the write-off work item and locks the selected fees.
- Submit the write-off. Where an approval applies, it routes for approval. Where it auto-approves, the transactions post at this point.

| The selected fees | Every fee from the selection, each marked valid or not eligible, so it is clear what will and will not be written off. |
| Total | The value to be written off, across the valid fees only. It updates immediately when a fee is removed from the list. |
| Time and Units | Displayed for an hourly selection, and totalled across the valid fees. Hidden for a fixed fee selection, because a fixed fee has no hours behind it and the whole fee amount is written off. Where a selection holds both types, the blade renders a mixed layout that carries both. |
| Reason and notes | Carried onto the write-off work item, and summarised on the approval card so an approver can see why without opening the work item. |
What happens on save
- A write-off work item is created, with its own reference.
- Each valid fee moves to the processing write-off billing status, and is flagged as being in that write-off.
- No accounting entries are posted. That waits for the approval.
Approval
The summary sits on the write-off blade, which an approver reaches through Refers To on the approval task, so approving with the detail in view means opening the write-off rather than deciding from the card.

Where the work type is configured to approve automatically, submitting the write-off approves it and only then creates the posted transactions. The order matters: nothing posts speculatively.
Rejecting or deleting before commit
| Action | What happens to the fees |
|---|---|
| The approval is rejected | The fees return to unbilled, and no transactions are created. They are eligible for write-off again. |
| A draft write-off is deleted | The same: the fees are released back to unbilled. |
A rejected write-off releases the fees cleanly
Because nothing posts before the commit, a rejection leaves no accounting to unwind. This is the reason for the two-stage design.
The write-off list view
A list view reports on write offs, displaying the value written off, the hours and units where applicable, and the approver.

From here you can view the details of the write off, this opens the Write-off fees blade, where if you have permission and it's not automatic, you can approve/reject.

Other routes
A write-off does not have to be raised by hand. Two other routes exist, and both produce the same work item.
The public API
A write-off work item can be created from a valid request through the public API. Use it where write-off decisions are made in another system, or to handle volume that would be impractical through the list view.
The API validates more strictly than the blade does. A request containing a fee that is not eligible is rejected, rather than the eligible fees being written off and the rest skipped. So is a request naming a fee that is neither a fixed fee nor an hourly fee.
A write-off created through the API with both hourly and fixed fees in it renders the mixed layout on the blade, in the same way as one created by hand.
The workflow block
A CreateFeesWriteOff block is available in the workflow designer, and creates a write-off from a collection of fee elements.
Use it to automate a write-off that follows from something else happening, for example writing off the remaining unbilled fees when a matter closes as abortive, or when a client-level agreement caps what can be billed.
Accounting and undo
A write-off posts on commit, and what it posts depends on the fee type and on whether revenue has already been recognised.
| What is written off | What posts |
|---|---|
| An hourly fee | Credits the hourly write-off account, and de-recognises the fee's work in progress. |
| A fixed fee with recognised revenue | Credits the fixed fee write-off account, and reverses the recognised work in progress. |
| A fixed fee with no recognised revenue | Posts the write-off entry only. There is no recognised revenue to reverse, so nothing is. |
| Any of the above, with split accounting on | The internal cost element posts to the costs account, and the remainder to the fees write-off account, rather than the whole amount going to the write-off account. |
Writing a fee off clears it from unbilled revenue
Fee actuals post to an unbilled revenue account when they are recorded. A write-off takes the fee out of that account, so the balance continues to match the fees the firm can still bill. That is the point of writing off rather than deleting.
What a commit records
A commit acts only on write-off items that have never been committed and never been undone. For each fee it takes, it:
- Records a negative revenue transaction, so the amount is no longer recognised as revenue.
- Records the write-off transactions against the configured account codes, separating the internal cost where revenue and costs are accounted for separately.
- Sets the fee actual's billing status to written off.
- Stamps the write-off item with a date written off.
- Writes an audit record and a chronology entry, and displays a Fees Written Off confirmation.
A commit does not remove the fees from the write-off work item. They stay on it, marked as written off, which is what makes an undo possible later. And because the chronology entry is written on the work item, a write-off is traceable from the matter as well as from the accounts, which is not true of every change to an hourly fee.
Undoing a committed write-off
A committed write-off can be undone. Undo reverses the accounting rather than deleting the record, so the decision and its reversal both survive.
Who can undo
Undo posts reversing financial transactions against the write-off, so it needs the same permission as editing the write-off: Sharedo - Update. This is the generic work item update permission rather than a write-off-specific one, and it is already granted to the primary owner and contributor roles on write-off-fees.
On the write-off list view, the Undo Write-off row action is offered only where that write-off has something to reverse and the user may update it. Undo is refused outright to a user without the update right, whichever route they take.
Undo from the fee actual list views
- Open the fixed fee or hourly fee actual list view.
- Select the written-off fees to reverse.
- From the bulk action menu, select Undo Write-Off.
What undo does
Undo acts only on write-off items that carry a date written off and no date undone. For each of those it reverses the revenue and write-off transactions, returns the fee actual to unbilled, and stamps a date undone. It also raises an undone event and writes an audit record and a chronology entry, in the same way as the commit did.
Undoing does not delete the write-off work item. Where every fee in a write-off is undone, the work item stays in place with its items marked as undone, which is what an auditor would expect.
Fees that were never committed are left alone
In a mixed selection, undo touches only the fees that were actually committed. Fees never committed, and fees already undone, are left completely untouched. A fee that is mid-write-off is still held by a live write-off, so releasing it would leave a fee reading as billable to one query and as written off to another.
Undoing compared with withdrawing
Undoing a write-off and taking it out of play are different operations, even though the same phase change runs both. Where a write-off moves into a phase carrying the undo phase feature, two things happen:
- Committed items are undone, as above.
- Items never committed are discarded. Their rows are removed, their work in progress postings are reversed, and their fee actuals return to unbilled.
The second step belongs to the phase change alone, and an undo request cannot trigger it. So a write-off that should be abandoned is deleted or rejected rather than undone, because only the phase change clears the uncommitted items away.
Troubleshooting
Write Off Fees is not in the bulk menu
| Cause | What to check |
|---|---|
| The list view has no bulk menu configured | The most common cause. Each fee actual list view has to name the bulk action menu to use when it is added to a portal page. Without it, no bulk actions appear at all. |
| The Fees Write-Off feature is off | The action is not offered while the feature is disabled. |
| The user lacks the write-off permission | Sharedo - Create - Write Off Fees. The action is hidden rather than displayed and refused, so it looks the same as a missing feature. |
A fee is marked as not eligible
Check the five conditions in Eligibility. In practice the usual causes are a fee that has not reached Approved yet, and a fee already sitting in another write-off that nobody has committed or deleted.
Editing rules
Two things decide whether a fee actual can be edited. Both have to allow it.
| What is checked | An edit is allowed when |
|---|---|
| Lifecycle state | The fee is Draft or Revising. A fee with a billing status of migrated is exempt from this check. |
| Billing status | The fee is unbilled or migrated. |
Check both, not just the state
A Draft fee that is already billed is locked. So is an Approved fee that is still unbilled. Where someone can edit one fee but not an apparently identical one, it is almost always these two disagreeing.
Where an edit is refused
A refused edit reports the rule that stopped it. The two checks above, the rules belonging to the section type, and the rule that blocks a zero amount all report this way, so the message is the place to start.
A bulk delete from a list view behaves differently. A fee that cannot be deleted is reported on its own and the rest of the selection still goes through, so one refusal does not discard a whole multi-select.
What the chronology records
Fixed fee changes are audited. Updating a fixed fee actual writes an entry to the work item chronology.
Hourly fees are not. Amount changes from the time pipeline, time revaluation, and the deletions that happen when a time entry stops being chargeable all leave no chronology entry.
Posting to the chart of accounts
Recording a fee actual posts unbilled revenue to the chart of accounts. This tab explains what posts, when it posts, and what stops it posting. The accounts themselves, and which fee types use which, are configured in the Unbilled Revenue global feature.
Nothing posts until the Chart of Accounts is in place.
The Unbilled Revenue global feature depends on the Chart of Accounts global feature, and it reports as invalid until every segment of its default account code is completed. A fee recorded while that is unfinished creates no transaction.
When revenue is recognised
It depends on the fee type, and the two behave differently enough to be worth stating separately.
| Fee type | When it posts |
|---|---|
| Hourly fees | As the time is recorded. Recording the time sets the fee ready to post. Approving the time entry posts it. An hourly fee actual's state is mirrored from its time entry rather than driven by hand, so progressing the time entry is what moves the posting along. |
| Fixed fees | When the fee is created, provided the fee is unbilled. Editing the fee's description or other details afterwards does not touch the ledger. Once the fee is approved its amount is locked, so an increase is made by adding a further fee item rather than by editing the approved one. |
| Disbursements | Not at all from here. A disbursement section is estimate only, so no disbursement actual is recorded against a commercial model. |
The posting status
A fee actual's own state drives its chart of accounts posting status.
| Posting status | What it means |
|---|---|
| Draft | A transaction exists and is held at draft. Re-pricing the fee while it is still Draft updates that transaction rather than adding another. |
| Ready to post | A transaction exists and is waiting to go to the ledger. |
| Posted | The transaction is in the ledger. |
Fees can be progressed one at a time from the commercial model, or in bulk from the fee actual list views. The Posting Status column on those list views is where to read it across a whole work item. See Record fee actuals for the fee actual lifecycle the status follows.
The starting state is a template decision
Fee actuals the template creates on its own start in whatever Auto-created fee phase is set to on the template version. Where that is Approved, those fees post the moment the commercial model activates, with no review step. See Create a template.
The transaction date differs by fee type
An hourly fee's transaction takes the date the work was done. A fixed fee's takes the date the fee was created. So work done in the same month can land in different accounting periods depending on the fee type.
Revenue is not recognised by percentage of completion
A fixed fee recognises in full or not at all. A £1,000 fixed fee with half its expected hours booked does not recognise £500.
Where a firm needs partial recognition, for example on a matter with large milestone payments, it is done with accounting adjustments on the matter ledger rather than by the fee itself.
How unbilled revenue is calculated
Unbilled revenue is:
total fee revenue + total disbursements - total receivables
It can be negative. A fixed fee billed in advance puts it below zero until the work is recognised. Money held on account does not, because the request does not affect receivables.
Worked example: a fixed fee billed in advance
A £5,000 fixed fee is billed in advance, so unbilled revenue sits at minus £5,000. £3,000 of hourly fees are then billed, taking it to minus £2,000. Recognising the fixed fee brings it to £3,000.
When a fee does not post
| Cause | What to check |
|---|---|
| The global feature is off, or invalid | Unbilled Revenue has to be enabled, and its default account code completed for every enabled segment. |
| The fee type is excluded | Record Unbilled Fees in Chart of Accounts is off on that fee type's override row. The fee actual is still created, and the section is still offered when recording time. Only the chart of accounts entry is not made. In legal work it is common for unbilled revenue not to be carried in the chart of accounts at all, so this is a normal configuration rather than an exception. |
| The fee is still in draft | No transaction exists at draft. Progress the fee, or the time entry behind it. |
| The fee is locked out | A fee set to billed externally or written off externally through the public override API is held out of standard processing by design. |
What a write-off posts
Writing a fee off reverses its unbilled revenue and posts to the write-off accounts. What posts depends on the fee type and on whether revenue was recognised in the first place. See Accounting and undo.
Troubleshooting fees on a matter
A fee cannot be edited
Check the lifecycle state and the billing status. Both have to allow it: the state has to be Draft or Revising, and the billing status has to be unbilled or migrated. See Editing rules.
No fee was created from a time entry
| Cause | What to check |
|---|---|
| The time was booked to a fixed fee section | A fixed fee section with time booking on logs and links the time without creating a fee. This is by design. |
| No element matched | Check the person's job role, the time code, or the business rule the section resolves on. Turn Allow user to pick element if not matched on if a manual fallback is wanted. |
| The commercial model is not active | Only active models appear in the fee selector, because the phase controls whether time can be recorded. |
| The time entry is not chargeable | A non-chargeable entry creates no fee. Where an existing entry stops being chargeable, its fee actual is deleted. |
The fee selector is empty on a time entry
The selector lists sections on active commercial models that are either hourly rates sections or have Enable time booking on. An empty selector means the work item has no active model meeting that description. Check the phase first, then the section configuration on the base template.
There is no way to set a default fee section for time recording. That is on the backlog rather than in this release, so a fee earner picks from the selector every time.
The estimate is locked
An active commercial model locks its estimate. Move it to Updating to change it, which requires the Finance - Commercial Model - Revert Phase permission. Coming back to active applies the approval model again.
A model created from an auto-activate template starts in Pre-Approved and is read-only from the outset, so there is no draft stage in which to adjust it.
Fees appeared that nobody added
Elements flagged Auto-create fee have their fee actuals created when the commercial model becomes active. Review the auto-create flags on the base template against what the firm actually wants created. On a site that came from an earlier version of Fees, the flag is broadly on, which the Fees release note explains.
The actuals tab is not available
| Cause | What to check |
|---|---|
| The base template produces no actuals | The tab displays only where the template produced an actuals structure. A template whose sections are all targeted at estimates gives a model with nothing to record. |
| The tab is turned off | Check Show actuals in the widget configuration. See Attaching fee templates to work types for the widget settings. |
| The user lacks the read permission | The fee actuals read permission. See Attaching fee templates to work types for the permission set. |
| Actual creation is disabled on the work type | Check Enable actual creation in the work type's Fee Structures configuration. |
A commercial model refuses to delete but shows no actuals
The actuals check counts zero-amount fee actuals, and the fee actual list views hide them. So a model that looks empty can still be carrying rows. Check also that the model is not in a read-only phase, since those cannot be deleted either, with Pre-Approved the exception.
A bulk menu is missing from a list view
The list view configuration has to name the bulk menu to use. Adding the list view to a portal page does not bring the menu with it. See Work type setup > Configure the widget and list views.
A commercial model card displays no figures
Zero values are hidden along with their labels, so a model whose estimate holds nothing displays no figures. Check whether the base template has any mandatory or recommended elements, and whether its sections are excluded from estimated totals.
Who changed an hourly fee
The work item chronology does not record hourly fee changes, so it will not answer this. See Editing rules for what is and is not audited.
Migrate existing fees
Migrate existing Fees
When a site upgrades to Fees, any fee actual that already existed under the earlier fees functionality is carried across automatically. Nothing is deleted and nothing needs to be done immediately. Existing fees stay visible, intact and untouched unless the firm chooses to act on them.
This tab explains what that looks like in practice, and the options available for bringing older fees into the new Fees model.
What is displayed after migration
Where a fee actual existed under the earlier fees functionality, it displays as a transaction in the new fixed fee list view. The list view displays all fixed fees, with a Fee Section column identifying the commercial model and fee section the fee relates to.
The same fees can also be viewed by commercial model on the Financial Frameworks widget. See How to view fees on a work item.
Fees created before the upgrade carry a billing status of Migrated and a lifecycle state of Approved.
Why fees are left in this state
The migrated status exists to give the firm a choice. These fees can be left exactly as they are. There is no requirement to do anything with them, and no functionality is lost by leaving them alone. Alternatively, some or all of them can be moved into the Fees model at a time that suits.
Editing migrated fees
A fee can be edited while its billing status is still Migrated, and it can also be deleted. This is an exception to the usual rule, which allows an edit only where the lifecycle state is Draft or Revising. See Editing rules.
Unbilled revenue
A new Unbilled Revenue global feature tracks unbilled fees in the chart of accounts. Whether fees post is decided by its Record unbilled fees in chart of accounts option, not by enabling the feature.
Migrated fees are not recorded in the chart of accounts. Tools are provided to add them.
Reclassify migrated fees
There are two routes, and they are not the same thing.
- The Reclassification Wizard works across every matter at once, by work type. It is for the upgrade itself.
- A bulk action on the fixed fee list view reclassifies the fees a user has selected. It is for tidying up afterwards. A single fee can also be changed by opening it from the list view.
The Reclassification Wizard
Go to Modeller > Global features > Finance > Fee Structures, find the Reclassify Migrated Fee Actuals section, then select Open reclassification wizard.

The wizard decides for itself which fees are in scope. It takes fee actuals whose billing status is Migrated, on matters in an open phase, with a non-zero amount. Closed matters are out of scope. Zero value fees are always excluded, whatever the display setting for zero value fees says, because the run moves money. Both fixed fee and hourly rate fee actuals are included.
The three target statuses
| Target | What happens |
|---|---|
| Unbilled | The value is recognised in the chart of accounts, so a chart of accounts entry is created. Check the Unbilled Revenue global feature is configured as the firm intends before running this. |
| Billed externally | The billing status changes and nothing posts. |
| Written off externally | The billing status changes and nothing posts. |
Migrated is not a target, so a fee cannot be returned to Migrated by this wizard or by anything else. There is no undo. A mistake is corrected by reclassifying the fee to another status instead.
Work through the four stages
- Scope. Tick the work types to include. All are ticked to start with. A work type left unticked is not touched at all.
- Configure. Set one target for every selected work type, or select Configure per work type to set them individually. Break down by phase then sets a different target for each open phase within a work type. This routes fees to different statuses, it does not narrow the selection.
- Preview. The wizard counts what it would do and writes nothing. It displays the number of fee actuals and the value against each target, says which of them post to the ledger, and counts those it cannot move under Not transitioned. Use Back to adjust the targets.
- Execute. Select Start reclassification. Progress displays as it goes, and the run can be paused and resumed. Closing the blade pauses the run rather than losing it, and it can be picked up again from the Existing Runs tab.
Keep the blade open and expect it to take a while
The wizard works through fifty matters at a time, so a large run takes several minutes. It is attended, which means it only progresses while the blade is open.
What the wizard leaves behind
A fee that cannot be moved is skipped and reported. The run is never refused as a whole, and each matter is handled on its own, so one problem matter cannot stop it.
| Why a fee is skipped | What happens to it |
|---|---|
| The fee is not at an Approved lifecycle state | Counted in the preview as blocked, and left unchanged. |
| Someone reclassified the fee after the run started | Skipped and counted as already reclassified. |
| The run hits a problem on one matter | That matter's fees stay Migrated and the run reports a failure count when it finishes. |
Re-running is always safe, because only fees still at Migrated are picked up. Anything that failed stays Migrated and is retried by starting another run.
Permissions
Running the wizard needs permission Finance - Fee Actuals - Bulk Override Across Matters. That permission widens the reach of a reclassification, it does not grant a new one: the user also has to be able to set the target status on a single fee. A target the user cannot set displays with a padlock and cannot be chosen, and a user who can set none of the three is stopped at the Scope stage.
| Permission | What it allows |
|---|---|
| Finance - Fee Actuals - Bulk Override Across Matters | Running the wizard. |
| Finance - Fee Actuals - Set External Billing Status | Overriding a fee actual's billing status from an external finance system, through the public API. Required for the billed externally and written off externally targets. |
| Fees - Change billing status | Changing a fee actual's billing status between unbilled and the external statuses from within the application, in either direction. Either this or Set External Billing Status allows the Unbilled target, because the two cover the same change from two different entry points. This is also the permission that returns a fee from an external status to unbilled, one fee at a time. |
All three are system permissions, granted to System Admins as delivered.
Reclassifying ends the ability to edit
Once the billing status changes from Migrated, the fee can no longer be edited. It sits at an Approved lifecycle state, which is treated as finalised. Decide what a migrated fee should become before running the wizard over it.
Tax sections
The Tax section type has been removed. Tax is now enabled at template level: a tax rate is selected on the template and applied automatically to any estimate generated from it. Individual elements can be overridden with a different rate where needed, so a court fee disbursement can be zero rated while standard fees use the default. See Section types.
Because the Tax section type has gone, any template that used it has had its tax section remapped to a Fixed Fee section. Where tax actuals already existed, these have been migrated to Fixed Fee as well.
Charge tax once
Where fees are set to unbilled, any associated tax actuals are set to unbilled too. When billing, make sure tax is charged once in total. Do not apply tax again on top of a net fee amount that already accounts for it.
Disbursement sections
The Disbursements section type no longer supports actuals. To preserve existing actual values, these sections have been mapped to the Fixed Fee type instead.
Where an element referenced a purchase rate card, that reference is no longer valid, because purchase item rate cards cannot be used on a fixed fee section. To preserve the value, the rate from the card has been copied onto the fee template element as a fixed amount. The element no longer references the rate card, so the amount is maintained on the template from now on.
New fees created after the upgrade
New fees default to a lifecycle state of Draft. The state model is Draft, Submitted and Approved, with Revising available off Submitted. A fee cannot be edited or updated once it reaches Approved. See Phases, states and statuses.








