Accounting Seed supports accounting for multiple companies in a single instance of Salesforce, as long as the companies have the same fiscal year end and the same underlying Chart of Accounts.
Accounting Seed's multi-ledger functionality is an additional feature that must be activated in your organization by Accounting Seed Support and there will be an additional fee associated with this functionality.
Important: Once you have posted transactions to an additional ledger, removing the ledger from your subscription fee is not possible.
Set Up a Multi-Company
- Determine how many ledgers are needed. Each company should have its own ledger.
- Submit a a case with Accounting Seed Support through the Customer Support Portal to activate Multi-Ledger. You will receive a quote with an extra fee for the Multi-Ledger functionality.
- Once activated, navigate to Accounting Home and under General Ledger Setup, click Ledgers.
- On the next page click the New Ledger button to add the new ledgers.
- Populate the following Fields for each ledger:
- Ledger Name: Name of Corporate Entity
- Enter: Transactional
- Default Bank Account: GL Account that represents the main bank account for this entity
- Description: Optional
- Billing Outstanding Statement: PDF Format for Customer Outstanding Statement
- Billing Activity Statement Formats: PDF Format for Customer Activity Statement
- Default Billing Format: PDF Format for Customer Billing
- Default Packing Slip Format: PDF Format for Packing Slip (applicable if Accounting Seed Orders & Inventory module installed)
- Default Purchase Order Format: PDF Format for Vendor Purchase Order (applicable if Accounting Seed Orders & Inventory module installed)
Note: If fields are not displayed on your ledger page layout, please edit your page layout to make these fields visible. This can be achieved by your System Administrator or someone with the appropriate level of permissions to do so.
- Ledger Currency: Set the ledger currency as desired. Please note this is only available if multi-currency is enabled.
- Adjust Page Layouts to include the Ledger field. This should be added to:
- Cash Receipts
- Bank Deposits
- Bank Reconciliations
- Recurring Billings
- Recurring Payables
- Cash Disbursements
- Journal Entries
- Expense Reports
- Time Cards
- Fixed Assets
- Financial Statement Column
- Amortization Entry
- Financial Cube
- Sales Order
- Purchase Order
- Sales Order Inventory Movement
- Purchase Order Inventory Movement
- Inbound Inventory Movement
- Outbound Inventory Movement
- Manufacturing Inventory Movement
- Multi-Ledger is best used in the Salesforce Lightning UI. If you are using the Classic UI, switch to Lightning and add the Ledger Manager utility bar. This must be added to a new Lightning app or a non-managed app. To do this:
- Click into Setup | Apps | App Manager.
- Select Edit for the App you want to add it to (must not be a managed app) or select New to create a new app.
Note: My Domain must be activated to use this feature.
- From App Settings, choose Utility Items, and click the Add Utility Item button.
- Scroll down and select Ledger Manager. The Ledger Manager will default the transaction to the ledger you are currently working in.
- Check the Start Automatically box.
- Update the label if necessary.
- Click Save.
Limit Access to Specific Users
If you need to limit a user to only enter data in a specific ledger, versus any or all ledger(s), then you will want to leverage Salesforce’s Sharing Permissions and Role Hierarchy-based Sharing functionality.
For example, setting the ledger to Private will allow you to use the Role Hierarchy to extend permission to anyone in the hierarchy above the record owner.
- Ledger sharing permissions set to Private.
- Accountant for Company A would need to own the Ledger Record for Company A.
- Accountant for Company B would need to own the Ledger Record for Company B.
- CFO for the Parent company would need to be set up in a role hierarchy where both Accountants report to the CFO.
- The two Accountants would then need to have their role hierarchy access set to No Access (limiting them to only see records where the ledger was set to the one they own).
- The CFO would need to have his or her role hierarchy access set to View & Edit (allowing them to view and edit records regardless of the Ledger owner).
Note: Refer to the Salesforce Roles Hierarchy article for additional information on how to use this functionality.
- Have your accounting team use the Lightning UI. This will allow them to easily select a ledger to work in through the Ledger utility.
- Set up custom list views by ledger. For example, have a payable view filtered for each ledger so that a user can batch-create disbursements for all payables related to that ledger.
Note: The system will not allow a related transaction in a different ledger. This means that a disbursement cannot relate to a different ledger than the payable.
- To further drill down into financials, use the General Ledger Variables. A variable is a separate dimension of the financials and is typically used to report on departments, divisions, and business units.
Note: The same underlying Chart of Accounts is used throughout the system. If certain GL Accounts only relate to one ledger, then a user can use the Suppress Zero Rows checkbox when running reports so that only active GL accounts for that ledger will show on the report.
If a company enables multi-ledger are they still able to produce consolidated financial reports across all entities?
Yes, they can do this a couple of ways:
1. Using the custom reporting tool, adding a column for each ledger. They can then total these up and either leave each column as visible or suppress each ledger column to only show the total.
2. Using the SF reporting tool to run a P&L and Balance Sheet with the filter for all ledgers.
So ... if a company does MOST of their reporting on consolidated financials - does it still make sense to move to using ledgers instead of just GLAV?
We're currently working with a company with 6 distinct entities, but 95% of their activity is booked to 1 of them. They have a site license, so I had been thinking we'd use separate ledgers for the separate entities, but maybe for this company - keeping them in GLAV makes more sense? 6 columns * multiple period and/or budget vectors is a LOT of columns to maintain in the custom reporting tool.
Feature request: Consolidated financials in the OOTB AS financial reports.
It would be best practice to use the ledger field for each company instead of the GLAV and then creating the consolidated report using either the custom reporting tool or a salesforce report where the ledger is filtered for all companies.
While consolidating financials, most companies will have a need for elimination entries so it's not as simple as leaving the GLAV blank while running a report.
Can you add a little clarity around "User Setup - If you need to limit a user to only enter data in a particular ledger."
The instructions say: For example, setting up record types on the Ledger object and assigning those record types to the appropriate users’ permission set, will limit a user to only being able to enter records for the Ledger they have permission for.
Would each ledger then have a separate record type, and then would you create separate permission sets to grant access to each ledger, and then apply those permission sets to users as necessary to grant access?
Do you need to set the sharing of the ledger to Private to make that work?
Does this override the "view all" setting for various objects in the Accounting Seed Permission sets?
Is the Ledger Manager already added to the Accounting Seed apps? (Step 6) I don't see it and I can't add it because they're part of a managed package. Do I need to create new apps to add the ledger manager to them?
Thank you for pointing this out, we will update this article. Yes, a custom lightning app must be created to add the ledger manager.
Thank you once again for your message. We've updated this article regarding limiting a user to a particular ledger.
User Set Up:
If you need to limit a user to only enter data in a specific Ledger, versus any or all Ledger(s) then you will want to leverage Salesforce’s Sharing Permissions and Role Hierarchy-based Sharing functionality.
For example, setting the Ledger to Private will allow you to use the Role Hierarchy to extend permission to anyone in the hierarchy above the record owner.
Please refer to the Salesforce Roles Hierarchy article for additional information on how to use this functionality.
Article is closed for comments.