5.3 Trade Agreements, Price/Discount Journals, and Smart Rounding
Key Takeaways
- Trade agreements establish contractual pricing and discount rules across five relation types: Price, Line discount, Multiline discount, and Total discount for sales and procurement.
- Pricing evaluation follows a strict 3x3 matrix of Account code (Table, Group, All) and Item code (Table, Group, All), where Table/Table is the most specific and All/All is universal.
- Price/discount agreement journals provide the transactional mechanism to author, validate, mass-index, and post trade agreements into the operational PriceDiscTable repository.
- The Find next parameter enables discount chaining and compounding across multiple hierarchy tiers; if disabled, search stops immediately upon the first matching agreement.
- Smart rounding rules enforce psychological charm pricing ($X.99, $X.95) by applying mathematical rounding increments and syntax offsets during trade agreement mass updates.
5.3 Trade Agreements, Price/Discount Journals, and Smart Rounding
Quick Answer: Trade agreements in Microsoft Dynamics 365 Supply Chain Management (D365 SCM) govern contractual customer and vendor pricing, volume price breaks, and multi-tier discounts. Configured via Price/discount agreement journals, trade agreements resolve prices using a strict 3x3 matrix across Account codes (
Table,Group,All) and Item codes (Table,Group,All). The search engine evaluates from most specific (Table/Table) to least specific (All/All). While prices stop searching upon the first valid match, discounts utilize the Find next parameter to chain and compound multiple discounts across hierarchy levels. Smart rounding rules automate psychological pricing (such as rounding calculated prices to end in.99or.95).
1. Trade Agreement Architecture and Relation Types
Trade agreements override standard base prices and provide flexible discount structures across sales and purchasing operations via five distinct relation types:
Navigation Paths
- Sales Trade Agreements:
Sales and marketing > Prices and discounts > Price/discount agreement journals - Procurement Trade Agreements:
Procurement and sourcing > Prices and discounts > Price/discount agreement journals - Activate Price/Discount Matrix:
Sales and marketing > Setup > Prices and discounts > Activate price/discount
| Relation Type | Direction | Functional Purpose | Order Application Level |
|---|---|---|---|
| Price (sales) | Sales | Defines base selling price or quantity tiered volume breaks. | Order Line Unit Price |
| Price (purch.) | Procurement | Defines contracted vendor purchase price by quantity break. | PO Line Unit Price |
| Line discount | Sales / Purch. | Percentage or monetary discount applied to a specific item line. | Single Order Line |
| Multiline discount | Sales / Purch. | Discount triggered when combined items in a multiline group meet quantity thresholds. | Order Line (Group Aggregated) |
| Total discount | Sales / Purch. | Percentage discount applied across the entire order when gross order value exceeds a threshold. | Order Header Summary |
2. The 3x3 Account Code and Item Code Specificity Matrix
The D365 SCM pricing engine evaluates a 3x3 matrix combining Account code and Item code, resolving rules in strict priority order:
| Priority Tier | Account Code | Item Code | Specificity Description | Common Business Use Case |
|---|---|---|---|---|
| 1 (Highest) | Table | Table | Specific Customer + Specific Item | Dedicated contract price for a strategic client. |
| 2 | Table | Group | Specific Customer + Item Group | Special client discount on an entire product category. |
| 3 | Table | All | Specific Customer + All Items | Master agreement giving a client 5% off everything. |
| 4 | Group | Table | Price Group + Specific Item | Promotional wholesale pricing on a high-volume SKU. |
| 5 | Group | Group | Price Group + Item Group | Standard wholesale discount on replacement parts. |
| 6 | Group | All | Price Group + All Items | Flat distributor pricing across the full catalog. |
| 7 | All | Table | All Customers + Specific Item | Public promotional sale price for a new product. |
| 8 | All | Group | All Customers + Item Group | Clearance discount on discontinued inventory items. |
| 9 (Lowest) | All | All | All Customers + All Items | Universal storewide baseline discount or catalog markup. |
[!IMPORTANT] Under
Sales and marketing > Setup > Prices and discounts > Activate price/discount, consultants must explicitly enable the matrix combinations used. Unchecked combinations are skipped by the search engine, accelerating system performance.
3. Price/Discount Agreement Journals Lifecycle
Trade agreements are authored, validated, and posted through Price/discount agreement journals:
- Header Creation: Create a journal selecting a configured Journal name defining default relation types and number sequences.
- Line Entry: Specify relation type, Account code/relation, Item code/relation, product dimensions, quantity tier breaks (
From / To Quantity), currency price or discount percentage, and validity date windows (From date / To date). - Mass Revision Tools: The Select tool imports existing lines into the journal; Edit selected lines applies percentage price adjustments (e.g., +4%); Apply smart rounding enforces psychological price endings.
- Posting: Commits lines to
PriceDiscTable. Posted lines become active and cannot be directly deleted; revisions require posting supersede lines.
4. The "Find Next" Parameter and Discount Compounding
While price searches stop immediately upon locating the first valid match, discount searches can evaluate multiple matching lines based on Find next:
- Find next = No (Cleared): Search stops immediately after the first matching discount. Lower-tier discounts are ignored.
- Find next = Yes (Enabled): Applies the current discount and continues searching down the hierarchy for additional matching discounts.
Compounding vs. Summing Discounts
Configured in Accounts receivable parameters (Prices > Discount calculation):
- Compound Discounts: Applied successively to the reduced net amount:
- Sum (Additive) Discounts: Percentages are added together:
Example: For Gross Price = $200.00, Discount 1 = 10% (Find next = Yes), Discount 2 = 5% (Find next = No). Under compounding, $$200.00 \times 0.90 = $180.00$, then $$180.00 \times 0.95 = $171.00$ net unit price.
5. Smart Rounding Rules: Psychological Pricing
Retail and distribution organizations utilize psychological pricing (charm pricing) to set prices ending in .99 or .95. In D365 SCM, this is automated via Smart rounding (Sales and marketing > Setup > Prices and discounts > Smart rounding).
Configured per currency, smart rounding rules define lower/upper limits, a rounding method (Nearest, Up, Down), a rounding unit (e.g., 1.00), and addition/subtraction syntax (e.g., subtract 0.01 to force .99 endings). Running Apply smart rounding in agreement journals automatically converts adjusted prices like $24.18 into $24.99.
6. Trade Agreement Evaluation Precedence and Base Price Fallback
When a sales order line is entered, D365 SCM resolves pricing through a structured five-step lifecycle:
- Trade Agreement Price Search: Evaluates the 3x3 matrix from Tier 1 (
Table/Table) through Tier 9 (All/All). If an active price line is found, that price becomes the Unit Price. - Base Sales Price Fallback: If no matching trade agreement price exists, the system pulls the Base sales price from the Released Product Sell FastTab.
- Line Discount Evaluation: Searches for Line Discount trade agreements using the 3x3 hierarchy, evaluating Find next to compound or terminate discount searches.
- Multiline Discount Evaluation: Aggregates all items on the order sharing the same Multiline discount group to evaluate group thresholds.
- Total Discount Evaluation: Evaluates the order net total against Total discount agreement tiers, applying order-level percentage reductions before invoicing.
Exam Tips and Common Traps
[!TIP] Exam Tip — Specificity Precedence: Whenever multiple price agreements match an order line, the most specific combination wins:
Table/TableoverridesTable/Group, which overridesGroup/Group, which overridesAll/All.
[!IMPORTANT] Exam Tip — Find Next on Prices vs. Discounts: The Find next parameter has no effect on Prices. D365 SCM stops searching the moment it finds the first valid price agreement. Find next operates exclusively on Discounts.
[!WARNING] Exam Trap — Product Dimensions in Trade Agreements: If a trade agreement is posted for a specific color (e.g., Red) but does not apply on orders, verify the Product dimension group. If For sales prices is unchecked on Color, the pricing engine ignores color during evaluation.
A nationwide wholesale distributor establishes pricing for an industrial solvent (Item SOL-100). The sales director configures the following pricing structure:
A company configures two trade agreement line discounts for a premium retail customer:
A retail enterprise wants to implement psychological pricing so that any calculated sales price ending in a decimal value between .01 and .99 is automatically converted to end in .99 (for example, $24.15 becomes $24.99, and $104.50 becomes $104.99) when adjusting trade agreement journal lines. Which feature in Dynamics 365 Supply Chain Management provides this capability?