Sales
The Dual Unit of Measure app allows you to take orders from customers in units, and when shipping, specify the units shipped and the actual weight shipped.
Create a Sales Order with Dual Unit of Measure Items
In this example, we assume that you already know Business Central and have already set up Dual Unit or Measure Items. You should only try these examples after running through the Purchases example so that you have inventory.
Variable Ratio Dual Unit of Measure Item
- Create a new Sales Order and select the Customer.
- In the lines section, select Item for the type and then select the Beef Whole Eye Fillet item.
- Specify 10 in the Units field.
- Specify the Unit Price.
Fixed Ratio Dual Unit of Measure Item
- Add a new line and select the Punnet of Strawberries item on the same purchase order.
- Specify 10 in the Units field.
- Release the sales order.
You will notice that the Quantity field updated automatically for both lines using the ratio configured against the item.
If you want to show the units on your purchase order document, you will need to update the layout of the Standard Purchase Order. You might need help from your implementation partner to do this. The app extends the standard documents and adds units to the dataset, so you only have to update your layout.

Ship and Invoice a Sales Order with Dual Unit of Measure Items
We will now ship and invoice the order we created above.
Processing
- On the line for the Beef Whole Eye Fillet, change the Qty. to Ship to 11.25. In this scenario, the weight is slightly over the average, but well within the tolerance we specified in the setup (20%). Notice how updating the Qty. to Ship also updated the order quantity and amount without reopening the document.

- Select the Post action and select Ship and Invoice.
View the Posted Entries
- Posted Sales Invoice

- Posted Purchase Receipt

- Item Ledger Entries

- Value Entries

Order Unit of Measure and Order Quantity
The order unit of measure and order quantity simplifies the order placing/taking process because it allows you to use only one quantity field to record the quantity ordered. You can enable this feature on the Dual Unit of Measure Setup.
The feature works as follows:
- The order unit of measure defaults from the item card. For Dual Unit of Measure items, the order unit of measure is typically the Unit of Measure for units.
- If you wish to record the order in a different unit of measure (e.g. specify weight/volume and not units), then you can change the order unit of measure on the order line.
- You then record the order quantity. Updating the order quantity will automatically update the units and pieces.
- The order unit of measure can also allow converting between different units of measure where the Unit Type is Unit. For example, in the table below, a customer can order 1 BOX, which will be interpreted as 3 PCS and 6.6 KG.
| Code | Qty. Per Unit of Measure | Units per Unit of Measure |
|---|---|---|
| KG | 1 | - |
| PCS | 2.2 | 1 |
| BOX | 6.6 | 3 |
Over/Under Variances
The app allows you to set over/under shipment tolerances globally as a default to all items and then make changes for exceptions on the item card. By default, this feature applies to all items. You can control the tolerances for units and weight/volume separately.
Over/under variances get registered when the sales order is released. The feature is essential for Dual Unit Unit of Measure items with a variable relation between the base quantity and units to allow higher weights/volumes within tolerance and also to close out orders that are fully delivered (based on units) even when the weight/volume received is lower than the original order quantity.
If over/under variances have already been registered and then you reopen the order to directly update the Order Quantity, Quantity or Units, then the over/under variances get cleared. The app will prevent you from making these changes if you have a related warehouse document.
This feature is also supported on warehouse documents related to the order. The sales document gets updated if you change the warehouse document within tolerances.
Variable Dual Unit of Measure Items
Units to Ship
- If you specify a value for Units to Ship higher than the units on order, the app checks if the units you specified are within the tolerance applicable for the item. Suppose the value you enter is within the tolerance. In that case, the app will register the over-shipment on units, increasing the units on order and updating the Over/Under Shipment Units.
- If you specify a value for Units to Ship that is lower than the units on order, then the app does not register an over/under variance. If the final units to ship are lower than the original order quantity, you must delete the order manually after invoicing it.
Qty. to Ship
- If you specify a value for Qty. to Ship higher than the quantity on order, the app checks if the quantity you specified is within the tolerance applicable for the item. Suppose the value you enter is within the tolerance. In that case, the app will register the over-shipment on quantity, increasing the quantity on order and updating the Over/Under Shipment Quantity. This will also increase the order value.
- If you specify a value for Qty. to Ship that is lower than the quantity on order, then the following processing applies:
- If the Units to Ship is less than the Units, then the app checks if the quantity you have specified is within tolerance applicable for the item concerning the Units to Ship. If not, an error is displayed.
- If the Units to Ship is equal to the Units, then the app checks if the quantity you have specified is within tolerance applicable for the item concerning the Units to Ship. If it is within tolerance, the quantity is automatically reduced, an under variance gets registered, and the order value gets reduced. If not, an error is displayed.
The app validates that the weight/volume to unit ratio is within allowed tolerances in all scenarios - this is essential for variable items to prevent errors (e.g. swapping the values for Quantity and Units).
Fixed Dual Unit of Measure Items
When the relationship between weight/volume and units is fixed, the app automatically updates the Qty. to Ship when you specify Units to Ship and visa versa.
If you specify a value for Qty. to Ship or Units to Ship that is higher than the units or quantity on order, the app checks if the value you have specified is within the tolerance applicable for the item. If the value you enter is within the tolerance, the app will register the over-shipment on quantity and units, increasing the quantity and units on order. This will also increase the order value.
- The app checks the tolerances for weight/volume and units when you enter either the Qty. to Ship or Units to Ship. Both must be in tolerance else you will receive an error.
- The app does not register an under variance when specifying the Qty. to Ship or Units to Ship to be lower than the quantity.
Standard Items
For standard items, the following applies (if you have not selected to use over-receipting codes on the setup):
If you specify a value for Qty. to Ship that is higher than the quantity on order, the app checks if the value you have specified is within the tolerance applicable for the item. If the value you enter is within the tolerance, the app will register the over-shipment on quantity, increasing the order quantity. This will also increase the order value.
Order Value
Increases or decreases in the quantity affect the order value. It is important to note that an over/under variance will not result in a different cost getting used - even if the change in quantity will place the sales order into a different quantity bracket.
Drop Shipments
The app supports over/under variances even in the case of a drop shipment. The same rules apply as defined above. However, the over/under variances also get applied to the related sales order when processing the receipt of the purchase order.
The Business Central over-receipt codes are not supported for drop shipments. If you want the same feature to be available for standard items, then you need to disable over-receipt codes.
Completing Shipments with Over-Shipped Quantity
When shipping variable ratio items, you may encounter scenarios where the shipped quantity (weight/volume) exceeds the average quantity per unit, resulting in the outstanding quantity reaching zero while units remain outstanding. This prevents you from shipping the remaining units without manually adjusting the order.
The Adjust Quantity for Backorders (Sales) setting (available on the Dual Unit of Measure Setup) addresses this scenario by automatically adjusting the outstanding quantity to allow completing the shipment.
How It Works
The key purpose of this feature is to ensure that the order can be shipped again and that the outstanding weight is reflective of the outstanding units. The approach ensures that the units-to-weight ratio is within tolerance. When the system detects that the remaining back-order would fall outside tolerance, it automatically adjusts the outstanding quantity to allow you to complete the shipment. The adjustment also respects the overall tolerance between the total ordered units and the total quantity shipped.
The system evaluates the following conditions:
- Condition 1 - Current Shipment Tolerance: Verifies that the current shipment (units being shipped with their actual weight) falls within the configured tolerance.
- Condition 2 - Future Back-Order Tolerance: Checks whether the remaining back-ordered units and weight (after the current shipment) would still have a valid unit-to-weight ratio within tolerance.
- Condition 3 - Outstanding State: Confirms that after the current shipment, there would be units still outstanding (non-zero) but the outstanding quantity (weight) would be zero.
Processing Logic:
- If the current shipment is not within tolerance (Condition 1 fails), no adjustment is made. This is because posting is impossible due to the validation around tolerances so there is no point adjusting the quantity.
- If the current shipment is within tolerance (Condition 1 passes), the system evaluates the remaining back-order:
- If the remaining back-order would also be within tolerance (Condition 2 passes), no adjustment is needed.
- If the remaining back-order would be outside tolerance (Condition 2 fails), the system checks Condition 3:
- If there would be units outstanding but zero quantity remaining (Condition 3 passes), the system automatically increases the order quantity by adding: Remaining Units × Item Average Weight.
- The adjustment is capped at the maximum tolerance allowed based on the original order quantity.
This ensures both the current shipment and the future back-order remain within tolerance, allowing you to complete the order.
Example Scenario
Item Setup:
- Variable ratio item with an average weight of 2.0 kg per unit
- Tolerance configured at 10% (Units/Weight Tolerance %)
Sales Order:
- Ordered: 100 units at 2.0 kg average = 200 kg total
- Tolerance range: 1.8 kg to 2.2 kg per unit (±10%)
Partial Shipment:
- You ship 50 units at 2.15 kg per unit = 107.5 kg
- This is within tolerance: 2.15 kg is only 7.5% above the 2.0 kg average ✓
- After this shipment:
- Outstanding: 50 units
- Outstanding quantity: 92.5 kg (200 - 107.5)
- Implied ratio: 92.5 kg ÷ 50 units = 1.85 kg per unit
- This is within tolerance: 1.85 kg is 7.5% below average ✓
Condition Evaluation:
- Condition 1 ✓ (Current shipment within tolerance)
- Condition 2 ✓ (Remaining back-order within tolerance)
- Result: No adjustment needed - you can ship the remaining 50 units against 92.5 kg
Scenario Requiring Adjustment:
This scenario demonstrates the core problem this feature solves: shipping most of the order with a slight weight overage (within tolerance) that leaves zero quantity remaining even though units are still outstanding.
On the same order, you instead ship 95 units at 2.15 kg per unit = 204.25 kg:
- After this shipment:
- This is within tolerance: 2.15 kg is 7.5% above the 2.0 kg average ✓
- Outstanding units: 5 units
- Outstanding quantity: 0 kg (the system allows the shipment and adjusts the quantity to zero rather than going negative)
- The shipment is allowed because the ratio is within tolerance, but now you have 5 units outstanding with zero quantity remaining!
With the setting enabled:
- Condition 1 ✓ (Current shipment of 95 units at 2.15 kg/unit is within tolerance at 7.5% over)
- Condition 2 ✗ (Cannot calculate a valid ratio - 5 units at 0 kg is impossible)
- Condition 3 ✓ (Units outstanding = 5, Quantity remaining = 0)
- Result: System automatically adds 10 kg (5 units × 2.0 kg average) to the order
- New order total: 210 kg
- New outstanding: 5 units at 5.75 kg (210 - 204.25)
- New implied ratio: 5.75 kg ÷ 5 units = 1.15 kg per unit
- You can now ship the remaining 5 units, completing the order
With the setting disabled:
- The outstanding quantity remains at 0 kg
- You cannot ship the remaining 5 units without manually increasing the order quantity
- You would need to reopen the order and manually adjust the quantity to complete the shipment
Configuration
- New Installations: This feature is enabled by default.
- Existing Installations before 26.1.13.0: This feature is disabled by default to preserve current behavior.
- You can change this setting at any time on the Dual Unit of Measure Setup page.