A named set of Accounts used as a targeting dimension by the pricing, discount, tax, scheme, item-component and incentive engines: instead of naming each account, a PriceList, DiscountGroup, TaxGroup, Scheme, SchemeCondition, SchemeAccountBudget, ItemComponent, KPIConfiguration or IncentivePlan row points at a group and the engine resolves the accounts through AccountGroupMember. AccountGroupType partitions groups by which engine may consume them and each engine matches it as an exact string, so a group typed for one engine is invisible to the others. Membership is either maintained by hand as AccountGroupMember rows or rebuilt from the child AccountGroupRule rows, the latter through the group's Process Member server action. Groups are referenced separately in customer and partner roles (for example DiscountGroup.CustomerAccountGroupId versus PartnerAccountGroupId), so one group can scope either side of a transaction.
Fields
| Field | Label | Type | Required | What it does |
AccountGroupType | Account Group Type | PickList | Yes | Which engine may consume this group, matched as an exact case-sensitive string by the consuming service. The pricing engine looks for 'Price', discounts for 'Discount', tax for 'Tax', and the scheme engine for 'Scheme' and 'Exclude Scheme'. The seeded picklist does not currently offer 'Tax' or 'Scheme', and offers 'Incentive' and 'Item Feature' which no engine matches on (incentive plans and item features reference a group by foreign key instead), so the picklist and the engines disagree in both directions - check the stored value, not the option list. Values: Discount, Incentive, Item Feature, Price, Exclude Scheme, Tax. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
Description | Description | Text | | |
DynamicMemberType | Dynamic Member Type | PickList | | How the member rebuild sources its accounts. Values: Field Filter. |
ExternalId | External | Text | | |
Id | Id | Guid | Yes | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
RecordTypeId | Record Type | Guid, hidden | | |
ReportId | Report | Text | | |
RuleSuccessCriteria | Rule Success Criteria | PickList | | How the child rules are combined during a member rebuild. An empty value is treated as 'no criteria' and matches every account. Values: Any Rule Is Met. |
RuleSuccessCustomLogic | Rule Success Custom Logic | Text | | A boolean expression over the child rules referenced by their 1-based sequence position, used only when the criteria is set to custom logic; that combination forces the whole rebuild to evaluate in memory rather than in SQL. |
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 | Delete in page. |
EditInList | Edit | Edit | Edit |
EditListHeader | Edit | EditInline | EditListHeader |
New | New | New | New |
ProcessMembers | Process Members | ServerAction (ProcessMembers, async) | ProcessMembers |
UIAction | UI Action | UIAction | UI Action |
Validations
| Validation | Applies to | Error message | Notes |
| Rule Success Criteria Validation | Error | Selection of Rule Success Criteria is mandatory if the Dynamic Member Type is Field Filter! | Rule Success Criteria is mandatory in case of field filters. |