What they are
Vault ships with two built-in attributes, Category and Counterparty. Custom attributes let you add your own alongside them.
Once an attribute exists, you can fill it in on any transaction, show it as a column in the transactions table, filter by it, and group a report by it.
Creating one
Go to Profile settings → Features → Schemas → Transactions and choose Create new attribute. You can also reach it from the transactions table: View settings → Add column → Create new attribute.
Creating and editing attributes requires the Data schema changes permission. By default only the workspace owner and admins have it. Editors and viewers can fill attributes in, but not create or change them.
The types
Type | What it holds |
Text | Any text |
Number | A number, including negatives and decimals |
Checkbox | A tick |
Timestamp | A date and time, in your workspace timezone |
Select | One option from a list you define |
Multi-Select | Any number of options from that list |
The type is fixed once the attribute is created, with one exception: you can switch between Select and Multi-Select at any time. Going from Select to Multi-Select asks whether to dissolve any option groups you have set up, because Multi-Select does not support them.
Options, for Select and Multi-Select
Add options inside the attribute dialog. Each option has a name, a colour, and its own applicability — see below.
You can also create an option while tagging a transaction: type a name that does not exist yet in the option picker and choose Create. This requires the same Data schema changes permission. An option created this way applies only to the type of transaction you created it on — create Travel on an expense and it will not be offered on income until you widen it in settings.
There are fifteen colours. Options you create in the dialog let you pick one; options created while tagging get one automatically.
Renaming an option changes it everywhere at once, including on transactions already tagged — values point at the option, not at its name.
Sub-options
A Select attribute can have two levels: options, and sub-options underneath them. Categories and counterparties support this too. Multi-Select does not.
Two levels is the limit — a sub-option cannot have its own sub-options.
To nest an option, drag it by the grip handle to the right, under the option above it. A line shows where it will land. Drag it back to the left to un-nest it.
A sub-option always inherits its parent's applicability and cannot narrow it. Changing the parent changes its children.
Sub-options are what make the drill-down in reports possible — see below.
Where an attribute applies
Every attribute applies to some combination of Income, Expense and Transfer. At least one is required.
Each individual option carries the same setting. So a Department attribute can apply to expenses and income, while the option Refunds applies only to income.
An option appears where both the attribute and the option apply.
What this means in practice:
In the transaction dialog, an attribute that does not apply to the transaction's type is not shown at all. Options that do not apply are not offered.
In the transactions table, a cell for an attribute that does not apply to that row is disabled.
Narrowing an attribute's applicability later does not delete anything immediately, but values on transactions the attribute no longer covers will stop being kept the next time those transactions are edited. Narrow deliberately.
In the transactions table
A new attribute is hidden by default for everyone, including the person who created it. Each person turns on the columns they want through View settings → Add column, and the choice is personal — your columns are not your colleagues' columns.
In filters
Attributes appear in the filters panel automatically, whether or not their column is visible.
Type | Operators |
Text | Contains, Not contains, Starts with, Ends with, Is, Is not, Empty, Not empty |
Number | Is, Is not, Less than, Greater than, Empty, Not empty |
Timestamp | Is, Is not — as a date range |
Select, Multi-Select | Is, Is not, Empty, Not empty |
Checkbox | Is true, Is false |
In reports
Custom attributes work as a grouping dimension in Insight widgets, on bar and pie charts. They also work as a segmentation dimension — every type except Timestamp — on bar and line charts. Historical widgets always group by date and cannot use an attribute.
The P&L and Cash Flow pages can also group by a custom attribute, not only by category and counterparty.
A transaction with no value for the attribute is grouped as No {attribute name}.
With a Multi-Select attribute, a transaction tagged with two options is counted under both. That is usually what you want when you are asking "how much touched each tag", but it means the groups add up to more than the period's real total.
Sub-options in reports
Where an attribute has sub-options, the widget offers a Subcategories setting:
Rolled up — children are counted inside their parent. The tooltip lists the children behind each parent, and on a pie chart you can click a parent to open it.
Shown separately — parents and children appear side by side as separate bars or slices.
Rolled up is the default.
Clicking a parent slice on a pie chart replaces the ring with that parent's children, plus a slice for the parent's own transactions labelled {Parent} — No subcategory. The centre shows which parent you opened and a Back button returns you to the full view.
For more on building widgets, see the custom reports article.
Archiving
Attributes and individual options are archived rather than deleted.
Archiving an attribute removes it from the table and from transaction forms, and keeps every value already recorded. Reports that use it keep working and show an Archived badge. Restore it and everything comes back.
Archiving an option leaves it on the transactions already tagged with it, but it can no longer be chosen. Archiving a parent archives its children too.
Categories and counterparties
These two are built in and behave like a Select attribute with sub-options, with two differences.
Their applicability is fixed to income and expense and cannot be changed, so they never appear on transfers.
They carry a P&L display switch that custom attributes do not. Turning it off excludes that category or counterparty from the Profit and Loss report only — Cash Flow, the dashboard, custom widgets and transaction totals all continue to count it.
A sub-category cannot be included in P&L when its parent is excluded. When you exclude a parent, its children's switches disappear; their own settings are remembered and return if you include the parent again.
