π NL Β· Last reviewed: 27 May 2026
Sales prices, discounts, surcharges and margins
DXSteel uses a layered pricing structure: a base price (Sales Price), optional length surcharges and length discounts (based on length brackets), and a minimum margin floor. Prices are filtered by customer, customer price group, all customers, or campaign β with currency, variant, UoM, and minimum quantity break-points.
The pricing layers
-
Sales Price (base) β unit price per UoM. Valid within start/end date, optionally with a minimum quantity.
-
Length surcharge β fixed surcharge applied when the line length falls within min/max bounds.
-
Length discount β fixed discount within min/max bounds.
-
Margin floor β Minimum Margins guards against below-cost sales.
Setup workflow
-
Open Sales Prices via Tell Me and add one price record per item or item price group.
-
Pick the right Sales Type: Customer / Customer Price Group / All Customers / Campaign. Campaign locks the date range from the Campaign card.
-
Fill Unit Price, Price Unit of Measure (Steel UoM: KG, MTR, PCS, β¦), optionally Currency Code.
-
For length-based surcharge or discount: set Length Surcharge Min/Max Length, Length Surcharge Amount, or the Discount counterparts.
-
Set Minimum Quantity for volume-tiered pricing.
-
Add a Minimum Margin record per item/customer to define the margin floor.
-
For batch updates: use the Sales Price Worksheet (next page).
Field reference
|
Field |
Purpose |
Mandatory |
|---|---|---|
|
Sales Type |
Customer / Customer Price Group / All Customers / Campaign. |
Yes |
|
Sales Code |
Customer No., Price Group code, or Campaign code β blank for All Customers. |
Conditional |
|
Unit Price |
Base price per Price Unit of Measure. |
Yes |
|
Price Unit of Measure |
Steel UoM. Mandatory together with Unit Price and length-based surcharge/discount. |
Yes |
|
Currency Code |
Blank = local currency. Auto-filled from customer for customer-specific prices. |
Conditional |
|
Starting / Ending Date |
Validity window. Read-only when Sales Type = Campaign. |
No |
|
Length Surcharge Min/Max Length |
Length bounds for the surcharge to apply. |
No |
|
Length Surcharge Amount |
Fixed surcharge in currency. |
No |
|
Length Discount Min/Max + amount |
Same for discount. |
No |
|
Minimum Quantity |
Threshold for volume pricing. |
No |
|
Allow Line Surcharge / Line Disc. / Invoice Disc. |
Booleans toggling permission for additional layers. |
No |
|
Margin Percentage / Margin Amount |
Mutually exclusive per record. Percentage clears Currency and Price UoM. |
No |
Best practices
Customer price groups first: configure groups (Gold/Silver/Bronze or segment-based) and link customers via the customer card. Per-customer overrides become the exception, not the rule.
Separate margin techniques: use Margin Percentage for a general floor (e.g. 8% above cost), Margin Amount for a strict euro floor.
Margin percentage and margin amount are mutually exclusive: filling one automatically clears the other.
Common errors
|
Message |
Cause / fix |
|---|---|
|
"%1 cannot be after %2" |
Starting Date is after Ending Date. Adjust the dates. |
|
"It is not possible to use %1 as %2 for volumes pricing. Do you want to use %3?" |
The chosen UoM is not a base UoM. Confirm to switch automatically. |
|
"%1 must be blank." |
Sales Code populated while Sales Type = All Customers. Clear the field. |
|
"The %1 cannot be larger then the %2." |
Length surcharge / discount Min is greater than Max. Fix it. |
Related screens
- Sales Price Inquiry and Worksheet
-
Minimum Margins β margin floors per item/customer.
-
Sales Costs, Sales Line Costs, Sales Line Discounts.
-
Sales Prices and Line Discounts β combined maintenance page.
[Screenshot: Sales prices list with length brackets and margin column]