Product documentation
Business Rules and Blocking Reasons

Business rules

Business Rules adds functionality in several Microsoft Dynamics 365 for Finance and Operations modules in order to maintain a work flow status to a record.

E.g., when a new supplier is entered in the system, first the bank account number should be checked, then a copy of the ISO9000 certificate must be stored, etc. These steps can be parts of a business work flow.

The basic structure of the business rules can be found in Common > Setup > Business rules.
Rules with different statuses can be defined for:

The user can define the different statuses that a business rule may have, and the conditional transition from one status to another. 

Note that business rules can not be applied to order lines.

Business rules can be used with or without blocking reasons.

 Important

Microsoft introduced their Change management workflow feature after this solution was designed using Business Rules and Blocking Reasons. These features may not be fully compatible in all scenarios. We recommend testing your use cases thoroughly to ensure they work as expected when used together. E.g. when workflow is not allowing you to change the record, the business rule status can not be updated automatically based on document status, it will result in an error.
   

Blocking reasons

Blocking Reasons adds functionality in several Microsoft Dynamics 365 for Finance and Operations modules.

Standard Microsoft Dynamics 365 for Finance and Operations has very limited functionality to differentiate between the allowed use of e.g. a vendor, a customer or an item. In most cases the choice between all or nothing does not comply with the requirements.

Blocking reasons are like a matrix with process steps and blocking levels. The blocking reason specifies in which step in the process a warning signal should pop up, or a block should be triggered, or both.

A blocking reason can be specified per:

Note that blocking reasons can also be applied to order lines.

Blocking reasons can be used with or without business rules.

Business events

For both Business Rules as for Blocking reasons it is possible to activate a Business event.

Business events provide a mechanism that lets external systems (like PowerAutomate or LogicApps) to receive notifications from Microsoft Dynamics 365 for Finance and Operations applications. In this way, the systems can perform business actions in response to the business events. 

For more general information about Business event please visit: https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/business-events/home-page.

Business events for Business rules

Business events for Blocking reasons

Configuration keys

The configuration keys Business rules and Blocking reasons add functionality in several Microsoft Dynamics 365 for Finance and Operations modules in order to:

The functionality behind the license configuration keys is displayed below:

Field Description Remark
Blocking reasons

Signal or block for:

Order (line) entry, Print confirmation, Product receipt, Picklist + registration (WMS I), Packing slip (WMS I), Invoice 

Blocking reasons and business rules WHS

Business rules

Business rules for supply chain

 

Business rules and blocking reasons in combination with each other 

Blocking reasons on items and customers can be set automatically when an item or customer proceeds to a different business rule status. Example: when the user decides to release an item only for prepacking, the user applies a new business rule status “Prepacking” or similar to this item, and this will automatically set the blocking reason on the item from Blocked for delivery to Blocked for shipment confirmation. Now all open sales lines for this item can be released to warehouse at once, but shipment confirmation is not possible yet.

With the configuration key Blocking reasons and business rules WHS functionality is added to use business rules and blocking reasons in the logistical processes.

 Important

To use the blocking reasons and business rules in conjunction with warehouse management functionality, in the Warehouse management parameters, Company information switch on Enable blocking reasons and business rules.
   

Processes:

In general, the most important decision moment is release to warehouse. Basically, once the order is released to the warehouse, no check should be necessary, but in emergencies and non-standard outbound logistics, it is important to controll the process in more detail. In specific cases, the products must be picked but should not be delivered at the customer yet.

The automatic blocking and warning during the packing, shipment confirmation and packing slip, support different scenarios, e.g.:

 Note

Manifesting (Transportation management) the container or shipment can be set up in the container packing policy as automatic or manual. Manifesting itself can not blocked, but the packing station worker gets a clear signal if the shipment is blocked for shipment confirmation or blocked for packing slip posting.
   

Release notes

Feature Introduced in version
  • Code has been optimized based on Code Analysis Report findings

10041.24083

Feature Introduced in version
  • Parameter "Set initial business rule status" has been introduced on the Copy released products form. (only visible when Business Rules and Blocking Reasons is installed)
  • Made a setup table within the parameters, Created a block called Initial from template, with a table and the ability to add and remove template domains like Customers, Vendors, Released item.
  • Synapse link - Set AllowRowVersionChangeTracking to yes for applicable tables

10040.24052300

Feature Introduced in version
  • Modifications are made in the ALF license area. License "Dynamics Business Rules and Blocking Reasons" and "Dynamics Business Rules and Blocking Reasons for WHS" are merged together.
  • To prevent a license validation error in the ALF License form, the old license "Dynamics Business Rules and Blocking Reasons for WHS" must be deleted manually.
  • New ALF License Validation class has been introduced. The old one is obsolete.
  • The ALF license 'Dynamics Business Rules and Blocking Reasons for WHS' has been removed. 'Dynamics Business Rules and Blocking Reasons' now encompasses the entire solution
  • The label package DYSBRLLabels, DYSBRSLabels, DYSBRLBRS and DYSBBSWLabels have been placed in their respective base package

10038.62.640

Feature Introduced in version
  • Extension fields BRS and BRL are added to SalesOrderHeaderV3
  • Implemented functionality to exclude sales orders from external master planning service based on the business rule

10036.60.620

Feature Introduced in version
  •  New update task "Update purchase order total amount" has been added to the Business rules functionality.

10033.57.611

Feature Introduced in version
  • Please test the automatic release to warehouse processes carefully as Microsoft has changed the query WHSAutoReleaseToWareHouse in version 10.0.32 and it does not retrieve all sales order header and line fields anymore. In this version we have added the fields from this solution again. But it could be that you have extended fields on the sales orders which you might use in the release to warehouse query. If this is applicable for you, you need to adjust the query yourselves.   If you don’t have the time to fix this before you upgrade to 10.0.32 or you have already been upgraded, it’s possible to go back to the original query by asking Microsoft to implement a flight code:   - Insert or update an enabled flight: DECLARE @flightName NVARCHAR(100) = 'WHSReleaseToWarehouseSalesQueryNoDynamicFldsFlight_KillSwitch'; IF NOT EXISTS (SELECT TOP 1 1 FROM SysFlighting WHERE flightName = @flightName)         INSERT INTO SysFlighting (flightName, enabled, flightServiceId) VALUES (@flightName, 1, 12719367); ELSE         UPDATE SysFlighting SET enabled = 1, flightServiceId =''  WHERE flightName = @flightName;
  • Business rule status sales - parameter added when Slim4 Integration is installed: Exclude from external inventory planning

10032.56.610

Feature Introduced in version
  • Sales orders with Business rule status where Use in requirements = No will be skipped when exporting to Slim4 Integration (implemented hook).  Update: Changed to a separate field in version 10032.56.610

10032.56.601

Feature Introduced in version
  • Added a data upgrade function to initialise parameters of transition condition methods
  • Solution now allows Business rule condition expression to be imported in different companies

10022.46.522

Feature Introduced in version
  • Created a framework to batch update business rule statusses (BNR)
  • Extended transition log to include error transitions (BNR)
  • Batch functionality to process multiple purchase order, to set the business rule status value to a new value automatically, respecting the validation rules. (BBS)
  • Disallow setup for Create line without Edit line enabled on Purch/Sales order status parameters (BBS)

Feature Introduced in version
  • Dynamic plan use in requirement parameter added
  • Implement business rule validation on the following dataentities: PurchPurchaseOrderHeaderV2Entity PurchPurchaseOrderLineV2Entity SalesOrderHeaderV2Entity SalesOrderLineV2Entity

10017.41.521

Feature Introduced in version
  • Option added to exclude cancelled lines in Zero price check for sales orders
  • Shipment confirmation check business rule optimized and outbound loads only

10017.41.520

Feature Introduced in version
  • Validation added to prevent enabling the new plannings service in combination with disabled use in requirements setting on sales order business rule parameter
  • Purchase inquiry parameter added to the purchase order business rule
  • X++ validation added on totals of purchase order transition validation
  • Update script to populate the new purchase inquiry setting for existing business rules
  • Added tab 'Data upgrade' to business rule parameters
  • Technical: Added framework to allow for parameters in Xpp methods for transition conditions
  • Added separate validation method for begin status (for extensions)
  • Marked the field Requirement on business rule purchase parameters obsolete

10015.39.510

Feature Introduced in version
  • Quality release: more information can be found in the release notes in the solution in LCS

10012.36.501

Feature Introduced in version
  • Implemented business events for both business rules and blocking reasons
  • Parameter Activate business event added to the business rule transition
  • New parameter added on blocking reason whether a business event should be triggered
  • Fallback status on quotation document postings has been implemented
  • Option "View details" has been added to order account blocking reason on the sales- and purch order
  • Added transition condition message button to DYSBusinessRuleFoundation package
  • Unused options in the quotations status field on the business rule parameters have been made invisible

1011.35.500

Feature Introduced in version
  • X++ method zero price check added to sales quotation business rule

Feature Introduced in version
  • Infolog message added to the business rule log
  • Limit the list of document status to those that are applicable
  • Validations and Fall back applied when document status is setting the transition
  • Xpp validation checkSalesLineMarginUnacceptable added
  • Xpp validation checkSalesLineMarginQuestionable added

1010.34.410

Feature Introduced in version
  • Introduced Inventory blocking reason entity v2 with improved field naming

1008.32.406

Feature Introduced in version
  • Business rule Sales orders Use in requirements technical framework changed

1007.31.404

Feature Introduced in version
  • Business rules administrator and clerk security role added
  • Blocking reasons administrator and clerk security role added

1000.24.403

Feature Introduced in version
  • Application has been upgraded to the 2019 Spring release

1000.24.401

Feature Introduced in version
  • Application has been upgraded to the 2018 Spring release
  • Product life cycle state integrated with business rules

8.015.300