Most Accounting Seed Financial Suite custom object "Org" Wide Defaults are set to public read/write by default with the exception of Time Card and Expense Reports. These two custom objects are set to private by default. Accounting Seed Financial Suite supports setting the "Org" Wide Defaults for our custom objects to any supported sharing setting you choose. Most Accounting Seed Financial Suite interfaces and integration points enforce sharing settings you have defined for applicable custom objects.
With that said, we recommend the following best practices for setting "Org" Wide Defaults.
Financial Cube and Transaction Objects
In the majority of circumstances, we do not recommend setting the "Org" Wide Defaults of the Financial Cube and Transaction objects to a private sharing model. Setting either custom object to a private sharing model could result in inconsistent financial report results based on user record visibility when executing native Salesforce reports with the Financial Cube or Transaction object. Typically, the use case for setting the "Org" Wide Defaults for the Financial Cube or Transaction custom objects to private is to act as a means of segmenting financial data for reporting purposes. Implementation of this use case is better served by using either the Accounting Seed Multi Ledger functionality or Accounting Variables to segment financial data for reporting purposes.
Source Document Objects
Setting the "Org" Wide Defaults to private for certain source document objects in our Financial Suite product requires proper forethought and planning. Source document custom objects constitute the Amortization Entry, Billing, Cash Disbursement, Cash Receipt, Journal Entry, Payable, and Time Card. With the exception of the Time Card, consideration should be taken when setting the "Org" Wide Defaults for other source documents to a private sharing model to ensure users have the visibility they require across objects to support various features. For instance, setting the Billing custom object to private could result in some billing records not being accessible to a user attempting to apply a cash receipt to a set of billing records.
Time Card and Expense Report Objects
Time Card and Expense Report custom objects are set to a private sharing model by default. Typical use cases around these custom objects involve restricting user visibility to the record owner or a user allowed access via the role-based hierarchy.
Master Data Custom Objects
Master data custom objects such as GL Accounts, Ledgers, and Accounting Variables might be set to a private sharing model to support specific use cases. Examples include:
- Setting the Ledger custom object to private. This would support the ability to enforce ledger access to create source documents and/or execute financial reports associated with particular ledger records.
- Setting the GL Account custom object to private. This would allow certain users to only access GL Accounts relevant to their role in the organization. For instance, you can enforce access to certain expense GL Accounts for Expense Report users to recognize expenses.
- Setting the Accounting Variable custom object to private. Your organization might set up an Accounting Variable dimension to tag source documents with corporate divisions such as HR or IT. A private sharing model would support restricting user access to subsets of Accounting Variables that would only apply to their role in the Organization.
Most Accounting Seed Financial Suite interfaces and integration points enforce the custom object sharing model defined within Salesforce. Notable exceptions include the Financial Reporter and the 1099 File Generation utility.
The Financial Reporter executes in a non-sharing mode when querying for Financial Cube records. The generated financial report will consist of summarized data irrespective of user-based sharing settings. The 1099 File Generation utility creates a 1099 file which is extrapolated from records in Accounting Seed regardless of user-based record visibility.