Price Analysis
Price Analysis is a powerful tool in Advanced Price Management that supports pricing strategy, margin control, and customer communication. It enables users to simulate and compare pricing scenarios, evaluate margin impact, and generate customer-facing price lists.
Using Recurring Sales Lines
Recurring Sales Lines define the list of items to be included in a Price Analysis for a specific customer.
Setup Steps
- Search for Recurring Sales Lines and create a new code.
- Select Manage > Edit and add the relevant Item Nos.
- Link the Recurring Sales Lines to the customer:
- Open the Customer Card.
- Navigate to Related > Sales > Recurring Sales Lines.
- Select the appropriate Recurring Sales Line code.
Creating a Price Analysis
You can create a Price Analysis in two ways.
Option 1 — Using the Calculate Price Analysis Action
- Search for the Price Analysis List page.
- Use the Calculate Price Analysis action from the Process menu.
- In the request page, set the following options:
| Field | Description |
|---|---|
| Posting Date | The date used to calculate item prices. Prices and discounts active on this date are applied. |
| Group By | Specifies how analysis lines are grouped: by Customer or by Sales Recurring Line. Options - Customer (default): Creates one analysis per customer, including all valid recurring sales lines. - Sales Recurring Line: Creates separate analyses per recurring line code. - Guidance: Use Sales Recurring Line to review distinct assortments; use Customer to consolidate in one view. |
| Delete If Already Existing | When enabled, deletes any existing analysis for the same customer and posting date (and, when applicable, for the same recurring line code) before creating a new one. - Defaults: Enabled by default to avoid duplicates. - Guidance: Keep enabled for routine runs; disable only if you want to preserve a previous analysis for comparison. |
| Skip 0 Price Lines | If enabled, analysis lines where the calculated gross unit price is zero are excluded from the results. This helps keep the analysis focused on items with active pricing conditions. |
- Apply customer filters (Customer No., Customer Price Group, Customer Disc. Group) to target the desired customers.
- Run the report.
Note 1: The Skip 0 Price Lines option is saved on the Price Analysis header. When you later use the Calculate Prices action directly from the Price Analysis Card, the same setting is reapplied automatically. Turn on to focus on meaningful prices and reduce noise from 0‑price outcomes.
Note 2: Identical results (same item, variant, unit of measure, and quantity) are consolidated into a single line for readability. Consolidation affects display only; it does not change underlying pricing. Prices and discounts are always calculated and displayed in the sales price list unit of measure (reference unit).
Option 2 — Manual Creation
- Search for the Price Analysis List page and create a new record.
- Select the Customer and set the Posting Date.
- Optionally set the Sales Recurring Line Code if you want to restrict the analysis to a specific recurring line.
- Choose Process > Calculate Prices.
- The system will populate (or refresh) the analysis lines:
- If Sales Recurring Line Code is filled, only items from that specific recurring line are included.
- If Sales Recurring Line Code is blank, items from all the customer’s valid recurring lines are included.
The system retrieves all items from the Recurring Sales Lines linked to the customer and calculates pricing and margin data.
Note: If the analysis already contains lines, you will be asked to confirm their deletion before recalculating.
Important: If the selected customer does not have any valid standard customer sales code available, the system displays the message: “This customer do not have standard customer sales code available."
Recalculate prices on the card
- Choose Calculate Prices to refresh results. The calculation uses the header values, applies the saved Skip 0 Price Lines choice, and calculates prices/discounts using the sales price list unit of measure (reference unit).
Price Analysis Header Fields
| Field | Description |
|---|---|
| Code | Unique identifier for the Price Analysis, generated automatically from the number series. |
| Customer No. | The customer for whom the analysis is performed. |
| Customer Name | Name of the customer, filled automatically. |
| Posting Date | The reference date used for all price and discount calculations. |
| Currency Code | The customer’s currency, filled automatically from the customer card. |
| Expiration Date | The earliest ending date found among the price lists applicable to this analysis. |
| Expiration Price List | The price list that determines the expiration date of this analysis. |
| Skip 0 Price Lines | Indicates whether analysis lines with a calculated gross unit price of zero are excluded when running Calculate Prices. |
| Sales Recurring Line Code | The recurring sales line code used to build this analysis (optional). |
Price Analysis Line Fields
Lines are filled with all items defined in the Recurring Sales Lines linked to the customer.
| Field | Description |
|---|---|
| Item No. | Item number retrieved from the Recurring Sales Lines. |
| Description | Item description. |
| Quantity | Quantity used for price and discount calculation. Only quantities explicitly defined in price conditions (price levels, discount levels) are represented. |
| Unit of Measure Code | The unit of measure under which the price and discounts are expressed, as defined in the applicable price list. This may differ from the unit of measure set in the Recurring Sales Line if the price list uses a different pricing unit. |
| Gross Unit Price | Price per unit of measure before any discount is applied. |
| Discount Level % 1 to 5 | Discount percentage per level, as defined in the Advanced Price Template. |
| Discount Global % | Total discount percentage cumulated from levels 1 to 5. |
| Net Unit Price | Price per unit of measure after all discounts are applied. |
| Price Line Status | Indicates the change in net unit price compared to the previous Price Analysis for the same customer: Increase, Decrease, Same, or New. |
| Unit Cost | Item unit cost retrieved from the item card on the posting date. |
| Margin % | Calculated as: Net Unit Price ÷ Unit Cost. |
| Margin Amount | Calculated as: Net Unit Price − Unit Cost. |
| Margin Line Status | Indicates the change in margin compared to the previous Price Analysis for the same customer: Increase, Decrease, Same, or New. |
Grouped Line Discounts are not taken into account in the Price Analysis.
Interpreting results
The Price Analysis shows one line per item, quantity break, and unit of measure. Results mirror how prices are determined on sales documents.
- Duplicate line consolidation
- When multiple results are identical across item, variant, unit of measure, and quantity, the analysis shows a single consolidated line for clarity.
- Units of measure (reference unit and origin)
- Prices and discounts are calculated and displayed in the sales price list unit of measure from the applicable sales price list line. If the item or recurring line uses another unit, the analysis switches to the price list’s unit to align with sales documents.
- Quantities shown in the analysis
- The set of quantities comes from price/discount thresholds; if none apply, a default quantity of 1 is used.
Analysis Line Details
Open the Analysis Line Details to view the breakdown of how prices and discounts were applied, similar to the sales line detail view. Use this to validate the final Net Unit Price and margin values.
Tip
- Details reflect the same pricing logic as sales documents, including quantity thresholds and discount levels, and they use the sales price list unit of measure as the reference unit.
Creating a Price List
A Price List can be generated from the Price Analysis to share with the customer.
It includes:
- All pricing fields from the analysis.
- Excludes cost and margin data.
Output Options
| Format | Description |
|---|---|
| Word-based and customizable. Can be emailed directly to the customer from the Price Analysis Card. | |
| Excel | Full export of the analysis lines and pricing fields. |
To print or send the price list, use the actions available in the Print/Send group on the Price Analysis Card:
- Print Price List — Generates the PDF.
- Send Price List — Sends the PDF by email to the customer.
- Export Price List — Exports to Excel.
- Export Margin Analysis — Exports the full analysis including costs and margins to Excel (for internal use only).
Example Scenarios
Scenario 1: Group By = Customer
Setup:
- Customer 1000 is linked to Sales Recurring Line 1 (Items A, B, C) and Line 2 (Items D, E, F).
- Customer 2000 is linked to Sales Recurring Line 2 (Items D, E, F).
Result: Running the report with Group By = Customer creates 2 price analyses:
- Customer 1000 → Contains items A, B, C, D, E, F (from both recurring lines).
- Customer 2000 → Contains items D, E, F (from recurring line 2).
Scenario 2: Group By = Sales Recurring Line
Setup: Same as above.
Result: Running the report with Group By = Sales Recurring Line creates 3 price analyses:
- Customer 1000 / Recurring Line 1 → Items A, B, C.
- Customer 1000 / Recurring Line 2 → Items D, E, F.
- Customer 2000 / Recurring Line 2 → Items D, E, F.
- The Sales Recurring Line Code fields on both the header and lines are hidden by default. Users can personalize their pages to display them when needed.
- When changing the Customer No. or Posting Date on an existing analysis that already has lines, the system prompts for confirmation and deletes the existing lines before proceeding.
- The Expiration Date on the analysis header is automatically determined by the earliest ending date among all applicable price lists used during calculation.
- Pricing is computed by simulating a sales quote internally, ensuring that all applicable price lists, discount rules, and templates are evaluated according to the Dynamics 365 Business Central pricing engine, enhanced by Advanced Price Management.
- Grouped Line Discounts will not be considered for the Price Analysis.