Business Rules and Blocking Reasons
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:
- Released products (items)
- Customers
- Vendors
- Prospects
- Purchase orders
- Sales orders
- Opportunities
- Sales quotations
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 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:
- Released product (item)
- Customer
- Vendor
- Purchase order
- Purchase line
- Sales quotation
- Sales quotation line
- Sales order
- Sales order line
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.
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:
- maintain a work flow status on an order or an entity,
- maintain a blocking code and / or signal code in various steps in the work flow on a specific
- customer
- order
- order line
- item
The functionality behind the license configuration keys is displayed below:
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:
- Release to warehouse
- Release to warehouse button on the sales order
- Release to warehouse form
- Automatic release of sales orders
- Packing station
- Confirm shipment
- Confirm shipment by closing the final container on the packing station
- Confirm single shipment from work
- Confirm single shipment (shipment form)
- Confirm all shipments in a load
- Generate and print packing slip
- Generate packing slip on the packing station
- Generate packing slip on the shipment
- Generate packing slip on the load
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.:
- Wait for shipping full order
- Order was picked in part but must wait until all products are available to enable shipping the order in full
- The products must stay in our warehouse and remain unpacked
- Prepacking
- Preparing shipment of seasonal goods and fashion
- The products must stay in our warehouse and be packed with a packing list, but without posting the packing slip
- Internal movement of packed containers must still be allowed
- 3PL storage
- The products must be shipped to the 3PL company accompanied with a packing list and stored at the 3PL until shipping to the customer is allowed.
- The packing slip is generated later when the 3PL company has to ship the products to the customer.
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
|