Skip to main content

Purchases

The Dual Unit of Measure app allows you to purchase items with a variable relationship between weight/volume and units. For example, order cartons at an average weight and then receive the actual weight and number of cartons.

Create a Purchase 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.

Variable Ratio Dual Unit of Measure Item

  1. Create a new Purchase Order and select the Vendor.
  2. In the lines section, select Item for the type and then select the Beef Whole Eye Fillet item.
  3. Specify 50 in the Units field.
  4. Specify the Direct Unit Cost.

Fixed Ratio Dual Unit of Measure Item

  1. Add a new line and select the Punnet of Strawberries item on the same purchase order.
  2. Specify 40 in the Units field.
  3. Release the purchase order.
note

You will notice that the Quantity field updated automatically for both lines using the ratio configured against the item.

tip

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.

Purchase Order

Receive and Invoice a Purchase Order with Dual Unit of Measure Items

We will now receive and invoice the order we created above.

Processing

  1. Specify TEST1 for the Vendor Invoice No..
  2. On the line for the Beef Whole Eye Fillet, change the Qty. to Receive to 53.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 Receive also updated the order quantity and amount without reopening the document. Purchase Order
  3. Select the Post action and select Receive and Invoice.

View the Posted Entries

  1. Posted Purchase Invoice Purchase Invoice
  2. Posted Purchase Receipt Purchase Receipt
  3. Item Ledger Entries Item Ledger Entries
  4. Value Entries Value Entries

Purchase Return Orders

The app supports Purchase Return Orders for Dual Unit of Measure items in the same way as Purchase Orders. The return order line shows the Units and Return Units to Ship alongside the Quantity and Return Qty. to Ship, and the units are validated against the item's ratio and tolerances.

When you post the return shipment, the units flow to the posted Return Shipment and the item ledger entries, and — when you create a credit memo with Get Return Shipment Lines — the units are carried through to the posted credit memo. Undoing a return shipment reverses the units as well. Inventory Picks and Warehouse Picks are supported for return orders where the location requires them.

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, you can can order 1 BOX from your vendor, which will be interpreted as 3 PCS and 6.6 KG.
CodeQty. Per Unit of MeasureUnits per Unit of Measure
KG1-
PCS2.21
BOX6.63

Over/Under Variances

The app allows you to set over/under receipt 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 and replaces the over-receipt codes in standard Business Central. Still, you can change the Dual Unit of Measure Setup to limit the feature to only apply to Dual Unit of Measure items. You can control the tolerances for units and weight/volume separately.

Over/under variances get registered when the purchase 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.

caution

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.

info

This feature is also supported on warehouse documents related to the order. The purchase document gets updated if you change the warehouse receipt within tolerances.

Variable Dual Unit of Measure Items

Units to Receive

  • If you specify a value for Units to Receive 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-receipt on units, increasing the units on order and updating the Over/Under Receipt Units.
  • If you specify a value for Units to Receive that is lower than the units on order, then the app does not register an over/under variance. If the final Units to Receive are lower than the original order quantity, you must delete the order manually after invoicing it.

Qty. to Receive

  • If you specify a value for Qty. to Receive 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-receipt on quantity, increasing the quantity on order and updating the Over/Under Receipt Quantity. This will also increase the order value.
  • If you specify a value for Qty. to Receive that is lower than the quantity on order, then the following processing applies:
    • If the Units to Receive 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 Receive. If not, an error is displayed.
    • If the Units to Receive 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 Receive. 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.
note

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 Receive when you specify Units to Receive and visa versa.

If you specify a value for Qty. to Receive or Units to Receive 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-receipt on quantity and units, increasing the quantity and units on order. This will also increase the order value.

note
  • The app checks the tolerances for weight/volume and units when you enter either the Qty. to Receive or Units to Receive. Both must be in tolerance else you will receive an error.
  • The app does not register an under variance when specifying the Qty. to Receive or Units to Receive 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 Receive 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-receipt 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 purchase 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.

info

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 Receipts with Over-Received Quantity

When receiving variable ratio items, you may encounter scenarios where the received quantity (weight/volume) exceeds the average quantity per unit, resulting in the outstanding quantity reaching zero while units remain outstanding. This prevents you from receiving the remaining units without manually adjusting the order.

The Adjust Quantity for Backorders (Purch) setting (available on the Dual Unit of Measure Setup) addresses this scenario by automatically adjusting the outstanding quantity to allow completing the receipt.

How It Works

The key purpose of this feature is to ensure that the order can be received 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 receipt. The adjustment also respects the overall tolerance between the total ordered units and the total quantity received.

The system evaluates the following conditions:

  1. Condition 1 - Current Receipt Tolerance: Verifies that the current receipt (units being received with their actual weight) falls within the configured tolerance.
  2. Condition 2 - Future Back-Order Tolerance: Checks whether the remaining back-ordered units and weight (after the current receipt) would still have a valid unit-to-weight ratio within tolerance.
  3. Condition 3 - Outstanding State: Confirms that after the current receipt, there would be units still outstanding (non-zero) but the outstanding quantity (weight) would be zero.

Processing Logic:

  • If the current receipt 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 receipt 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 receipt 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 %)

Purchase 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 Receipt:

  1. You receive 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 ✓
  2. After this receipt:
    • 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 receipt within tolerance)
  • Condition 2 ✓ (Remaining back-order within tolerance)
  • Result: No adjustment needed - you can receive the remaining 50 units against 92.5 kg

Scenario Requiring Adjustment:

This scenario demonstrates the core problem this feature solves: receiving 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 receive 95 units at 2.15 kg per unit = 204.25 kg:

  1. After this receipt:
    • 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 receipt and adjusts the quantity to zero rather than going negative even with this feature disabled)
    • The receipt 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 receipt 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 14.25 kg (4.25 kg + (5 units × 2.0 kg average)) to the order
  • New order total: 214.25 kg
  • New outstanding (after posting the receipt): 5 units at 10 kg (214.25 - 204.25)
  • New implied ratio: 10 kg ÷ 5 units = 2 kg per unit
  • You can now receive the remaining 5 units, completing the order

With the setting disabled:

  • The order quantity is increased by 4.25 kg as the over-receipt is within tolerance.
  • The order appears to be fully received even though there are outstanding units

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.

See Also