Sculptor CPQ is available on AppExchange now!

SALESFORCE as a Financial System

• Date: July 2020 •

Estimated reading time: 5 minutes
Dmitri Leichik, Twistellar CEO, has been managing a cross-market real sector Corporation for 15 years prior to founding Twistellar. He bridges the gap between business and technology, ensures the maximal business value of our cooperation, contributing as when needed, drives our demanding corporate culture.
Serge Kochanowski, Twistellar CTO, is responsible for technological excellence. Serge is our superstar. He can suggest a solution to the most challenging technical issues. If you have one - just try him out. Feel free to set up a call with him, and he will definitely surprise you.
Subscribe for more useful content
We promise we'll not spam your mailbox!
There's a common opinion that in order to enable financial management in Salesforce, you have to utilize third party tools. Indeed, there are different applications on the market, such as Accounting Seed or FinancialForce, that provide rich functionality on accounting, finances and asset management.
However, in many cases you can implement quite a straightforward approach that could turn your Salesforce implementation from being "just" flexible and powerful cloud CRM to becoming a solid trustworthy financial system - without overcomplicating it with excessive applications.
Why would you do that at all? The most typical cases from our practice:

  • the need to reflect the operations, conducted in Salesforce, in the accounting system used in the organization (for example, Navision) and its General Ledger;

  • the need to make the operations conducted in Salesforce, to be recorded and validated, providing the accuracy and traceability typical for pure financial systems

Let's enlist the main cornerstones of any financial system.

1. General Ledger

This is a list of General Ledger accounts intended to reflect and classify the operations that happen in the organization. Each GL account has its current amount.
There're GL accounts of four main types: Assets/Expenses and Incomes/Liabilities. The general idea: an organization is spending its incomes and sources of capital to buy assets and pay expenses, earning profit. So the amount of Incomes + Liabilities is always equal to the amount of Assets + Expenses. The complete list of GL accounts with their amounts that is balanced in such a way in any point of time is called a corporate Balance.
Any business action: customer's prepayment for some order, or a delivery of some asset to the client, or write-off of some goods that were lost in the warehouse - all these events are reflected in the corresponding GL accounts.

2. Double Record Principle

Because of this balance between Assets/Expenses and Incomes/Liabilities, any business operation is reflected in the system by a pair of entries on GL accounts that change their amounts.
For instance, you spend some money from the bank (decreasing the corresponding Asset GL account) and buy some goods for your stock (increasing the corresponding Asset GL account).
There's a common agreement that when an Asset/Expense GL account is Debited, its amount is increased, and when it's Credited, it's amount is decreased. On the contrary, for an Income/Liability GL account Credit means increase, and Debit means decrease.

3. Transactional principle

When you're building a financial system, you want all your operations to be traceable. That means that you want to know the state of any of your GL accounts at any point of time. In order to achieve that, all business operations are presented in the system as Transactions.
Usually you have the number of Transaction types that matches the number of your business operations type. And whenever a business event happens that needs to be reflected in your financial system, you want a Transaction to be created.
Salesforce Financial Transactions
To summarize, you need these three concepts to be implemented in your Salesforce system in order for it to comply with the requirements of a financial system.

Implementation Plan

If you'd like to adjust your Salesforce instance to achieve the compliance with your financial system, you need to make the following steps:

Define the structure of GL accounts that you'll use in Salesforce to reflect the full spectrum of your business operations. That will most likely require the participation of your financial team.

The basic attributes you'll need for your GL account:

  • Number of GL account

  • Description

  • Type (Asset, Expense, Liability, Income)

  • Amount
Salesforce Financial General Ledger
General Ledger

Define all types of business operations that you'd like to reflect as business transactions in Salesforce

The typical attributes you'll need for your transaction object:

  • Date

  • Type

  • Amount

  • Account (because you want to associate your financial records with some account, customer or vendor)

Define the required GL account entries that have to be created for any business transaction, that change the values on GL accounts - this will also require the input from your financial team.

The typical attributes you'll need for your entry object:

  • Date

  • Operation (Debit/Credit)

  • Gl Account (Lookup to GL account object)

  • Transaction (Lookup to Transaction object)

  • Account (because you'll build your financial reports with this field)

Remember that you need at least a pair of entries for each of business transactions type, that have to be balanced.

Build the backend components that will:

  • Configure and validate the processing rules for all business transactions, that will be used for creating GL account entries

  • Create the corresponding business transactions upon any business action in your CRM system

  • Process these business Transactions: create the corresponding entries and add/deduct their values to/from the GL accounts

  • Integrate the GL accounts in Salesforce with the GL accounts in your financial system (if you use one) or just build the accounting reports within Salesforce.
Salesforce Financial Validation & Processing Component
Validation & Processing Component
There are alternative approaches to accomplish point 4. In different cases you can either use standard Salesforce objects or custom ones for GL accounts, transactions and entries.
For building the backend components that will create and process transactions you can either use declarative logic or build custom Apex code - that depends on the number of operations in your system and the performance expectations.
In our experience of building high-performance financial systems in Salesforce, with complicated business logic for the operations involved, we have achieved performance of several dozens of business transactions registered and processed in a second. Which makes above a billion of transactions processed yearly.
But of course that's a task from a completely different tier, though it shows that Salesforce is capable of really impressive performance.
As for the basic financial operations, as described, any company that's using Salesforce, can implement these basic principles and achieve the stability of a typical financial system, still leveraging all interconnections between commercial objects and flows. And such a project can be done on any stage of Salesforce org - these financial components are usually built as a "hidden" layer of automations that reflects that existing flows but doesn't interfere. So if you're frustrated with the accuracy and the quality of the data in your Salesforce org from the financial perspective - you know how to address that issue.
Salesforce Financial Integration
In case you'll need external support, we'll be happy to help with any financial requirements in Salesforce - from building custom financial systems on Salesforce using the approaches described above, to implementation and configuration of full scale financial solutions (Accounting Seed, QuickBooks, FinancialForce or others). With our deep understanding of financial rules and principles behind the scene, your financial project in Salesforce domain will have huge chances of success with Twistellar.

Please reach out for free advice, if you have any questions.
Our Best Articles and Salesforce Overviews
Feeling like teaming up with us at Twistellar? We are excited too! Whether you'd like to customize your org, built a bespoke application or integrate a third-party tool, Twistellar is ready to help you.
Get in touch to discuss your Salesforce ideas!

Contact us!