API guides · 29.09.2026

OHADA chart of accounts (revised SYSCOHADA) as an API

All 1,402 accounts of the revised SYSCOHADA and 1,142 of the SYCEBNL, with official labels, hierarchy and financial statement line, in an API for software vendors across the 17 OHADA countries.

The revised SYSCOHADA has been mandatory for every company in the 17 OHADA member states since 1 January 2018. Yet anyone building accounting, invoicing or payroll software for West and Central Africa cannot find the chart of accounts in a usable format: the official text is a scanned, 1,246-page Official Journal. So every vendor retypes the list by hand, mistakes included.

We took the chart of accounts directly from the OHADA Official Journal (special issue of 15 February 2017, pages 211 to 268), account by account, and linked every account to its parent. We did the same for the SYCEBNL, the accounting system for associations, NGOs, foundations and development projects, in force since 1 January 2024.

What the API contains

Data Content
Accounts 1,402 revised SYSCOHADA accounts, 1,142 SYCEBNL accounts, classes 1 to 9
Hierarchy Each account linked to its parent: 6011 → 601 → 60 → class 6
Financial statements Balance sheet line (AD to DZ) or income statement line (TA to XI) of each account
Member states The 17 countries, with currency (XOF, XAF, GNF, KMF, CDF) and monetary zone

Labels are the official French ones, with an English translation. The few numbering misprints in the Official Journal (such as a "907" printed twice) are corrected and documented.

Reading an account

curl -H "Authorization: Token YOUR_KEY" \
  "https://opendata.altius-group.ch/economics/ohada/api/v1/accounts/by-code/syscohada/601/"

The answer gives the label ("ACHATS DE MARCHANDISES", purchases of goods), the class, the parent accounts (6, then 60), the sub-accounts (6011 to 6019) and the income statement line the account belongs to: RA – Purchases of goods.

Building the chart of accounts of your software

import requests

API = "https://opendata.altius-group.ch/economics/ohada/api/v1/accounts/"
HEADERS = {"Authorization": "Token YOUR_KEY"}

accounts, url = [], API
params = {"framework": "syscohada"}
while url:
    r = requests.get(url, headers=HEADERS, params=params).json()
    accounts += r["results"]
    url, params = r.get("next"), None

print(len(accounts), "accounts")  # 1402

The class_number, level, parent and code_prefix filters load only part of the chart, for example third-party accounts (class_number=4) or the sub-accounts of 411 (parent=411).

From the general ledger to the financial statements

The Official Journal's correspondence table says which statement line each account goes into. The API exposes it line by line:

curl -H "Authorization: Token YOUR_KEY" \
  "https://opendata.altius-group.ch/economics/ohada/api/v1/statement-lines/?framework=syscohada&statement=income"

Each line lists its accounts, exclusions ("24 except 245") and accounts that are only partly included. Summing the trial balance per line produces the income statement. For balance sheet liabilities, the account column is cut off in the official scan: those lines are flagged is_official: false.

Who it is for

  • Accounting software and ERP vendors: an up-to-date chart of accounts, without retyping, for every country in the zone.
  • Accounting firms: check a client's chart of accounts or prepare a migration to the revised SYSCOHADA.
  • Banks, fintechs and lending platforms: read SME financial statements consistently from one country to the next.
  • Trainers and schools: an online reference, account by account.

The whole chart can also be browsed for free on the site, account by account.

Revised SYSCOHADA chart of accounts · Financial statement lines · Plans and pricing

Read next

Buy us a coffee Explore the data