xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField SalesCRMRewardsClaimsInventoryProcurementWarehouse 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
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/Entity Reference/Expense Category — entity reference
REFERENCE · Last reviewed

Expense Category — entity reference

The expense spend taxonomy (Travel, Hotel, Meals, Fuel and similar) referenced by claim lines, card transactions and policy rules. Its policy-looking defaults (dailyLimit, monthlyLimit, receiptRequired, approvalRequired, gstEligibleDefault, isBillableDefault) are declarative master data - no posting or policy-engine code reads them; actual enforcement comes from ExpensePolicyRule thresholds. What IS enforced is deactivation: an inactive category raises a Block-severity violation at policy evaluation and the claim posting refuses to post lines that use one.

Fields

FieldLabelTypeRequiredWhat it does
ApprovalRequiredApproval RequiredBoolean
CodeCodeText
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
DailyLimitDaily LimitCurrencyDeclarative per-day cap for the category. No posting or policy-engine code reads it - enforceable caps must be configured as ExpensePolicyRule rows (CategoryLimit) with a threshold.
DefaultGLAccountIdDefaultGL AccountLookup → GLAccountYesThe expense GL account this category maps to for account determination. What actually posts is the line's own expenseGLAccountId - this default is where that value comes from when defaulting, not what posting reads.
DescriptionDescriptionText
GLAccountNameNameText, uniqueYes
GstEligibleDefaultGst Eligible DefaultBoolean
IdIdGuidYes
IsActiveIs ActiveBoolean
IsBillableDefaultIs Billable DefaultBoolean
IsReimbursableIs ReimbursableBooleanMarks whether spend in this category is meant to be paid back to employees (versus tracked-only spend). Informational master data; the posting path does not filter lines on it.
ModifiedByIdModified ByLookup → UserAccountYes
MonthlyLimitMonthly LimitCurrencyDeclarative per-month cap for the category. Like dailyLimit it is not read by the policy engine or posting; use an ExpensePolicyRule for actual enforcement.
NameNameText
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → Account
ReceiptRequiredReceipt RequiredBooleanDeclarative default only - the enforced receipt check is the ReceiptMandatoryAbove policy rule, which tests the claim line's receiptFileAssetId against the rule threshold; this flag itself is not read by the engine.
RecordTypeIdRecord TypeGuid, hidden
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete this ExpenseCategory.
DeleteRecordDeleteDeleteDelete
EditEditEditEdit this ExpenseCategory.
EditInLineEditEditInlineEditInLine
EditRecordEditEditEdit
NewNewNewCreate a ExpenseCategory.

Lookup filters

FilterLookup fieldNotes
PartnerAccountFilterPartnerAccountId