Learn|||Ledgering

What is a Ledger API?

A ledger API allows companies who need to move money at scale quickly and easily access, track, audit, and unify all of their financial data in one place. A well-designed ledger API should be immutable, follow double-entry principles and allow  for applications to record and display data in real-time.

Let’s imagine that you run a large tech business. You use a double-entry general ledger to keep track of all of your company’s financial information. While there are software options available (like Quickbooks, NetSuite, or Xero) their APIs can be challenging to work with, and most importantly, the granularity of their chart of accounts may not be sufficient to track the very high volume of transaction data your product needs to operate.

And if your company wants to build a ledgering system in-house, at best you will have to use valuable engineering resources and at worst a cobbled-together workflow will leave your engineering team playing catch-up and putting out fires.

For a company, these things can create a bottleneck against scalability: at a certain level of volume, it will take a significant amount of time and resources to custom-build a ledgering system that can scale and change with your business, is  accurate at all times , and can be easily audited. With a Ledger API, a single developer can access scalable ledger infrastructure in minutes.

How Do Ledger APIs Work?

A ledger is a record-keeping system for a company’s financial transaction data. As a central source of truth, a ledger provides a record of each debit and credit transaction associated with a given product. .

Businesses use ledgers to get a detailed view of their financial transactions for different periods of time. Companies that move money at scale will generally use what’s known as a ledger database to record financial transactions and store other significant data

What is an API?

So, what is an API? APIs, aka application programming interfaces, are a way to make two separate software programs talk to each other. Think of an API as a menu — an API has a list of different commands that can execute with code. So, you can order a program to accomplish a certain task. Each command corresponds to a different API call which is a single instruction to write, read, modify, or delete information from the system.

A ledger API provides companies with  a way to track transaction data at the most granular level. With a ledger API you can track financial data such as user balances, incoming and outgoing payments, balances owed to partners, and transactions made in different currencies. All in a programmable format that can be triggered by code in your product.

A quality ledger API should meet a few basic requirements:

  • Be able to scale with a business—from a few transactions to hundreds of thousands or more.
  • Be transparent and immutable, so every transaction and adjustment has an audit log.
  • Be double entry, to properly account for sources and uses of funds and reduce the likelihood of consistency issues.
  • Have a user interface that finance teams and business stakeholders can easily use.

How To Decide Whether To Build or Buy A Ledger API For Your Business

A ledger API can save your company time and simplify tracking, sorting, and reconciling all your important financial data, but custom-building a ledger in-house is a possibility, too. Here are some questions to keep in mind as you decide between building in-house or buying a Ledger API for your business:

  1. Would my finance and engineering teams be on board with my choice of an API or an in-house ledger?

    This one almost goes without saying, but you’ll want to double check that the people who will be using the ledger the most are happy with it. If your company doesn’t have the engineering resources to spare or your engineers need time to focus on other important work, building a custom ledger might not be the right choice. On the other hand, before jumping in with an API provider, you’ll need to make sure to vet them thoroughly. This includes seeing what types of documentation they have available. Quickstarts, guides, or examples of API requests can all be helpful in showing your team what to expect when using the product and help you decide whether to build or buy your ledger. 

  2. What is the best way to ensure that my ledger will be reliable and consistently auditable?

    A ledger should serve as a log for historical events and it is paramount to ensure that those events are recorded. If there are transactions that need to be corrected, the ledger should reflect both the original transaction error and how it was corrected. Auditability is especially significant for companies in highly regulated spaces like investing, or companies that have a strong need for transparency like crypto companies. Testing and building essential features—like idempotency, concurrency controls, and immutability—to ensure your ledger is reliable and auditable takes time from a dedicated team of engineers. If your goal is to get your product to market quickly, building a ledger in-house may not be the right option for your business. Something that is quick and easy to get up and running with your business will save your engineering and finance teams time in the long run. Building, scaling, and maintaining elite safety and audit features is just one element of building your own ledger—and that alone will require substantial engineering resources.A well-built ledger API needs to include the same functionality, with the goal of making the ledger easy to audit. This includes ensuring immutability and append-only editing, so that it is clear how any given balance came to be. You’ll also want to look for a ledger API that allows you to have a single source of truth for all of your different financial data. Remember: you can’t use data well if you’re not storing and handling it correctly.

  3. Can my team maintain a ledger or would support from a trusted 3rd party be preferable?

    With a homegrown ledger, adding a new product means adding a new ledger to track the data around that new offering. Scaling a ledger, especially as your number of transactions increase, is not a small amount of work. The more ledgers your business model necessitates, the more work it will be to maintain them. This is an important factor to consider when building a ledger in-house: can your team keep up with the workload of more than one ledger or can you scale your team to do so? (This article from Uber offers an interesting perspective on the 2+ years they spent designing a ledgering solution to support their business.) Working with a 3rd party that has a dedicated team to manage your account and maintain infrastructure is key if you go with a ledger API. When choosing an API provider, you’ll want people who support you from implementation on and people who, in the worst case scenario, can provide customer and technical support from their own dedicated support teams. Knowing that there is a team of people on-call to support your business, should any issues with your ledger arise, can alleviate some of the workload for your engineering and accounting teams in a time of crisis. If you decide to buy, you need to make sure to choose a provider that can ensure their API can scale along with your business. Additionally, you’ll want to ensure that the ledger API you choose can handle multiple requests simultaneously, quickly, and consistently.

To learn more about Ledgers and Ledger APIs, check out these additional resources: