How to map GL codes to your loan products

On this page

When setting up a loan product, one of the most important steps is mapping the correct General Ledger (GL) codes. GL codes determine where every financial transaction related to the loan will be recorded in your accounting system. Proper configuration ensures clean bookkeeping, accurate reconciliations, and smooth reporting.

What are GL Codes?

GL codes are structured numbers used by accounting systems to categorize and track financial activities. Every time money moves in or out of your business, a GL code is used to record the transaction under the right account.
For loan products, GL codes help you track items such as principal disbursed, interest earned, fees collected, penalties charged, and write-offs.

Why do GL Codes Matter for Loan Products?

Each loan product can have its own behavior. For example, a salary loan may have a different interest income code compared to a business loan. Mapping these codes keeps your accounting organized so that:

  • Disbursements go into the correct loan principal account
  • Interest repayments reflect under interest income
  • Fees and penalties post to their specific income accounts
  • Write-offs hit the right expense account

This mapping affects all customer activity: disbursement, repayment, penalty assessment, reversal, or write-off.

How GL Mapping Works

When configuring a loan product, you assign a GL code to each major transaction type. Once saved, the system automatically posts every transaction on that loan to the matching GL code.

Here is a sample configuration:

{
  "principal": {
    "gl_code": "132201",
    "description": "Loan Principal - Salary Loan"
  },
  "interest": {
    "gl_code": "410146",
    "description": "Interest Income - Salary Loan"
  },
  "fees": {
    "gl_code": "410276",
    "description": "Disbursement fee Income (1%) - Salary Loan"
  },
  "penalty": {
    "gl_code": "410327",
    "description": "Late Penalty Fee - Salary Loan"
  },
  "write_off": {
    "gl_code": "541217",
    "description": "Bad Debt WOF - Salary Loan"
  }
}

How this configuration works

  • When a customer’s loan is disbursed, the principal amount is posted under 132201.
  • When the customer repays interest, the entry is posted to 410146.
  • Any disbursement fee is posted to 410276.
  • If the customer pays a penalty, it goes to 410327.
  • If the loan is written off, the write-off amount is posted to 541217.

Step-by-step guide

1. Log in to the admin console.
2. In the sidebar, expand “Product management” and select “Loan Products“.

Admin console sidebar with numbered steps: 1) Product management boxed in red, 2) Loan Products submenu item boxed in red

3. Create a loan product, or open an existing one from the list.

Loan Products list with a product card boxed in red
Loan product page with the Product details tab boxed in red

4. Click the “Product settings” tab.

Loan product page with the Product settings tab boxed in red

5. Search for “GL” to locate the “GL Mappings and Codes” setting, then click on it to expand it for editing.

Product settings search filtered to GL, with the GL Mappings and Codes setting boxed in red

6. Paste your configuration into the “Value” field, then click “Save” to apply the changes to the loan product.

GL Mappings and Codes setting expanded for editing, with the Value JSON field and Save button boxed in red

To get the GL mapping for all the transactions on a loan, call the data/loans/transactions endpoint through the Developer APIs and review the data object. You’ll find this mapped under the meta parameter.

{
  "success": true,
  "data": [
    {
      "loan_id": 411874,
      "loan_schedule_id": 3055516,
      "loan_transaction_id": 6788291,
      "transaction_id": 43265332,
      "transaction_date": "2025-12-10T18:56:55.000Z",
      "reference": "PCSR6kD5ht6Gfte",
      "description": "Loan repayment for loan #411874 due on 2025-12-16",
      "source": "wallet",
      "currency": null,
      "transaction_amount": 10,
      "loan_transaction_status": "success",
      "amount": 10,
      "principal_paid": 5,
      "interest_paid": 5,
      "penalty_paid": 0,
      "due_date": "2025-12-17T00:00:00.000Z",
      "loan_schedule_status": "partial",
      "created_on": "2025-12-10T18:56:59.000Z",
      "product_id": 25200,
      "product_name": "salary loan",
      "meta": "{\"principal\":{\"gl_code\":\"132201\",\"description\":\"Loan Principal - Salary Loan\"},\"interest\":{\"gl_code\":\"410146\",\"description\":\"Interest Income - Salary Loan\"},\"fees\":{\"gl_code\":\"410276\",\"description\":\"Disbursement fee Income (1%) - Salary Loan\"},\"penalty\":{\"gl_code\":\"410327\",\"description\":\"Late Penalty Fee - Salary Loan\"},\"write_off\":{\"gl_code\":\"541217\",\"description\":\"Bad Debt WOF - Salary Loan\"}}"
    }
  ]
}

Was this page helpful?