Intacct Conditional Smart Rules

Now that basic Smart Rules are a breeze, someone is bound to ask about a more complicated situation.

What if you have a situation where you need a Smart Rule to do one thing on a certain action, but another on a different set of actions? Is that even possible? Well let me tell you, that it is!

The Question:

Can a Smart Rule be created which requires the Document field to be filled out during Journal Entry only for a certain account (ex: account 1110)?

The Problem:

If it was a dimensional field requirement that could be easily managed in the Chart of Accounts in the General Ledger, but since Document Number is not a dimension that won’t work. To require dimensions for certain fields that can be found here:

Conditional-Smart-Rules-Dimension-Requirements

What we’re going for here sounds like an “IF” Excel type of function. (If the Account No is 1110, then require the Document Number, if the Account No is anything else, then do nothing. If it was Excel you’d just write: =IF(A1=1110,”required”,”not required”)). Unlike a Smart Event, a Smart Rule isn’t a two-step validation. Intacct gives you one box to write the condition under which the Smart Rule will fire. So how exactly do you write a conditional Smart Rule? Well now that we know that’s what we’re looking for, let’s get on to writing the condition.

The Solution:

If you’re just looking for the rule here it is:

Conditional-Smart-Rules-Rule-Properties

({!GLENTRY.ACCOUNTNO!}==”1110″)?({!GLENTRY.DOCUMENT!}!=” “):({!GLENTRY.DOCUMENT!}=={!GLENTRY.DOCUMENT!})

So let me explain what that means and how I got to that so you can write your own:

The Fields:

Only 2 fields we’re looking for (found in the Customization Services Catalog or by using the Inspect Element right click on your screen):

  • {!GLENTRY.ACCOUNTNO!} – the field holding the account number
  • {!GLENTRY.DOCUMENT!} – the field holding the information we want to require whenever account 1110 is selected

The Formula:

  •  ({!GLENTRY.ACCOUNTNO!}==”1110″)?

This is the “IF” portion of the rule. It tells Intacct to look at the first field (the account number) and evaluate whether the account number is 1110 or not.

  • ?({!GLENTRY.DOCUMENT!}!=” “):({!GLENTRY.DOCUMENT!}=={!GLENTRY.DOCUMENT!})

This part tells Intacct what to do depending on what the account number is.

If the Account No was 1110, then Intacct will require a document number (the first part) : ({!GLENTRY.DOCUMENT!}!=” “)

If the Account No was not 1110, then Intacct will just require the Document Number field to equal the Document Number field (which will always be true no matter what). This pretty much makes it a free for all with no requirements if the account number is anything else. : ({!GLENTRY.DOCUMENT!}=={!GLENTRY.DOCUMENT!}) (this was the tricky part).

 

  • 571-227-9512

Kathy Jastrzebski is a manager with CLA’s Intacct team. CLA is an Intacct Premier Partner with a partnership that spans over 20 years and more than 1,000 successful implementations. Kathy brings five years of accounting experience along with seven years of Sage Intacct implementation experience. Along with her accounting experience, she has a passion for leveraging technology to lead finance teams worldwide through system implementations with a mission of increasing department efficiency through business process improvements.

Comments

Woohoo! I can’t wait to put this in place at my client to set some default requirements.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

*