xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField Sales & SFACRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
Auto DMSConsumer Goods DMSSales Force Automation (SFA) FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Expenses/Expense categories, grades and limits
HOW-TO · Last reviewed

Expense categories, grades and limits

An expense category is a kind of spend, such as Travel, Hotel, Meals or Fuel. Employees pick one on every claim line and every company card transaction, and expense policy rules use it to decide which lines a cap, receipt threshold or block applies to. You set categories up once, before people start claiming, and then mostly leave them alone. This page covers how to create and retire them, what each field does, and an important point that confuses many people: most of the settings on a category are declared defaults that nothing checks. The checks that stop or trim a claim live in expense policies.

Overview

A category record holds a name and code, an expense account, a company, a monthly limit and six yes/no flags. Only three parts of it change what happens to a claim:

  • Name — what claimants see in the category picker, and the name quoted in policy and posting messages.
  • Is Active — clearing it blocks the category. Any claim that still uses it gets a blocking policy finding and cannot post.
  • The category itself — policy rules point at a category, and a rule then applies only to lines in that category.

Everything else (the expense account, the limits, the receipt, approval, GST, reimbursable and billable flags) is stored and shown, but no claim, card or posting step reads it. The Claims & Reimbursement dashboard is the one exception: it charts the daily and monthly limits.

Grades are covered on their own page: Grades.

When to use it

  • Before go-live, to build the list of spend types your written expense policy talks about.
  • When the policy adds a new type of spend that needs its own cap or receipt rule.
  • When a type of spend should no longer be claimed. Deactivate the category; do not delete it.

How xMatix handles it

  • Picking a category does not fill anything in. The claim line's Expense GL Account and the card transaction's ExpenseGL Account are always chosen by hand. The category's DefaultGL Account is not copied to them. A claim line with no expense account is left out of posting, and a card transaction with no expense account cannot post. See Submit and approve expense claims and Company cards.
  • Limits are enforced by policy rules, not by the category. A cap is a Category limit rule on that category, inside an active policy. A receipt threshold is a Receipt mandatory above rule. The category's Daily Limit, Monthly Limit and Receipt Required are not checked.
  • Deactivation is checked twice. Evaluate Policy on a claim raises a blocking finding on every line whose category has Is Active cleared. The message is "Expense category '<name>' is deactivated and cannot be used on a new claim line." This applies to every line on the claim, including lines entered before you deactivated the category. Post refuses the claim with "Cannot post: expense category '<name>' is deactivated. Remove or replace it before posting."
  • Inactive categories stay in the picker. The category pickers on claim lines and card transactions have no lookup filter, so a deactivated category can still be chosen. It is caught only when the claim is evaluated or posted.
  • A blank Is Active counts as active. Only a cleared box blocks. New categories start with the box ticked.

Prerequisites

  • The expense GL accounts you want to note on each category exist in the chart of accounts. DefaultGL Account is required on save, even though nothing reads it. See Chart of accounts.
  • Access to the Expense Category entity through your security profile.

Procedure

Step 1 — Open the category list

Open the Expenses app, choose Settings, and select Expense Categories under Policy. You can also open Expense List from the App Launcher. The list opens on the All Expense Category view. Its columns are Name, Partner Account, Code, Gst Eligible Default, Receipt Required, Approval Required, Is Active, Created By, Created Date and Modified Date.

Step 2 — Create a category

  1. Select New.
  2. Fill in Name. It is required, and the save fails with "Name is required" without it.
  3. Fill in Code if your imports or integrations use one.
  4. Choose a DefaultGL Account. It is required, and the save fails with "DefaultGL Account is required" without it. Choose the account claimants are normally told to use for this spend.
  5. Choose the Partner Account (the company) if the field is shown. On a tenant that runs one company, the field is hidden.
  6. Optionally enter a Monthly Limit.
  7. Under Additional Details, set the six flags. Is Reimbursable and Is Active start ticked.
  8. Select Save.

The category appears in the list and can be picked on claim lines and card transactions straight away.

Step 3 — Add a description or change a category

Open the category from the list. The record page has a header with Edit and Delete, a Details tab with Key Information (Code, Description, DefaultGL Account, Monthly Limit) and Additional Details (the six flags), and a Related tab.

  • Select Edit to change the fields on the New form in a dialog.
  • Description is not on the New form. To add one, select the field on the record page and type it in place.
  • Renaming a category changes what claimants see and the name in later messages. Lines already on claims keep pointing at the same category.

Step 4 — Make the category enforceable

The category on its own enforces nothing except deactivation. For each limit in your written policy, open the policy for the claimants' company and grade and add a rule on this category:

  • a Category limit rule with the cap as its threshold;
  • a Receipt mandatory above rule with the amount above which a receipt must be attached;
  • a Blocked category rule if this grade may not claim this spend at all.

The rule type codes, the actions and the extra Action field the rule form needs are covered in Expense policies.

Step 5 — Retire a category

  1. Open the category and clear Is Active (select the field on the record page, or use Edit).
  2. Tell claimants which category to use instead.
  3. Find unposted claims that still use the retired category and recategorise those lines, then choose Evaluate Policy again. Until you do, each such claim carries a blocking finding and Post refuses it.

Posted claims and their journals are not affected.

Step 6 — Delete a category (avoid)

Delete is on the record page header, and Delete is also available for the selected rows in the list. Deleting removes the category from lists and pickers, but claim lines and policy rules that point at it keep the reference. The deactivation checks then no longer see the category, so its lines are neither flagged nor refused. Deactivate instead, unless the category was created by mistake and never used.

Fields

FieldWhat it meansNotes
NameThe category name claimants pick.Required. Quoted in deactivation messages.
CodeA short code for the category.Optional, up to 40 characters. Useful as a key for imports. Not checked for duplicates.
DefaultGL AccountThe expense account this spend normally goes to.Required on save. Not copied to claim lines or card transactions, and not used by posting. Any GL account can be chosen.
Partner AccountThe company the category belongs to.Lists companies only. Hidden on single-company tenants. Not used to filter the category picker, so every company sees every category.
Monthly LimitA declared monthly spending limit.Not enforced. Shown on the dashboard chart. The box shows a $ sign whatever your currency.
DescriptionNotes about what belongs in the category.Record page only.
Gst Eligible DefaultDeclares that this spend usually carries recoverable GST.Not used. Each claim line's Itc Eligible decides whether its tax is claimed.
Receipt RequiredDeclares that this spend needs a receipt.Not enforced. Use a Receipt mandatory above rule.
Approval RequiredDeclares that this spend needs sign-off.Not used. Routing is set in the claim's approval process.
Is ReimbursableDeclares that the employee is paid back for this spend.Starts ticked. Not used by posting or reimbursement.
Is Billable DefaultDeclares that this spend is usually recharged to a customer.Not used.
Is ActiveWhether the category may be used.Starts ticked. Cleared means blocked at policy evaluation and posting.

Daily Limit is stored on the category but is on no standard form, so the dashboard's daily series is empty unless you import values or add the field to the form.

Business rules

  • Name and DefaultGL Account are required on every save.
  • New categories have Is Reimbursable and Is Active ticked.
  • Evaluate Policy raises a blocking finding for each line whose category is deactivated (Is Active cleared). Each evaluation replaces the previous one, so the finding disappears once the line is recategorised and the claim is evaluated again.
  • Post refuses a claim if any line it would post uses a deactivated category.
  • A policy rule with a category applies only to lines in that category. A rule with no category applies to every line.
  • Deleted categories are ignored by both deactivation checks.
  • Nothing else on the category is read when claims, card transactions or reimbursements are processed.

Example

A company's travel policy lists four kinds of spend. The finance administrator creates:

NameCodeDefaultGL AccountMonthly Limit
Air & RailTRV6100 Travel – Fares—
LodgingLDG6110 Travel – Lodging40,000
MealsMLS6120 Travel – Meals6,000
Local ConveyanceLCV6130 Local Conveyance3,000

The written policy caps a hotel night at 6,000 for junior staff and needs a receipt for any meal over 500. So in the junior grade's policy the administrator adds a Category limit rule on Lodging with threshold 6,000 and a Receipt mandatory above rule on Meals with threshold 500. The Monthly Limit values only feed the dashboard chart.

Months later, the company stops reimbursing local conveyance and starts a travel-desk account instead. The administrator clears Is Active on Local Conveyance. A claim already drafted with a 450 taxi line now shows a blocking finding when the employee chooses Evaluate Policy. The employee removes the line, evaluates again, and the claim goes through.

Training

Practice exercise

In a sandbox:

  1. Create a category Training Sample with any expense account and a Monthly Limit of 1,000. Expected: it saves and shows in the list with Is Active ticked.
  2. Create a claim for yourself with one 2,000 line in Training Sample, with an Expense GL Account filled in, and choose Evaluate Policy. Expected: no finding about the amount, because the monthly limit is not enforced (other policy rules, such as late submission, may still raise their own findings).
  3. Clear Is Active on the category and choose Evaluate Policy on the claim again. Expected: a blocking finding naming the category. Post is refused with the "is deactivated" message.
  4. Change the line to an active category and evaluate again. Expected: the finding is gone.

Quick reference

  • Categories live under Expenses → Settings → Policy → Expense Categories.
  • Name and DefaultGL Account are required.
  • The category's expense account is not copied to lines; pick Expense GL Account on each line.
  • Limits and receipt flags on the category are not enforced; add policy rules.
  • Clearing Is Active blocks evaluation and posting for every line that uses the category.
  • Inactive categories still show in the picker.
  • Deactivate, don't delete.

Permissions

Category access follows the Expense Category entity access in the user's security profile. The standard System Admin, Standard User and Sales Executive profiles all have full access (view, create, edit, delete), so any user with one of them can change or retire a category. If only finance should maintain categories, give other users a profile with read-only access to Expense Category; claimants need read access to pick a category on a line. A user with no access does not see the list and cannot pick a category.

Configuration

  • Menu. Expense Category is in the Expense List app, in the Policy group, next to Expense Policies and Expense Policy Violations. In the Expenses app, Settings opens this list app.
  • Forms. Expense Category has three layouts under Setup → Design Studio → Entities → Expense Category → Experience → Layouts: Create Expense Category (the New and Edit form, on web and mobile), Expense Category View (the record page) and Expense Category Preview (the hover preview). Add Description or Daily Limit to the Create form if you want them on New and Edit. See Design a form layout.
  • List view. The All Expense Category view sets the list columns.
  • Record page buttons. The record page header shows only Edit and Delete. Clone exists as an action but is not on the header. A cloned category would keep its Is Active value.
  • Enforcement. Caps, receipt thresholds and blocked categories are policy rules: Expense policies.
  • Dashboard. The Claims & Reimbursement dashboard in the Expenses dashboard folder has a Category Limits · Daily against Monthly chart that adds up the two limit fields per category name.

Common problems

The monthly limit on a category didn't stop a claim

The limit fields are not enforced. Add a Category limit rule on the category, in the policy for the claimant's company and grade, and choose Evaluate Policy on the claim. To trim the excess automatically, the rule needs the AutoDisallow action. See Expense policies.

Picking a category didn't fill in the expense account

That is expected. Choose the Expense GL Account on the claim line (or ExpenseGL Account on the card transaction) yourself. A claim line without one is not posted.

"Expense category '…' is deactivated and cannot be used on a new claim line."

A line on the claim uses a category whose Is Active is cleared. Change the line to an active category and choose Evaluate Policy again. If the category should still be in use, tick Is Active on it instead.

"Cannot post: expense category '…' is deactivated. Remove or replace it before posting."

The same cause, found at posting. Recategorise or remove the line, evaluate the claim, and post again.

"DefaultGL Account is required" when saving a category

Choose an account in DefaultGL Account. It is required even though it is not used when claims post.

Common questions

Why didn't the category's daily limit stop a claim?

Because no limit on the category is checked. The daily and monthly limits, like the receipt and approval flags, are declared values that only the dashboard chart reads. Enforcement comes from policy rules: create a Category limit rule on the category, with the cap as its threshold, in an active policy for the claimant's company and grade. It applies from the next Evaluate Policy. Note that the rule compares each line's amount including tax with the cap. It is a per-line cap, not a daily or monthly total.

Can the same category post to different GL accounts?

Yes. Posting uses each line's own Expense GL Account, not the category's account, so two lines in the same category can post to different accounts. The category's DefaultGL Account is a guide for the people filling in lines. If lines in one category keep going to different accounts, consider splitting the category so claimants know which account to choose.

What happens to old claims when I deactivate a category?

Posted claims, their journals and their violations are unaffected. Unposted claims that still have a line in the category are blocked: their next Evaluate Policy raises a blocking finding, and Post refuses them until the line is recategorised. This also applies to lines entered before you deactivated the category, so check open claims before you retire one.

Do categories belong to a company?

A category has a Partner Account field, but nothing filters on it. Every category is offered to every claimant, whatever company the claim is for. Policy rules are what make spending rules company-specific, because each policy covers one company.