The account-determination rule that decides which GL account a document's journal lines hit, and the successor to the legacy accounting rules. Each rule names the document entity and the posting role within it, points at a GL account, and can be narrowed by company, branch, item or party; when several rules match, the most specific wins and Priority only breaks ties among equally specific rules. It is consulted first during document posting, ahead of the tax-subtype resolution and the plain chart-of-accounts lookup by account type.
Fields
| Field | Label | Type | Required | What it does |
AccountGroupId | Account Group | Lookup → AccountGroup | | Intended to scope a rule to a group of parties. The current account-determination logic does not read it, so a rule scoped solely by account group behaves as an unscoped rule and can win over rules the author expected to be more specific. |
AccountId | Account | Lookup → Account | | Scopes the rule to one customer party and is the weakest specificity signal. It is matched against the document's party, so a rule naming a different party is excluded from consideration for that document. |
BranchId | Branch | Lookup → Branch | | Scopes the rule to one branch and is the second-strongest specificity signal. Blank means the rule applies to any branch; a non-matching branch disqualifies the rule completely. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
EntityName | Entity Name | Text | Yes | The document entity the rule applies to, held as plain text — Invoice, Bill, Payment, CreditNote and so on — and matched case-insensitively against the posting document. A rule whose entity name is blank is never considered. |
GLAccountId | GL Account | Lookup → GLAccount | Yes | The account the rule resolves to. |
Granularity | Granularity | Text | | Intended to choose between one summarised journal line per resolved account and a journal line per document line. The current document-posting engine does not read this field — it always summarises, grouping line and tax amounts by resolved account, dimensions and party — so setting it has no effect on how a document posts. |
Id | Id | Guid | Yes | |
IsActive | Is Active | Boolean | | Rules are loaded for matching only when this is explicitly true — a rule left unset is treated as inactive and never participates in account determination. This makes it an opt-in switch rather than a soft delete. |
ItemGroupId | Item Group | Lookup → ItemGroup | | Intended to scope a rule to a group of items rather than a single item. The current account-determination logic does not read it — matching considers company, branch, item and party only — so a rule scoped solely by item group behaves as an unscoped rule. |
ItemId | Item | Lookup → Item | | Scopes the rule to one item, ranking below company and branch but above party in specificity. A rule naming a different item than the line being posted is excluded, not just demoted. |
Label | Label | Text | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | Yes | Scopes the rule to one company and is the strongest specificity signal in matching. Leaving it blank makes the rule apply to every company; setting it to a different company than the document's excludes the rule outright rather than merely ranking it lower. |
PostingRole | Posting Role | Text | | Which leg of the document the rule resolves — the header or control side, the line side, the tax side, cost of goods sold, inventory, rounding or discount. A rule with no role set is treated as a header rule, and a rule only competes against others for the same role. |
Priority | Priority | Number | | Only breaks ties between rules of equal specificity, with the lower number winning; rules with no priority sort last. Specificity always dominates, so a priority value cannot make a general rule beat a narrower one. |
RecordTypeId | Record Type | Guid, hidden | | |
SupplierAccountId | Supplier Account | Lookup → Account | | The supplier-side counterpart of the customer party scope, matched against the same party value on the posting document and carrying the same specificity weight. Setting either party field to a non-matching account disqualifies the rule. |
TaxType | Tax Type | Text | | Narrows a tax-role rule to one tax component and is matched strictly: a rule with a tax type only ever matches a leg carrying that same tax type, and a rule with a blank tax type only ever matches a leg with no tax type at all. |
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 |
DeleteInList | Delete | Delete | Delete in a list page |
Edit | Edit | Edit | Edit |
EditInLine | Edit | EditInline | Edit |
EditListRow | Edit | Edit | EditListRow |
New | New | New | New |
Lookup filters
| Filter | Lookup field | Notes |
| Branch For Partner Account | BranchId | Branch For Partner Account |
| Customer Account | AccountId | |
| PartnerAccount | PartnerAccountId | |
| SupplierAccount | SupplierAccountId | |