To restrict users from entering improper location when posting to a specific GL account, i.e., basically allowing no entries unless they are to a certain location, we can write a Smart Rule with condition {!GLENTRY.ACCOUNTNO!} == ‘[account_no]’ && {!GLENTRY.LOCATION!} == ‘[location_id]’ and throwing an appropriate error.
For scenarios like the above one, we usually tend to create a smart rule or some validation page scripts to only allow certain department/location IDs to be posted with a group of Account Numbers or any account that begins with a specific digit using some wildcards or so.
But it would be tedious and time consuming if there are multiple Accounts and Dimensions to be checked or validated.
For instance, if the locations are 4 digit numbers (e.g. 1000, 2000, etc.) and there are location groups which are 2 digit numbers (e.g. 10, 20, 30, etc.) and we want to disallow any journal entries for account numbers above 3000 to be entered only into a specific location group but for account numbers below 3000 can be entered into any location/location group. To achieve this it would not be feasible to write and apply Rules or Scripts.
Instead of using Page Scripts or Smart Rules, we can productively use the built-in functionality of dimension relationships provided by Sage Intacct. Dimension relationships can be used for Auto-populating, cascading, filtering and validating dimensions as discussed in our earlier blog.
It will automatically limit the available items or auto-populate dimensions based on an earlier choice.
Go to GL Account > Object Definition > Edit Properties and Attributes > Select the “Auto-fill related objects” flag and enable override auto-filled objects if needed.
Create a “Many-to-One” or “Many-to-many” relationship with Location dimension according to the requirement. If you want more than one location to be available for selection for a specific GL account then the relationship must be “Many-to-many”.
Edit/Add a GL account and choose the Locations to be allowed for that account and save.
Above is the screenshot showing “Many-to-One” relationship with Location dimension, So only location 20 is chosen for account “Computer Expenses” which will be auto-populated when posting entry into this account.
See below.
Following are the screenshots showing “Many-to-Many” relationship with Location dimension, So when posting entry into this account, the location dimension selection will be narrowed down to limited locations (10, 20, 30) and user cannot select other locations for this account.
Another example can be like auto-populating the location/department field on a sales invoice when the employee field is updated.
Thus using Dimension Relationships would be more feasible and of ease to the users and also easy to setup for the company admin.