The Griffin Developer Hub

Welcome to the Griffin developer hub. You'll find comprehensive guides and documentation to help you start working with us as quickly as possible, as well as support if you get stuck. Let's jump right in!

General Ledger

The general ledger is core to the Griffin business. It's a double-entry bookkeeping system that underpins everything we do, from our internal accounting to the bank accounts and financial products we offer.

Here we present the Griffin view of a ledger, and the terminology we use. We won't go in to great detail on what double-entry bookkeeping means as there are many excellent resources available elsewhere.

Our ledger is based on the idea of an append-only log. That is, we guarantee that it is impossible to change history. If a mistake is made, a new entry must be added to the log to correct it. Both the mistake and the correction will be visible in the log.

A general ledger is the set of all ledger accounts in an organisation. The ledger accounts are organised in to a Chart of Accounts.

Ledger accounts simply represent an amount of money and may be positive/in debit or negative/in credit. When we create a bank account we will always create a ledger account for it.

When a bank transfer is made, or an account receives interest, the ledger will have a journal entry appended to it and each account will be individually updated.

A journal entry is a series of line items containing a ledger account to update with either a debit (positive) or credit (negative). The sum of debits and the sum of credits must be equal, otherwise Griffin will reject the journal entry and not allow it to be entered in to the general ledger.

In addition to this, a value date is included in the journal entry. This is the date that the entry should take effect and contrasts to the post date which is the date the journal entry is received by the system. For bank transfers, these are the same date; Griffin has received the transfer and applies it. When using our Ledger as a Service product, you can provide a value date. This is useful if there's any delay submitting a journal entry, but also for issuing corrections.

Having two dates within the system allows us to generate views on the state
of the ledger in multiple ways, for example:

  • What was the state of the ledger on this date, with all journal entries applied until now.
  • What was the state of the ledger on this date, with only journal entries received until the date.

Updated about a month ago

General Ledger


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.