Helpful Intacct Smart Rules

Have you ever accidentally created a GL account at the entity level of your company instead of at the top? Maybe someone else created a Vendor or Customer at an entity-private level? It’s an easy mistake to make if you are usually transacting at the entity level and forget exactly where you’re working. Then, before you know it, you have a GL account that can only be used within a specific entity. You probably also know that Intacct doesn’t allow you to promote from the entity level to the top level so backing out of this mistake takes quite a bit of work and can actually be costly (potentially requiring Intacct Engineering to get involved to perform a data fix).

Why pay a price to fix a mistake after the fact when you can avoid it all together? Today’s post will take you through how to completely avoid this situation by providing just a few Smart Rules to ensure these objects are created at the top level!

(If you would like to learn about how to write Smart Rules in greater detail, this blog post found here will take you through that process step by step.)

So let’s get to it!

First, below is a list of the most common dimensions (and their respective Smart Rule setup) companies using Intacct will require to be created at the top level only: GL Account, Vendor, Customer, Department, Class, and Employee.


(Note: You can also always add additional ones if you have other objects that should be created only at the top level, like User-Defined Dimensions.)

How do you set it up?

Step 1: Choose the Object

For the first example, we’ll choose GL Account.


Step 2: Select Rule Properties

  • Type: Error
  • Event: Add
  • Condition: {!GLACCOUNT.MEGAENTITYID!}==’’
  • Error Message: “Please create this GL Account at the top level, not at the entity level.”

This is what will display in the error message box when someone tries to create a GL Account at the entity level. A helpful message about why they are getting the error might be nice (otherwise expect some emails/phone calls/shouts across the office).

(Helpful Tip! You can actually include merge fields in your error. So if I wanted to, I could include the GLACCOUNT.MEGAENTITYID field to tell the user which entity they are currently in.)


(Helpful Tip! If this is your first Smart Rule, we highly recommend reading this post here to learn about Injection Parameters, Merge Fields, and writing conditions – it’s not quite as technical or boring as the names might suggest).

How does it work? This Smart Rule looks at the field MEGAENTITYID and checks if it’s blank or contains a value. (Most objects in Intacct have this hidden field on them which tells you where the object was created (entity-wise). Be sure to check on the object definition to make sure that field exists.).

The Trick: The top level of any ME-Shared Company has a blank Entity ID. Therefore, any object created at the top-level of a company will have a blank MEGAENTITYID field. If created at any other entity, it will have that entity’s ID.

This Smart Rule is requiring (==) that the entity be blank and thus be created at the top level.

Step 3: Save!


Step 4: Repeat!

Repeat this process for as many dimensions or objects as you need. All that you need to change is the object portion of the condition to the correct Integration Name of the Object you want to set the smart rule on (so … Customer : CUSTOMER.MEGAENTITYID, Vendor: VENDOR.MEGAENTITYID, Department: DEPARTMENT.MEGAENTITYID).

That’s it! You just saved yourself a potential headache and engineering data fix cost.

Have questions? Need help with setting up these or other Smart Rules? Feel free to reach out to your CLA Intacct team!

  • 571-227-9512

Kathy Jastrzebski is a consultant with CLA’s Intacct team. CLA is an Intacct Premier Partner with a partnership that spans over 15 years and more than 400 successful implementations. Kathy brings five years of accounting experience in the manufacturing, products, service, and nonprofit industries. 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.


Love the idea of restricting where objects can be entered! I’ll be recommending this option for my next ME client. Thanks for the post!

Subscribe to Our Email List

* indicates required