Unit Prices and Currency Code Handling in Non-Conformance Management
Overview
The Non-Conformance Management application for Microsoft Dynamics 365 Business Central provides comprehensive handling of unit prices, amounts, and currency codes to accurately track the financial impact of quality issues. Understanding how these values are managed is essential for proper cost tracking, creating credit memos, and analyzing quality-related losses.
This document explains how currency codes are managed at the non-conformance header level and how unit prices and amounts flow through to the non-conformance lines.
Currency Code Handling
Header-Level Currency
The Currency Code is defined at the Non-Conformance Header level and applies to all lines within the non-conformance.
Key Behaviors:
| Aspect | Description |
|---|---|
| Location | Non-Conformance Header, “Currency Code” field |
| Source | Inherited from Customer/Vendor or manually set |
| Scope | Applies to all lines in the non-conformance |
| Change Impact | Changing currency deletes existing lines (with confirmation) |
Currency Code Assignment
For Customer Non-Conformances:
- When you select a Source No. (Customer), the Currency Code is automatically retrieved from the customer’s default currency
- If the customer uses local currency (blank currency code), the field remains empty
For Vendor Non-Conformances:
- When you select a Source No. (Vendor), the Currency Code is automatically retrieved from the vendor’s default currency
- If the vendor uses local currency, the field remains empty
For Internal Non-Conformances:
- Currency Code can be manually set since there is no external source entity
- Leave blank for local currency amounts
For Transport Non-Conformances:
- Currency Code is typically inherited from related shipping arrangements
Changing Currency Code
Warning: Changing the Currency Code on an existing non-conformance will delete all existing lines.
When you modify the Currency Code:
- The system prompts: “Changing the value of Currency Code will delete existing Non-Conformance Lines. Do you want to continue?"
- If you confirm, all lines are deleted
- You must re-add lines with amounts in the new currency
This behavior ensures data integrity since amounts cannot be automatically converted between currencies.
Unit Price Fields on Non-Conformance Lines
Each non-conformance line contains multiple price and amount fields that track both the original document values and the non-conformance specific values.
Field Definitions
| Field | Editable | Description |
|---|---|---|
| Source Unit Price | No | The unit price from the original posted document line |
| Source Unit Price (LCY) | No | The unit price converted to Local Currency (LCY) |
| Non-Conformance Unit Price | Yes* | The unit price applied to the non-conforming quantity |
| Source Amount | No | The total amount from the original document line |
| Source Amount (LCY) | No | The total amount in Local Currency |
| Non-Conformance Amount | No | Calculated: Non-Conformance Quantity × Non-Conformance Unit Price |
*Editable with restrictions (see business rules below)
Price Flow from Source Documents
When you link a non-conformance line to a posted document line:
Posted Document Line
├── Unit Price → Source Unit Price
├── Unit Price (LCY) → Source Unit Price (LCY)
├── Amount → Source Amount
├── Amount (LCY) → Source Amount (LCY)
└── Quantity → Source Quantity
Then automatically:
├── Source Unit Price → Non-Conformance Unit Price (initial value)
└── Source Quantity → Non-Conformance Quantity (initial value)
Business Rules for Prices and Amounts
Rule 1: Non-Conformance Unit Price Cannot Be Negative
The Non-Conformance Unit Price must be greater than or equal to zero.
Error Message: “The value must be greater than or equal to 0."
Rule 2: Non-Conformance Unit Price Cannot Exceed Source Unit Price
For document-linked lines (Customer, Vendor, Transport types), the Non-Conformance Unit Price cannot exceed the Source Unit Price.
Error Message: “Non-Conformance Unit Price cannot exceed the Document Line Source Unit Price."
Exception: For Internal non-conformances, this rule does not apply since there is no source document.
Rule 3: Non-Conformance Quantity Cannot Exceed Source Quantity
The Non-Conformance Quantity cannot be greater than the Source Quantity from the document line.
Error Message: “Non-Conformance Quantity cannot exceed the Document Line Source Quantity."
Exception: For Internal non-conformances, there is no limit since quantities are manually entered.
Rule 4: Non-Conformance Amount Is Automatically Calculated
The Non-Conformance Amount is calculated and cannot be manually edited:
Non-Conformance Amount = Non-Conformance Quantity × Non-Conformance Unit Price
For lines sharing the same Source Document Line No., the amount calculation considers all related lines:
Non-Conformance Amount = (NC Qty of Current Line + NC Qty of Other Lines with Same Source Doc Line) × NC Unit Price
Rule 5: Price Changes Propagate to Related Lines
When you change the Non-Conformance Unit Price on a line, the new price is automatically applied to all other lines that share the same:
- Non-Conformance No.
- Source Document Type
- Source Document No.
- Source Document Line No.
This ensures consistency when multiple lines reference the same source document line (e.g., different lot numbers from the same purchase line).
Working with Prices (Daily Operations)
Scenario 1: Standard Price from Document
The most common scenario - use the price from the original document:
- Create a non-conformance line linked to a posted document
- Select the Source Document Line No.
- The system automatically populates:
- Source Unit Price (from document)
- Non-Conformance Unit Price (same as Source Unit Price)
- Enter the Non-Conformance Quantity
- Non-Conformance Amount is calculated automatically
Example:
- Source Unit Price: €10.00
- Source Quantity: 100 units
- Non-Conformance Quantity: 25 units
- Non-Conformance Unit Price: €10.00
- Non-Conformance Amount: €250.00
Scenario 2: Partial Value Recovery (Reduced Price)
When partial value can be recovered (e.g., downgraded product, partial damage):
- Link the line to the posted document
- Adjust the Non-Conformance Unit Price to reflect recoverable value
- The Non-Conformance Amount recalculates
Example:
- Source Unit Price: €10.00
- Non-Conformance Quantity: 25 units
- Non-Conformance Unit Price: €7.00 (30% recovered through downgrade sale)
- Non-Conformance Amount: €175.00 (actual loss)
Scenario 3: Multiple Lots from Same Document Line
When different lots from the same document line have quality issues:
-
Create first line for Lot A:
- Source Document Line No.: 10000
- Lot No.: LOT-A
- Non-Conformance Quantity: 15
- Non-Conformance Unit Price: €10.00
-
Create second line for Lot B:
- Source Document Line No.: 10000
- Lot No.: LOT-B
- Non-Conformance Quantity: 10
- Non-Conformance Unit Price: €10.00 (automatically same as first line)
-
Both lines show:
- Non-Conformance Amount: €250.00 (15 + 10 = 25 units × €10.00)
The amount reflects the total impact across all lots from the same source line.
Scenario 4: Internal Non-Conformance (No Source Document)
For internal issues without a source document:
- Create non-conformance with Source Type = Internal
- Manually enter Item No.
- Manually enter quantities and prices
- No validation against source document prices
Amount Calculations Summary
Line-Level Calculation
Non-Conformance Amount = Non-Conformance Quantity × Non-Conformance Unit Price
Multi-Line Calculation (Same Source Document Line)
When multiple lines reference the same source document line:
Total NC Amount = Sum(NC Quantity for all lines with same Source Doc Line) × NC Unit Price
This total is displayed on each of the related lines.
Currency Considerations
- All amounts on a non-conformance are in the header’s Currency Code
- LCY fields show the equivalent in Local Currency for reporting
- Currency conversion uses the exchange rate from the original posted document
Integration with Other Features
Credit Memo Creation
When creating a credit memo from a non-conformance:
- The Item Charge is created using the Non-Conformance Unit Price
- The quantity reflects the Non-Conformance Quantity
- The currency from the non-conformance header is used
Return Order Creation
When creating a return order:
- Unit prices from the source document are used
- Non-Conformance prices are for tracking/reporting purposes
- The actual return uses standard document pricing
Reporting
The Non-Conformance report includes:
- Source Unit Price and Amount (original values)
- Non-Conformance Unit Price and Amount (quality impact)
- Both document currency and LCY values for analysis
Field Reference Table
| Field | Location | Type | Description |
|---|---|---|---|
| Currency Code | Header | Code[10] | Currency for all amounts in this non-conformance |
| Source Quantity | Line | Decimal | Original quantity from source document |
| Non-Conformance Quantity | Line | Decimal | Quantity affected by quality issue |
| Source Unit Price | Line | Decimal | Unit price from source document |
| Source Unit Price (LCY) | Line | Decimal | Unit price in local currency |
| Non-Conformance Unit Price | Line | Decimal | Unit price for NC calculation |
| Source Amount | Line | Decimal | Source Qty × Source Unit Price |
| Source Amount (LCY) | Line | Decimal | Source amount in local currency |
| Non-Conformance Amount | Line | Decimal | Total NC impact across related lines |
Troubleshooting
Non-Conformance Unit Price Cannot Be Changed
Symptom: Cannot enter a value higher than the Source Unit Price.
Resolution: This is by design. The NC Unit Price cannot exceed the original document price. If you need to record a higher value (e.g., for replacement costs), create an Internal non-conformance or use comments to document the additional costs.
Amount Doesn’t Match Expected Calculation
Symptom: Non-Conformance Amount seems incorrect.
Resolution: Check if there are multiple lines with the same Source Document Line No. The amount shows the total across all related lines, not just the current line.
Currency Code Cannot Be Changed
Symptom: Error when trying to change Currency Code.
Resolution: Changing currency requires deleting all existing lines. If you have data you want to preserve, export or note it before changing the currency.
Frequently Asked Questions (FAQ)
Q: Why can’t I set a Non-Conformance Unit Price higher than the Source Unit Price?
A: This rule ensures the non-conformance accurately reflects the actual document value. The NC Unit Price can be equal to or less than the source price (to reflect partial recovery), but not more. For tracking additional costs like disposal or handling, use separate records or the comments field.
Q: How do I handle non-conformances in multiple currencies?
A: Each non-conformance can only have one currency. If you have quality issues involving multiple currencies, create separate non-conformances for each currency.
Q: What happens to amounts when I delete a line?
A: If you delete a line that shares a Source Document Line No. with other lines, the remaining lines’ Non-Conformance Amount will be recalculated to reflect only the remaining quantities.
Q: Can I manually edit the Non-Conformance Amount?
A: No. The Non-Conformance Amount is always calculated automatically to ensure accuracy and consistency.