One of the biggest costs on most Microsoft Dynamics 365/CRM project is custom coding. This is where consultants or developers are invloved in writing 100’s if not thousand’s of lines of code in Javascript and/or C#.

The Formula Manager is a business rules engine that aims to transform this custom coding into simple formulas. It is significantly faster (up to 10 times) than writing custom code and you get the added bonus of lower cost updates if a business rule changes in the future (it is much faster and thus cheaper to change it using a Formula rather than custom code).

Key Features

450+ function library and Excel-like formula language.

There are over 450 built-in functions for string, math, date/time, and logical operations all similar to those in Excel. These formulae operate on standard and custom fields in CRM. e.g.

Commission = [Opportunity.Revenue] * [Opportunity.CommissionRate] 

Native controls and wizards

Native HTML Web Resource controls deliver a familiar point-and-click customization tool. BPA provides a rich, interactive environment for defining formulas. It was designed with business users and administrators from day one to ensure ease of use. The default interface uses the Decision Tables functionality while the Classic editor is used by those who are more comfortable with working directly with the North52 function syntax.  

Decision Table Interface

Classic Editor Interface

Powerful conditional logic

The formula language provides powerful IF, AND, OR, IN functions, giving users the ability to embed application logic right in their formula fields. So a commission formula could calculate an amount only if an opportunity’s status is won else display zero for lost.

Real-time results

Formulas are by default calculated in real time for every request, so they are guaranteed to always be up-to-date. You can of course choose to have your formulas run asynchronously. 

Formula Types

There are several different formula types available that can be selected depending on your business rules requirements, the main ones include:

  • Save - Perform Action: As the name suggests on the Save action of a record perform an action. The action could be a simple calculation or a very complex Decision Table
  • Client Side -  Perform Action: As above but the action occurs on the client side. Typical client side actions include hiding/showing fields, sections or tabs, setting and updating field values and showing notifications to end users
  • Auto Number: Create an automated numbering sequence to fit your exact requirements without the limitations found in the out of the box or other auto numbering solutions
  • Validation: Ensure that data is being inserted into according to your rules. An error message is shown when the validation fails
  • Many to Many: Trigger your business rules when a many-to-many relationship is created or deleted 
  • Action: Trigger your business rules when an Action is triggered