Product documentation
Business Rules and Blocking Reasons - Blocking reasons

Business value

Often you need to differentiate blocking of items, customers etc. per process, rather than use the "all or nothing" option in the standard functionality.

This applies to many situations:

In sales (purchase) order posting Microsoft Dynamics 365 for Finance and Operations does not select the line in the posting screen if one of the following statements is true:

 

Setup

When switching on the configuration key Blocking reasons, functionality is added to use signal codes and blocking reasons.

Inventory management > Setup > Inventory > Blocking reasons

In the Blocking reasons form, in the fast tabs Sales quotation, Sales order and Purchase order, the steps can be defined where the system will show a signal message and / or block the order or order line on order(line) creation.

 

Field Description Remark
Blocking reason Identification of the Blocking reason
Text Signal text. Place holders %1 = Item, %2 = Name, %3 = order

Activate

Business event

On change of the blocking reason the system will look at the new value to determine whether a business event is created.

Sales quotation Order entry

None, Signal, Block, Both 

Sales quotation Order line entry

None, Signal, Block, Both

Sales quotation Quotation

None, Signal, Block, Both

Sales quotation Confirmation

None, Signal, Block, Both

Sales order Order entry

None, Signal, Block, Both

Sales order Order line entry

None, Signal, Block, Both

Sales order Confirmation

None, Signal, Block, Both

Sales order Picking list / release to warehouse

None, Signal, Block, Both

If Release to warehouse must be blocked, and the Warehouse management parameter "Enable blocking reasons and business rules" is not switched on, a warning message is displayed.

Sales order Packing slip

None, Signal, Block, Both

Sales order Invoice

None, Signal, Block, Both

Sales order Confirm shipment

None, Signal, Block, Both

Purchase order Order entry

None, Signal, Block, Both

Purchase order Order line entry

None, Signal, Block, Both

Purchase order Purchase order

None, Signal, Block, Both

Purchase order product receipt

None, Signal, Block, Both

 

 Note

Blocking codes are not respected when creating purchase agreements or sales agreements, only when releasing the order.
   

Field Description Remark
None No block, standard

Signal

A message is shown, without any blocking

Block

Blocks the order, or order line without a message

Both

A message is shown and the order or order line is blocked

The signal text may also contain a place holder for the item number (%1), item name (%2) or the order (%3).

E.g. for PurchaseBlock: "New PO line for item %1 - %2 is not allowed on order %3."

 

Business Events

Via System administration > Setup > Business events > Business events catalog, the following business events for Blocking Reasons can be activated:

Fields passed to the event:

Field name Label
ReferenceKey Reference key (id of the record)
BlockingReasonFrom Blocking reason from
BlockingReasonTo Blocking reason to
CreatedBy Created By
LegalEntity Legal Entity
BusinessEventId Business Event Id
ControlNumber Business Event control number
OrderId Order Id (only for order line events)
LineNum Line number of the order (only for order line events)
MajorVersion Major Version
MinorVersion Minor Version

Besides activation of the event in the catalog, also the checkbox Activate business event on the blocking reason needs to be enabled. On change of the blocking reason the system will look at the new value to determine whether a business event is created.

 

Use blocking reasons

Link blocking reason to a customer

All customers > Fast tab: Sales order defaults

This blocking reason is respected (but not inherited) on sales orders and sales quotations but can be overridden by a blocking reason on the sales order and sales quotation.

 

Link blocking reason to a vendor

All vendors > Fast tab: Purchase order defaults

This blocking reason is respected (but not inherited) on purchase orders but can be overridden by a blocking reason on the purchase order.

 

Link blocking reason to a released product 

Released products > Fast tab: General > Group: Administration

Note that the blocking reason can also be updated automatically when the business rule status of a released product is changed. This blocking reason is respected (but not inherited) on sales quotations, sales orders and purchase orders. An additional blocking reason on the order line will also be respected, but will not override the blocking reason on the released product. 

 

Blocking reason on sales quotation

Sales and marketing > Sales quotations > All quotations

The logic for blocking reasons on sales orders (described in the next paragraph) also applies to sales quotations.

 

Blocking reason on sales order

Sales and marketing > Sales orders > All sales orders

If necessary, it is possible to block all existing open sales orders for a customer at once, by changing the blocking reason on the customer account. In the sales order header, fast tab Setup, the "Blocking reason order account" is displayed.

The sales order contains a field "Blocking reason", which is used to overrule the "Blocking reason order account" on the customer.

If a customer is generally blocked, an individual order can be released through a "signal only" blocking reason on the order header.

The behavior on the sales order lines is slightly different:

So you can set a blocking reason on a customer, and this will influence all open and all new orders. As soon as you remove the blocking reason from the customer record, all these orders are unblocked (unless a manual block has been set on the order header or line or a block on item).

Unblock specific order: if the customer has a blocking reason that will block this step, but the order has a blocking reason that does not block this step, the lines are selected. This allows manually inserting a less restrictive blocking reason (signal only) for an order header, though the customer is still blocked. Then, this order can be picked, delivered, invoiced etc.

 

Blocking reason on purchase order

Procurement and sourcing > Purchase orders > All purchase orders

If necessary, it is possible to block all existing open purchase orders for a vendor at once, by changing the blocking reason on the vendor account. In the purchase order header, fast tab Setup, the "Blocking reason order account" is displayed.

The purchase order contains a field "Blocking reason", which is used to overrule the "Blocking reason order account" on the vendor.

If a vendor is generally blocked, an individual order can be released through a "signal only" blocking reason on the order header.

The behavior on the purchase order lines is slightly different:

So you can set a blocking reason on a vendor, and this will influence all open and all new orders. As soon as you remove the blocking reason from the vendor record, all these orders are unblocked (unless a manual block has been set on the order header or line or a block on item).

Unblock specific order: if the vendor has a blocking reason that will block this step, but the order has a blocking reason that does not block this step, the lines are selected. This allows manually inserting a less restrictive blocking reason (signal only) for an order header, though the vendor is still blocked. Then, this order can be ordered, received, paid etc.

 Note

The blocking reason of the customer (vendor) is taken into account in the sales (purchase) order, and is visible on the sales (purchase) order header. But the customer (vendor) blocking reason is not inherited to the sales (purchase) order header. This allows the blocking of all existing orders for this customer (vendor) at once, and unblocking specific orders by an overruling less restrictive blocking reason.
   

 

Purchase order Blocking reasons in combination with Master planning

Master planning > Master planning > Planned orders

Planned orders can be created by the periodic Master planning and also manually. On creation of the planned order the system will check the “Purchase Order line entry” setting of the Blocking reason of the item as well the “Purchase order entry“ and the “Purchase Order line entry” setting of the Blocking reason set on the vendor. This check will execute this routine:

On firming, multiple planned purchase order lines, the system executes this logic again. All selected items with Block or Both will not be processed and remain visible in the planned order list page and the blocking reason and description field will be updated on the planned order.

The column "Process blocking description" displays the blocking reason for purchase order entry or order line entry. The field itself gives you information where the code is inherited from (item, vendor or manually set on the planned order).

 

Filtering planned orders for items with a blocking reason

In the advanced filter, join from Planned order (ReqPo) to Items (n:1 InventTable) to Blocking reasons (n:1 DYSBRSInventBlockingReasonTable).

 

Filtering planned orders for vendors with a blocking reason

In the advanced filter, join from Planned order (ReqPo) to Vendors (n:1 VendTable) to Blocking reasons (n:1 DYSBRSInventBlockingReasonTable).

Filter on the desired blocking reason.

 

Remark

Often, firming is done automatically when running the master planning in batch. In that case the info log will be visible on the batch task. Items with Block or Both will not stop the master planning process.

The firming of these lines with blocking reasons will not succeed, so those items will remain in the planned order form.

 

 

Blocking reasons in relation to Copy plan

Master planning > Master planning > Maintain plans > Copy plan

When a plan is copied, the Blocking reason is displayed on the new plan too.

 

Use blocking reasons within warehouse management

In general, the blocking reasons within warehouse management function in a similar way as the business rules within warehouse management. Key concept:

Blocking reason form

Inventory management > Setup > Blocking reasons

Blocking reasons in warehouse management are enabled by a Warehouse management parameter.

On multiple processes, the blocking reason can give a warning, block the process or do both. The warehouse management related fields in the blocking reason form are described below.

 

Sales order form and sales order list pages

Sales and marketing > Sales orders > All sales orders

If any blocking reason on the order header, order line or item causes a block, the whole order is not released to warehouse. The first found block is displayed. If there is no blocking reason on the sales header, the blocking reason on the customer is taken into account. If there is no block, all blocking reasons on order header, order line or item that must give a warning, are displayed. If there is no blocking reason on the sales header, the blocking reason on the customer is taken into account.

 

Release to warehouse

Warehouse management > Release to warehouse > Release to warehouse

The blocking reasons are checked when the user presses "Add" to add the selected line(s), "Add all", or "Add order".

If any blocking reason on the order header, order line or item causes a block, the whole selection is not transferred to the lower grid Release to warehouse. The first found block is displayed.

If there is no blocking reason on the sales header, the blocking reason on the customer is taken into account.

If there is no block on order or customer, all blocking reasons on order header, order line or item that must give a warning, are displayed. If there is no blocking reason on the sales header, the blocking reason on the customer is taken into account.

 

Automatic release of sales orders

Warehouse management > Release to warehouse > Automatic release of sales orders

If any blocking reason on the order header blocks, the whole order is skipped and displayed in the message details of the info log.

If there is no blocking reason on the sales header, the blocking reason on the customer is taken into account. If any blocking reason on the item or the order line blocks, the order line is skipped and displayed in the message details of the info log. If an order line is skipped the new reservation is kept depending on the setting in the dialog. Warnings are also displayed in the message details of the infolog.

 Note

Load planning work bench: in this scenario, a full load (e.g. a container) is planned prior to picking. At the moment the user decides to release the entire load to warehouse, the business rule status of the sales orders involved is not checked
   

 

Packing station

Warehouse management > Packing and containerization > Pack

Just like with business rules, packing itself is not blocked with the blocking reasons, but a clear orange banner indicates when the shipment contains a sales order or sales line for which a blocking reason prevents shipment confirmation or packing slip posting.

 

Confirm shipments

Warehouse management > Shipments > All shipments

Warehouse management > Loads > All Loads

Warehouse management > Work > All work

Outbound shipments can be confirmed:

A shipment cannot be confirmed in part. So a block on one sales order or line prevents the confirmation of a shipment with multiple sales order (line)s. Just like with business rules, confirming an outbound shipment is not possible if there is one blocking reason that blocks for shipment confirmation on sales order header, sales line or item. If there is no blocking reason on the sales header, the blocking reason on the customer is taken into account.

 

Packing slip

The packing slip can be generated and printed:

The headers and lines of sales orders for which the blocking reason does not allow packing slip posting, will not be retrieved in the lines to be posted.

 

FAQ

Question: The blocking reason is not inherited from customer (or vendor) to sales quotation / sales order (or purchase order).
Answer: That is correct. The blocking reason of the order is initialized with an empty value. The blocking reason on the customer (or vendor) account remains respected, untill a blocking reason is entered on the order header.
Question: The blocking reason is not inherited from released product to sales quotation line, sales order line and purchase order line.
Answer: That is correct. The blocking reason of the order line is initialized with an empty value. The blocking reason on released product remains respected, as well as a blocking reason that is entered on the order line.
Question: On the shipment list page, there is a column "Blocked", but there is no indication that a shipment is blocked because of a Blocking reason.
Answer: The column "Blocked" only displays an orange triangle if the shipment is blocked due to a Business rule. Blocking reasons are respected when you post the packing slip from a shipment or load.