Skip to content
WinliumDocs

Categories

Create and manage expense categories: the spending types people choose on an expense line, each tied to one expense account.

LimitedChecked against the product 06 Oct 2026

What this is for

A category is a type of spending, such as Fuel & Transportation or Staff Meals. People pick one on every expense line. The category decides which expense account in the ledger the line posts to, and whether the line needs a receipt, a project code or a job card.

Before you begin

Before you begin

  1. Create expense accounts In Accounting > Chart of Accounts. Only expense-type accounts can be chosen.
  2. Create purchase taxes (optional) In Accounting > Taxes, for the Default Tax field.
  3. Set up Expense Settings

Open the screen

In the menu choose Expense, then Configuration, then Categories. The page title is Expense Categories.

Screenshot pending

Expense Categories list with columns Code, Name, Expense Account, Mileage-Based, Receipt Required, Active and Action

  1. 1New Category starts a new category.
  2. 2Search, Status filter, More filters and Sort.
  3. 3The Active switch changes a category at once.

The list

Columns

ColumnWhat it shows
CodeThe short code in a grey box. Cannot be hidden.
NameThe category name.
Expense AccountThe account code and name, such as "6004 — Fuel". Shows "—" if none is saved.
Mileage-BasedYes or No.
Receipt RequiredYes or No.
ActiveA switch. Selecting it turns the category on or off at once, with no confirmation.
ActionA menu of actions for the row.

"Add columns" opens a menu headed "Toggle columns" to show or hide columns. Code and Action always stay.

Search, filters and sort

  • Search (placeholder "Search Code, Name...") finds text in the code, the name and the description. It waits a moment after you stop typing.
  • Sort lets you order by Code, Name, Mileage-Based, Receipt Required or Active. The default order is newest first.
  • Status (Active or Inactive) and More filters are offered but do not change the rows. Use Search instead, or look at the Active column.
  • "Export" (CSV, Excel or PDF) saves the rows on the current page. The file is named data-export and the date. It is disabled when the table is empty.
  • At the bottom: Rows per page (default 80), and page buttons. With no rows you see "No results.".
  • Double-click a row to open it.

Row actions

Menu itemWhat it does
Edit categoryOpens the category.
Deactivate category or Activate categoryTurns it off or on. No confirmation. You see "Deactivating <name>..." then "<name> deactivated" (or "activated").
Delete categoryAsks "Are you sure you want to delete this expense category? This action cannot be undone." with Delete and Cancel. See below.

What delete really does. If no expense line uses the category, it is deleted. If any line already uses it, Winlium does not delete it. It makes it inactive instead and the server says "Category is in use on existing expense lines and has been deactivated instead of deleted". The screen does not show that message: it says "Deleted category: <name>" and the row stays in the list as inactive. An inactive category is hidden from new expense lines.

Create or edit

  1. Open the form

    On the list, select New Category. To edit, double-click a row or choose Edit category.
  2. Fill Category Details

    Enter Category Name, then check Category Code, then choose Expense Account.
  3. Set the Options

    Turn on only the rules you need.
  4. Save

    Select the Save icon (hover text Save; Update when editing). You return to the list and see Category created successfully! or Category updated successfully!.

The page title is Create Expense Category for a new one and Editing Expense Category for an existing one. The two sections are Category Details and Options.

Screenshot pending

Create Expense Category form with Category Details fields and Options switches

  1. 1Category Name and Category Code. The code fills itself from the name.
  2. 2Expense Account: only expense accounts are listed.
  3. 3Options switches.

Field reference

FieldTypeRequiredDetails
Category NameTextYes
Error if empty: "Category name is required". Placeholder: e.g. Fuel & Transportation, Staff Meals, Travel.
Category CodeTextYes
Short code used in reports. Placeholder: Auto-generated from name — edit if needed. It fills in from the name until you type in it yourself. Then it never changes by itself. One word gives its first six letters in capitals (Travel gives TRAVEL). Several words give the first letter of each (Fuel & Transportation gives FT).
Error if empty: "Category code is required". Error if another category already has the same code: "A category with this code already exists". The check is exact (capitals matter) and runs only when you create, not when you edit a code.
DescriptionText areaNo
Placeholder: Optional details about when to use this category. Once saved with text, it cannot be cleared by editing.
Expense AccountDropdown with searchYes
The GL account this expense category posts to. Only expense accounts are shown — never cash, bank, or receivable accounts. Shown as code, a dash and name. A link in the helper text opens the Chart of Accounts to create a new account in a new tab.
Error if empty: "Expense account is required". If the list is empty it says "No expense accounts available. Configure Chart of Accounts first." (this also appears when you lack permission to read the Chart of Accounts). If the list fails to load: "Unable to load accounts". The server refuses an account that is not found ("Expense account not found") or is not an expense type: "Selected account is not an expense-type account. Only expense accounts (Other Expense, Cost of Sales, Tax Expense, Finance Cost, Distribution Cost, Administration Expense) may be used on an expense category."
Default TaxDropdown with searchNo
Pre-fills the tax field on expense lines for this category. This does not happen today: the value is saved but not used. Only purchase taxes (applies to Purchases or Both) that are active are listed. Placeholder: Select a default tax (optional); if none: No purchase taxes configured. Once saved, it cannot be cleared by editing.
Is Mileage-BasedYes/No switchNo
When enabled, amount is calculated as km × rate instead of a direct amount. The rate comes from the policy, or from Expense Settings.
Default: Off
Requires ReceiptYes/No switchNo
Employees must attach a receipt to expense lines in this category. A line without one is refused: Category "<name>" requires a receipt for line "<desc>". Mileage lines are exempt.
Default: On
Requires Project CodeYes/No switchNo
Employees must tag a project code on expense lines in this category. Otherwise: Category "<name>" requires a project code.
Default: Off
Requires Job CardYes/No switchNo
Employees must tag a job card on expense lines in this category. Otherwise: Category "<name>" requires a job card.
Default: Off
ActiveYes/No switchNo
Inactive categories are hidden from new expense lines.
Default: On

Buttons and actions

ButtonWhereWhat it does
New CategoryListOpens the new category form.
Save / Update (icon)FormValidates and saves. If a field is wrong you see a red message under it and a toast for each problem, or "Please fix the form errors before submitting.".
New (icon)FormStarts a blank form. If you have unsaved changes it asks "Discard Changes?" ("Are you sure you want to discard your changes? This action cannot be undone.") with Discard and Cancel. Discard clears the form but leaves you on the page.

The form has no Cancel or Back button. Use the breadcrumb or the menu. Leaving with unsaved changes triggers the unsaved-changes warning. While editing, an Activity Log at the bottom lists who changed the category, what they did and when.

Statuses

A category is either active or inactive. There is no other status.

Rules and error messages

A category with this code already exists

Appears: Save on a new category

Why it happens
Another category in your company has the same code.
How to fix it

Change Category Code.

Selected account is not an expense-type account. Only expense accounts (Other Expense, Cost of Sales, Tax Expense, Finance Cost, Distribution Cost, Administration Expense) may be used on an expense category.

Appears: Save

Why it happens
The account's type is not one of those listed.
How to fix it

Pick an account of an expense type.

Expense account not found

Appears: Save

Why it happens
The account was deleted or belongs to another company.
How to fix it

Pick another account.

Category is in use on existing expense lines and has been deactivated instead of deleted

Appears: Delete category

Why it happens
Expense lines already use this category. The screen shows a 'Deleted category' message instead.
How to fix it

Nothing to fix. The category is now inactive. To bring it back use Activate category.

Expense category not found

Appears: Opening a category that no longer exists

Why it happens
The link points to a deleted category.
How to fix it

Go back to the list.

Who can do this

Administrator Needs expense:categories:read, expense:categories:create, expense:categories:update and expense:categories:delete. The account and tax lists also need accounting:chart-of-accounts:read and accounting:taxes:read. See Roles and permissions.

What this affects in other modules

  • Accounting: each approved line posts to the category's expense account. See Ledger impact.
  • Budget Planning: the account links the category to a budget line. See Budget checks.
  • Public submission: choose which categories outsiders can use in Expense Settings.
  • Policies can limit which categories a person may use.

Next