Using Smart Rules in Sage Intacct

Smart Rules are an easy way to build logic into your Sage Intacct environment without the help of a developer. This layer of light customization can ensure data integrity across your system and help avoid common errors in data entry.

Here are some examples of where Smart Rules might be useful:

  • Requiring an email on a customer record before an invoice is created.
  • Requiring a customer/vendor type if using the type field for dynamic groupings.
  • Warning a user if posting a GL entry outside of certain departments.
  • Requiring master data records to be created at the top level or entity level.
  • Requiring an attachment when adding a new vendor record.

The below example will create a Smart Rule to prevent a user from posting an AP Bill to an account outside of the general administrative expense accounts. The idea is to ensure Purchasing is used for any capital expenditures.

To create this Smart Rule you will navigate to customization services or platform services, depending on your subscription, and choose Smart Rules.

The first step in creating a Smart Rule is to choose the standard object you wish to extend. In this case the Smart Rule will be utilized on the AP Bill Detail object. The difference between the AP Bill and AP Bill Detail is that the former is the header area of the object and the latter are the line items of that object. This same terminology is true across many standard objects in Intacct.


Next, you will choose whether the rule should error, or warn the user. An error will completely prevent a user from entering a bill to another account, whereas a warning will allow them to override and post. Then you will select the actions that will trigger the Smart Rule- either Add, Set (edit), or Delete.

The condition in a Smart Rule should specify when the transaction passes and does not trigger the error or warning. Therefore, when the condition equals true it is allowed to post. Otherwise, the error/warning message appears. The field lookup in the top right corner helps you locate the injection parameters. Then your logic can be written using PHP operators. The cheat sheet at the end of this article helps you write this condition.


For the example:

  • {!APBILLITME.ACCOUNTNO!}    This is the injection parameter for the GL account number, populated from the field lookup.
  • >=         Greater than or equal to
  • &&       And
  • <           Less than
  • In plain English, this condition reads: If the account number is greater than or equal to 6000, and less than 7000, allow this transaction to post uninterrupted. Otherwise, please trigger the error or warning.

Once you assign an ID and save the Smart Rule, you can test it. It is recommended to first create these in your sandbox environment, if available.



One way to make a Smart Rule even smarter is to add a custom field that then creates the logic. In the above example we could have added a custom checkbox to the GL account that specified which accounts could be used in AP Bills. Then the logic would have not needed hard coded numbers for the range, but instead would have read- if the GL account checkbox was true then allow the AP Bill to post.

Please find the Sage Intacct cheat sheet here:

https://developer.intacct.com/downloads/customization-services/customization-services-cheatsheet.pdf

This has information on special conditions and provides many more examples. And, as always, let us know if we can assist in any way!

You might also like