Hi AA-03061107-0,
1) Issue
- Store Commerce (D365 Commerce) handles weighted (scale) items with higher precision (e.g., 1.335, 1.333)
- When the order is recalled in HQ (Back Office), quantities are rounded:
- 1.335 → 1.34
- 1.333 → 1.33
This rounding mismatch affects:
- Unit price
- Line amount
- Partial invoicing scenarios (quantities no longer match POS)
- Unit setup already allows higher precision (e.g., 5 decimals)
However:
- POS only persists/sends 2 decimals during recall
- No visible configuration in:
- Functionality profile
- Commerce parameters
- Number pad settings
2) Reason
- In D365 Commerce, precision is controlled at multiple layers, not only by Unit of Measure
Key limitation:
- POS (Store Commerce) internally uses channel database schema and CRT logic, which:
- Typically store quantities with 2 decimal precision for sales transactions
- Even if HQ supports higher precision, POS → HQ synchronization: Truncates/rounds values based on Commerce runtime (CRT) precision rules
Important distinction:
- Unit of Measure precision in HQ controls inventory and backend calculations but does not guarantee POS precision
Root causes:
- POS uses:
- Sales line quantity precision = 2 decimals (hardcoded/standard behavior)
- Channel DB schema: Often defined with decimal(18,2) for quantities
- Serialization between POS and HQ, limits precision during: Order save, Order recall, Pay balance later scenarios
Therefore:
- Precision mismatch between POS and HQ is standard system limitation, not missing configuration
3) Resolution
Standard capability:
- There is no out-of-the-box parameter in latest Store Commerce to increase quantity precision beyond 2 decimals for sales lines
- Workaround / design options:
Option 1 (Recommended – practical approach):
- Accept 2-decimal precision at POS level and align:
- Unit price rounding
- Pricing rules
- Invoicing tolerance
- Ensure financial rounding consistency
Option 2 (Alternative modeling):
- Use: Smaller unit of measure (e.g., grams instead of kg)
Example:
- 1.335 kg → 1335 g (integer-based)
- This avoids decimal rounding issues
Option 3 (Customization – required for true precision):
- Extend Commerce Runtime (CRT) + Channel DB and increase precision for:
- SalesLine.Quantity and related calculations
Adjust:
- Data entities
- Retail transaction service
- POS UI handling
Note:
- High impact customization
- Must ensure: End-to-end consistency (POS, HQ, CDX, channels) and Performance and upgrade risks
Option 4 (Tolerance handling):
- Configure downstream processes (e.g. invoicing, settlement):
- Allow small quantity differences
- Use financial rounding instead of quantity matching
Important considerations:
- Precision must be consistent across:
- POS
- Channel DB
- HQ
- Without full-stack alignment, rounding will always occur
- Increasing precision is not just UI/config → requires data model change
Conclusion
- The behavior is standard due to Commerce channel precision limitations (2 decimals)
- There is no standard parameter to enforce 4+ decimals in Store Commerce
- Best options:
- Adjust business process (units/tolerance) or
- Implement customization to extend precision across Commerce stack
For a more detailed answer, please provide more information.
Rg,
Alexander
*Due to the complex and different possibilities of deploying Dynamics 365 I highly recommend not to setup the application without some expert/partner or support. (For more information contact me under anassl@inno-solutions.info or visit www.inno-solutions.de)
*The Information comes directly from the manufacturer or provider and are validated (not guaranteed) up to date of creation of the posting.
References:
- Microsoft Licensing Guide
- Microsoft Doc`s/Learn