Cross-entity operations in Sage Intacct

Created by Harry Lewis, Modified on Tue, 28 Nov 2023 at 06:37 PM by Harry Lewis

Applies to:

  • Velixo NX
  • Sage Intacct



TABLE OF CONTENTS


Overview

A Sage Intacct record can be scoped to the top level within Sage Intacct or to a specific location/entity.


When the record is at the top level, it can be used to create other records specific to a location.  However, when the record is specific to a location, it cannot be used to create records in other locations (including at the top level).



Note: Sage Intacct uses the term MegaEntity to refer to the location or entity that a record is scoped to.  The mega entity of a record can be checked by looking at the MEGAENTITYID field via the Velixo SI.QUERY function.



Examples


Consider the following Sage Intacct instance configuration:




From the diagram, we can see that:

  • The 100-level project estimates and employees are at the top level.
  • The 200-level project estimates and employees are private in Entity A.
  • the 300-level project estimates and employees are private in Entity B.


Example 1 - Top-Level record update


Suppose we want to update Project Estimate 100 (at the top level) and specify an employee dimension.


If we use:

  • Employee 100, this will work, because both the project and the employee are at the top level.
  • Employee 200, this will result in an error.  We cannot use a private dimension (Employee 200 is specific to Entity A) on a top-level record.
  • Employee 300, this will result in an error.  We cannot use a private dimension (Employee 200 is specific to Entity B) on a top-level record.
  • Employee 200 and 300, this will result in an error because we cannot mix entities from separate private dimensions.




Example 2 - Location-level record update


Suppose we want to update Project Estimate 200 (private to Entity A) and specifying an employee dimension.

 If we use:

  • Employee 100, this will work because a top-level dimension can be used in private record.
  • Employee 200, this will work.  Both the project record and the employee records are specific to the same entity.
  • Employee 300, this will result in an error.  Employee 300 is private to Entity B.  We cannot use a private dimension from Entity B on a record which is private to Entity A
  • Employee 200 and 300, this will result in an error because we cannot mix entities from different private dimensions.
  • Employee 100 and 200, this will work because we can mix top-level and private dimensions.



Example 3 - New record


When creating a new record, there is no existing estimate ID.  Thus, we don't know if we are creating a top-level record (e.g. Project Estimate 104) or an entity private record (e.g. Project Estimate 201).


So, when a new record is created, the level at which it is created will depend upon the dimension(s) associated with it.


Using the same project/employee concept as above...


If we specify:

  • Employee 100, this will work.  The new project estimate will be created at the top level (since Employee 100 is defined at that level).
  • Employee 200, this will work.  The new project estimate will be private in Entity A.
  • Employee 300, this will work.  The new project estimate will be private in Entity B
  • Employee 100 and 200, this will work.  The new project estimate will be private in Entity A (Employee 200 is defined in Entity A and we can also apply the top-level Employee 100 to a private entity).
  • Employee 200 and 300, this will result in an error because we cannot mix dimensions from different private entities.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article