One check inside an expense policy. Evaluate Policy on an expense claim runs every active rule of every policy that applies to the claim (same Partner Account as the claim, the claimant's grade, claim date inside the policy's effective window). The rule type is typed as text and must be one of the exact codes CategoryLimit, GradeHotelLimit, ReceiptMandatoryAbove, BlockedCategory, LateSubmissionDays or DuplicateDetection; any other text, including the codes CityClassLimit, ForeignTravelCap and MileageRate or a spaced version such as Category Limit, is saved but checks nothing. Each breach is recorded as an expense policy violation on the claim. The standard rule forms have no Action field, so a rule created from them records Warning findings only and never deducts; an administrator adds Action to the rule's form to use HardBlock, RequireHigherApproval or AutoDisallow.
Fields
| Field | Label | Type | Required | What it does |
Action | Action | Text | | What a breach does: HardBlock records the violation with severity Block, Warn and RequireHigherApproval record it with severity Warning, and AutoDisallow records it and adds the excess to the line's Disallowed Amount so it is not posted or reimbursed. Matched exactly as typed. None of the actions stops submission, approval or posting, and RequireHigherApproval adds no approval step. Not on the standard rule forms, so it stays empty unless an administrator adds it; an empty or unrecognised action records a Warning and deducts nothing. |
CityClass | City Class | Text | | Not read by policy evaluation. Kept for information only. |
Country | Country | Text | | Not read by policy evaluation. Kept for information only. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
ExpenseCategoryId | Expense Category | Lookup → ExpenseCategory | Yes | The expense category the rule checks. Required on the form, so every rule is tied to one category; to cover several categories, add one rule per category. LateSubmissionDays and DuplicateDetection ignore it and check every line of the claim. |
ExpensePolicyId | Expense Policy | Lookup → ExpensePolicy | | The policy the rule belongs to. Filled automatically when the rule is added from the policy's Rules tab. A rule with no policy is never evaluated. |
GLAccountName | Name | Text, unique | Yes | Not stored for expense policy rules. |
Id | Id | Guid | Yes | |
IsActive | Is Active | Boolean | | Whether the rule takes part in evaluation. Only an explicit untick switches it off; an empty value counts as active. Shown on the rule's record page, not on the new-rule form. Switching a rule off releases any deduction it made the next time the claim is evaluated. |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | | The rule's number, assigned automatically from the expense policy rule numbering setting when the rule is saved. |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | The company recorded on the rule. Not read by policy evaluation: which company a rule applies to comes from its policy's Partner Account. |
RecordTypeId | Record Type | Guid, hidden | | |
RuleType | Rule Type | Text | | Which check the rule runs. Typed as free text and matched exactly, including capital letters and without spaces: CategoryLimit and GradeHotelLimit (line amount plus tax above the threshold; the two work identically), ReceiptMandatoryAbove (line amount plus tax above the threshold with no receipt attached), BlockedCategory (every line in the rule's category), LateSubmissionDays (expense date more than the threshold in days before the claim date) and DuplicateDetection (same merchant, invoice number and amount on another line of the claim or on any earlier claim of the same employee). Anything else is stored but never checked. |
Threshold | Threshold | Currency | | The trigger value, read according to the rule type: the amount cap (compared with line amount plus tax) for CategoryLimit and GradeHotelLimit, the amount above which a receipt is required for ReceiptMandatoryAbove, and a number of days for LateSubmissionDays. Not used by BlockedCategory or DuplicateDetection. Left empty, the amount and day rules never fire. The new-rule form shows a dollar prefix in this box whatever the meaning or currency. |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
Actions
| Action | Label | Type | What it does |
BulkDelete | Delete | Delete | Delete the selected records. |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete this ExpensePolicyRule. |
DeleteRecord | Delete | Delete | Delete |
Edit | Edit | Edit | Edit this ExpensePolicyRule. |
EditInLine | Edit | EditInline | EditInLine |
EditRecord | Edit | Edit | Edit |
New | New | New | Create a ExpensePolicyRule. |
NewInLine | New | NewInline | NewInLine |
View | View | View | View this ExpensePolicyRule. |