Saturday, August 14, 2021

After sales packing slip posting , Qty is set as Remaining Qty and not as Delivered Qty. Sales order still shows the Delivery remainder quantity.

There are multiple settings that are considered when posting sales packing slip and that might cause some uncertainty.

While posting sales packing slip, you see some issues, then you might want to check the following:

  • Check Item model group and verify that it is stocked item, physical inventory posting is activated. 
  • Check Sales order type and verify that it is normal sales order, not subscription/journal.

But also in this blog post I am going to talk about additional configuration that is in place and also should be verified.

In the Account receivable > Account receivable parameters > Updates tab > Packing slip section there is a parameter that is called Automatic reduction, packing slip.


Below you may find the use case and some examples of the parameter usage.

Business scenario: 

The customer has ordered Qty that is more than the existing on-hand and you, as a company, in this case would like to ship whatever you have on-hand and adjust Deliver remainder to the remaining Qty that you have not shipped yet.

Typically if you try to post the packing slip for the ordered qty and you don't have he full Qty on-hand, then the system throws an error saying you cannot pick the items as the inventory is not available to that extent. When using Automatic reduction, packing slip option, the packing slip will be posted to an extent of the available inventory and the remaining order qty will be shown as Deliver Remainder.  If you have shortage of inventory, after posting packing slip, the Ordered qty will be still presented as Remaining qty.

For example,

If customer ordered 10 pieces and you have an on-hand of 6, if the packing slip is posted without this parameter activated, the system stop posting as you don't have the enough inventory. If this parameter is activated, the system will post the packing slip to that of available physical on-hand 6 and set remaining 4 as deliver remainder.

Let's review 3 scenarios below and their results when Automatic reduction, packing is activated:

Sales order line

On-hand

Result

On order Qty = 5 ea
Deliver remainder Qty = 5 ea
Delivered Qty = 0 ea

          Packing slip is posted with the following values in it: Ordered=5, Delivered = 0, Remaining quantity = 5.

          Message is displayed: Posting Sales order: <Sales order number> Item: <Item number> Quantity has been reduced to 0.00.

          Delivered Qty will be 0.

          Deliver remainder Qty will be 5.

On order Qty = 5 ea
Deliver remainder Qty = 5 ea
Delivered Qty = 0 ea

2

          Packing slip is posted with the following values in it: Ordered=5, Delivered = 2, Remaining quantity = 3.

          Message is displayed: Posting Sales order: <Sales order number> Item: <Item number> Quantity has been reduced to 2.00.

          Delivered Qty will be 2.

          Deliver remainder Qty will be 3.

On order Qty = 5 ea
Deliver remainder Qty = 5 ea
Delivered Qty = 0 ea

5

          Packing slip is posted with the following values in it: Ordered=5, Delivered = 5, Remaining quantity = 0.

          Message is not displayed.

          Delivered Qty will be 5.

          Deliver remainder Qty will be 0.



Friday, August 6, 2021

Estimated amount field logic on the sales order in Microsoft Dynamics 365 Supply Chain Management (D365)

In this blog post I would like to provide the logic for the Estimated amount field that is stored on the sales order header.

First off all, the system determines whether the estimate value should be calculated for the sales order

Refer to SalesTable, SetEstimate method 

If the customer account (or invoice account if they are different) has a credit limit and the customer has specified mandatory credit limit then it would be estimated. 

If customer doesn't have a credit limit and the customer has not specified mandatory credit limit then we determine whether the estimate should be calculated based off of the setting for the customer.

If Credit limit type in the Accounts receivable parameters is set to one of these values (Balance, Balance + All, Balance + packing slip or product receipt) then it would be estimated. 

Refer to this.custTable_CustAccount().shouldEstimateBeCalculated() in the SalesTable, SetEstimate method.

How the system calculates Estimated amount:

- If the Credit limit type in the Accounts receivable parameters is set to Balance + All, then the system takes Sales totals (Sales order > Totals where Selection = Packing slip)

- If the Credit limit type in the Accounts receivable parameters is set to Balance + packing slip, then the system takes  Sales totals (Sales order > Totals where Selection = All)

Refer to SalesTable, method updateEstimateBasedOnCreditMaxCheck