One dated contract discount inside a discount group, added on the group's Rules tab. When a line with an item is added to a document, xMatix looks only at the rules of the document's discount group (and only if the group's scope still fits the document), keeps those in force on the document date whose item, SKU and item group are each empty or fit the line, and ranks a rule naming the item first, then one naming the SKU, then the latest Date Effective From. An item-group rule does not outrank a catch-all rule; between them the later start date wins. The winner writes its percentage to the line's Contract Discount, or its fixed amount to Contract Discount Amount when the percentage is empty, and records itself in the line's Discount Group Rule. A matching rule replaces a contract discount typed on the new line. Discounts are written only when a line is added; editing the line, changing the document's group and Reprice do not re-apply them.
Fields
| Field | Label | Type | Required | What it does |
ClaimablePercentage | Claimable Percentage | Number | | Not stored and not read by any process. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
DateEffectiveFrom | Date Effective From | Date | Yes | First day the discount applies, compared with the document date. Required. The last ranking key: among rules equal on item and SKU, the latest start wins. When documents with different dates are saved together, only rules that started by the earliest of those dates are considered. |
DateEffectiveTill | Date Effective Till | Date | | Last day the discount applies; empty means no end date. It cannot be earlier than Date Effective From. |
DiscountGroupId | Discount Group | Lookup → DiscountGroup | Yes | The group the rule belongs to, set from the group it is added on. Only rules of the group on the document are ever considered. |
DiscountPercent | Discount Percent | Percent | | The percentage written to the line's Contract Discount (enter 5 for 5 percent). It wins when a fixed discount amount is also filled in, and sets the line's Contract Discount Amount to zero. A rule with neither a percentage nor a fixed amount still matches and, if it wins, gives the line a zero contract discount, which leaves that item out of a catch-all rule. |
ExternalId | External | Text | | A free-text reference. Not used by discount matching. |
Id | Id | Guid | Yes | |
ItemGroupId | Item Group | Lookup → ItemGroup | | Narrows the rule to items that are members of this item group. Only item groups of type Discount are recognised. Not on the rule create form; set it in place on the rule's record page under Applicable Item. It does not raise the rule's rank, so a newer catch-all rule beats it. |
ItemId | Item | Lookup → Item | | The item the discount is for. Empty covers every item. Only active items are offered. A rule naming the item outranks every other matching rule. |
ItemLotTypeId | Item Lot Type | Lookup → ItemLotType | | Stored but not used for matching, so a rule naming a lot type applies to every lot type. |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | | The rule number, filled automatically from the DR series. |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PriceListId | Price List | Lookup → PriceList | | Stored but not used for matching, so a rule naming a price list still applies to every document carrying its group. |
RecordTypeId | Record Type | Guid, hidden | | |
SKUId | SKU | Lookup → SKU | | Narrows the rule to one SKU of the item; the picker lists only the item's SKUs. Empty covers every SKU. It is the second ranking key after item. |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
Actions
| Action | Label | Type | What it does |
BulkDelete | Delete Selected | 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. |
EditListHeader | Edit | EditInline | EditListHeader |
EditListRow | Edit | Edit | EditListRow |
New | New | NewInline | New |
UIAction | UI Action | UIAction | UI Action |
Validations
| Validation | Applies to | Error message | Notes |
| Date Effective Till Rule Validation | DateEffectiveTill, Error | Date Effective Till can not be Backdated | Date Effective can't be Backdated Validation. |
Lookup filters
| Filter | Lookup field | Notes |
| Active Items | ItemId | |
| SKU For Item | SKUId | |