Skip to content

Task guide

Custom fields

The firm's own fields on matters, clients, parties, enquiries, tasks, documents, time and people, in sets, with conditions, formulas, restricted fields, register columns, reports, merge tokens and a history of values.

When the firm needs to record something the system does not ask for (a suit number, the plot of land in a sale, a client's preferred language, a reporting code on time), it adds its own field. Fields are kept under Settings, Practice, Custom fields, one tab for each kind of record: matters, clients, parties, enquiries, tasks, documents, time entries and people.

Sets

Every field sits in a set: a named section of the record, shown in the order the sets are listed. New set starts one; give it a Name, a line on What it holds, and where it Shows:

  • On every record of its kind.
  • On matters of chosen practice areas or types: a matter of one of the practice areas or matter types named shows the set; an enquiry shows it by its practice area. Copying a matter type carries its sets to the copy.
  • Only where someone adds it: anyone who may change the record adds it from More fields at the foot of the record's fields.

A set shown by practice area or type, or added by hand, can be taken off one record with Take off this record in the set's menu. What its fields hold is kept and comes back if the set is added again.

A set that Holds rows is a list: each row carries every field of the set, as each property in a sale or each vehicle in a claim. Set Most rows up to 200. On the record, Add row adds one, each row's menu edits, moves or removes it.

Move up and Move down put the sets in order. Retire takes a set out of use and keeps what it holds; a set is deleted only while it holds no fields.

Fields

New custom field asks for its Label, its Key (the name values are stored under, which does not change), its Type, the Set it sits in, its help text and whether it is Required. The types are text, long text, number, date, yes or no, a choice, several choices, an amount of money, an email address, a phone number, a web address, a colleague, a party or client, a matter and a document, and a value Worked out by a formula. A party field may take Clients only; a money field may be held to one Currency.

A Default value is what a new record starts with, and what a set added to a record starts with; a colleague field may start as whoever creates the record. A field's page, Custom field details, shows its Details, About this field (including how many Values held) and Where it is used. Once any record holds a value its type stays as it is. An option a record holds cannot be removed; to rename one, write Old name => New name on its line, and every value moves to the new name.

Fields that show only sometimes

A field can wait on another field of the same kind of record. In the field's form, Shown when reads Always until you choose a field to wait on. Then choose a Test; the tests offered depend on that field:

  • A yes or no field offers Is yes and Is filled in.
  • A choice or several choices field offers Is (one option), Is any of (several options, chosen under Options) and Is filled in.
  • Any other field offers Is filled in.

While the condition does not hold, the field is not shown on the record, is not required, is not asked on a form and prints as nothing in a document. The value it holds is kept and returns when the condition holds again.

A field can wait on a field of its own set. A field in a set that does not hold rows can also wait on a field of any other set of the kind that does not hold rows. It cannot wait on itself or on a calculated field, and conditions go one level deep: a field that waits on another cannot itself be waited on.

Fields worked out by a formula

Choose the type Worked out by a formula for a figure or date that should never be typed, such as the days between a filing and a hearing. Under Formula, write it with the keys of the number, money and date fields of the same set. Under Gives, choose what it comes to: A number, An amount of money (and then its Currency), A number of days or A date.

  • Use +, -, * and /, and brackets. A money field counts as its amount.
  • days_between(from, to) gives the days between two dates, and so does one date minus another. add_days(date, days) gives a later date, and so does a date plus a number.
  • round(number, places) rounds to 0 to 6 places. min(...) and max(...) take two or more numbers. if_blank(a, b) gives a, or b where a is blank.
  • A formula can read another calculated field, but not itself, even through others. It is at most 500 characters.

For example, days_between(filed_on, heard_on) with Gives set to A number of days.

The field is blank on a record where a value the formula needs is blank, or where it divides by zero. A calculated field is never asked for: it has no Required switch or default, the client does not answer it, and the record's form leaves it out. Its value reads on the record like any other, and is worked out again each time a value it reads is saved. In a set that holds rows, each row is worked out on its own. History lists such a change as Worked out.

When you change a formula, every record is worked out again in the background, and you are told when it is done.

Restricted fields

Switch on Restricted for a field only some people should see. The switch appears only to someone who may read and change restricted fields (reference.restricted_fields), which partners and the managing partner hold. Only such a person can create, change or hide a restricted field.

To everyone else a restricted field does not exist: it is not on the record, in a register, in the search, in the history, in an import file or in the list of fields, and a value written to it is refused.

A restricted value never reaches anyone through a field they can see:

  • A field everyone sees cannot be shown on a condition of a restricted field. A calculated field that reads a restricted field must itself be restricted.
  • A field cannot be made restricted while a field everyone sees waits on it or reads it in a formula. Restrict that field first.
  • A restricted field is not asked of the client in the portal, is not offered to an intake form question, and is not offered to the report builder or the data feed, to anyone.
  • A template that names a restricted field cannot be used by someone who may not read it: the document stops, saying the token names no field they may read.

On a record

Each set reads as a section of the record's overview; Edit opens its fields. A field the matter's stage asks for reads as required while the matter sits there. A field whose condition does not hold is not shown. History in a set's menu lists every change to its fields, newest first: what it was, what it became, who changed it and how: Edited, Its default, Changed with others, Imported, Merged in, Worked out, From a form or Given by the client in the portal.

Many records at once

On the matter register, choose matters and Edit a field to set or clear one field on all of them. A matter you may not change, or whose sets do not carry the field, is left as it was and counted in the message that follows.

Bringing values in

Imports offers Custom field values for each kind of record. The file holds one value to a row, with the columns record (a matter or enquiry number, a client number, a person's email, or the id from a register's export), field (the key or the label), value (empty clears the field; several choices separated by ;; money as 1,500.00 or GHS 1,500.00) and, for a field in rows, row (from 1). A wrong row is set aside with its reason in the file of rows to fix; the rest are kept.

Finding records by their fields

The search at the top of every screen finds a matter, party, task, document or time entry by the words in its text fields and its choices, and says which field held them. Nobody is shown a record their own access does not reach.

In registers

Every register of a kind of record can carry the firm's fields as columns: matters, clients and parties, enquiries, tasks, documents, time entries and people. Open Columns and choose from The firm's own fields, each listed with its set. Choose up to five. A field in a set that holds rows is not offered, because it has no one value to show.

Each field chosen also adds a filter to the register: words to look for in a text field, one option of a choice, Yes or No, or a range with either end open for a number, amount, date or calculated figure. The columns and filters are kept in a saved view. A view saved with a field the firm has since hidden is read without it, and the register says so.

In reports and the data feed

The report builder and the data feed offer the firm's fields as fields of the data set, for matters, parties, enquiries, tasks, documents and time entries. A choice groups and filters by its options, a date by month, and a number, an amount or a number of days can be summed. A field in a set that holds rows, and a restricted field, is not offered. See Reports and the firm's figures.

From an intake form

On an intake form, a question's Fills on the record lists the firm's enquiry fields as Enquiry: followed by the field's label, beside the standard enquiry details. When someone sends the form, the answer is written to that field on the new enquiry, and the field's history reads From a form.

Only a field that takes that kind of answer is offered. A field must be shown on the form, not restricted, not worked out by a formula, not a colleague, party, matter or document field, and in a set that does not hold rows. A choice question bound to a field offers only that field's options. If a field refuses an answer by the time the form is sent, for example because its options changed, the answer stays with the form's response, the other answers are written, and the sender is not turned away. See Building an intake form.

From the client, in the portal

On a matter or client field, switch on The client answers it and the client is asked for it in the portal, under Details we need. The responsible lawyer is told when they answer. A restricted or calculated field cannot be asked of the client. See The client portal.

In templates

A template reads a field by its key:

  • {{field.suit_number}} prints a field of the matter, or of the enquiry for a letter made from an enquiry.
  • {{client_field.preferred_language}} prints a field of the matter's client.
  • Add .in_words to an amount of money, as {{field.claim_value.in_words}}, to write it out in words.
  • {{#each fields.properties}} ... {{this.plot_number}} ... {{/each}} repeats a set that holds rows, once for each row. The set's name is written in lower case with underscores between words.

Dates print as in "5 September 2026", yes or no as Yes or No, and several choices separated by commas. A field whose condition does not hold prints as nothing. A field that is required, shown and blank stops the document, naming the field. A lexicon term's explanation for clients is read the same way, as {{term.<slug>.plain}}; see The firm's lexicon of legal terms. The tokens are listed in Templates and document generation.

Where it is used

The foot of a field's page, Where it is used, says "What stops reading it if the field is hidden or deleted." It groups what names the field:

  • Fields shown by it: fields whose condition waits on it.
  • Calculated fields: formulas that read it.
  • Stage rules, Templates, Clauses, Built reports and Forms.

Each group shows its first twenty places as links and says how many more are not listed. A place you may not open is counted but not named. When nothing names the field, the page says "Nothing reads this field".

Hide from the form, on the field's page or in its row's menu, checks this first. If something reads the field, a dialog titled "Hide" followed by the field's name says what, for example "Read by 2 templates and 1 form.", and warns that what reads it gets nothing while it is hidden. Choose Hide to go on. A field nothing reads is hidden at once. Show on the form brings it back. Delete also says what reads the field, and works only while no record holds a value for it; hide the field to keep what was entered.

Was this helpful?