Lire le grand livre
Cas d'usage pas à pas pour lire la balance générale puis le grand livre d'un compte par l'API NovaFisko, avec le solde progressif.
Ce guide récupère la balance d'un exercice, puis le détail des mouvements d'un compte avec son solde progressif. Il s'adresse aux outils de reporting, de consolidation et de tableaux de bord.
Prérequis : un jeton avec la capacité read et le public_token du dossier.
Étape 1 : trouver l'exercice
Les états sont toujours calculés pour un exercice, désigné par son id.
curl https://api.novafisko.com/v1/companies/k3Jd9fPq2LmX/fiscal-years \
-H "Authorization: Bearer $NOVAFISKO_TOKEN"
[
{
"id": 6,
"code": "2025",
"starts_on": "2025-01-01T00:00:00.000000Z",
"ends_on": "2025-12-31T00:00:00.000000Z",
"is_closed": true,
"closed_at": "2026-03-14T10:22:05.000000Z",
"periods": []
},
{
"id": 7,
"code": "2026",
"starts_on": "2026-01-01T00:00:00.000000Z",
"ends_on": "2026-12-31T00:00:00.000000Z",
"is_closed": false,
"closed_at": null,
"periods": [
{"id": 85, "number": 1, "label": "01/2026", "starts_on": "2026-01-01T00:00:00.000000Z", "ends_on": "2026-01-31T00:00:00.000000Z", "is_locked": true}
]
}
]
Étape 2 : lire la balance générale
La balance donne, pour chaque compte mouvementé, les totaux débit et crédit et le solde. C'est le point d'entrée naturel : elle indique quels comptes méritent d'être détaillés.
curl "https://api.novafisko.com/v1/companies/k3Jd9fPq2LmX/fiscal-years/7/trial-balance?from=2026-01-01&to=2026-09-30" \
-H "Authorization: Bearer $NOVAFISKO_TOKEN"
| Paramètre | Défaut | Description |
|---|---|---|
from |
début de l'exercice | Date de début incluse |
to |
fin de l'exercice | Date de fin incluse |
include_empty |
false |
true pour inclure les comptes dont les totaux sont nuls |
{
"fiscal_year": "2026",
"from": "2026-01-01",
"to": "2026-09-30",
"lines": [
{
"account_id": 90,
"number": "440000",
"label": "Fournisseurs",
"type": "liability",
"debit": "48210.35",
"credit": "55120.80",
"debit_balance": "0.00",
"credit_balance": "6910.45",
"balance": "-6910.45"
},
{
"account_id": 118,
"number": "604000",
"label": "Achats de marchandises",
"type": "expense",
"debit": "31874.20",
"credit": "412.00",
"debit_balance": "31462.20",
"credit_balance": "0.00",
"balance": "31462.20"
}
],
"totals": {
"debit": "412587.14",
"credit": "412587.14",
"is_balanced": true,
"result": "18240.66"
}
}
Le champ balance est signé : positif pour un solde débiteur, négatif pour un solde créditeur. totals.result est le résultat de la période, positif pour un bénéfice et négatif pour une perte. totals.is_balanced doit toujours valoir true.
Étape 3 : lire le grand livre d'un compte
Le grand livre se lit compte par compte, avec l'account_id obtenu dans la balance ou dans GET accounts.
curl "https://api.novafisko.com/v1/companies/k3Jd9fPq2LmX/fiscal-years/7/general-ledger/118?from=2026-07-01&to=2026-09-30" \
-H "Authorization: Bearer $NOVAFISKO_TOKEN"
{
"account_id": 118,
"from": "2026-07-01",
"to": "2026-09-30",
"opening_balance": "20918.75",
"movements": [
{
"line_id": 5388,
"entry_id": 1790,
"entry_date": "2026-07-03",
"journal": "ACH",
"document": "2026/000171",
"label": "Fûts 20 L blonde",
"reference": "F-2026-0611",
"third_party": "Brasserie des Collines SA",
"debit": "980.00",
"credit": "0.00",
"balance": "21898.75",
"reconciliation_code": null
},
{
"line_id": 5521,
"entry_id": 1842,
"entry_date": "2026-09-30",
"journal": "ACH",
"document": "2026/000212",
"label": "Fûts 20 L blonde",
"reference": "F-2026-0918",
"third_party": "Brasserie des Collines SA",
"debit": "1250.00",
"credit": "0.00",
"balance": "31462.20",
"reconciliation_code": null
}
],
"totals": {
"debit": "10955.45",
"credit": "412.00",
"balance": "31462.20"
}
}
| Champ | Description |
|---|---|
opening_balance |
Solde à nouveau : mouvements de l'exercice antérieurs à from |
movements[].balance |
Solde progressif après le mouvement |
movements[].document |
Numéro de pièce au format exercice/numéro sur six chiffres |
movements[].reconciliation_code |
Code de lettrage, null si la ligne n'est pas lettrée |
totals.balance |
Solde final : opening_balance plus les débits moins les crédits |
Les mouvements sont triés par date, puis par écriture, puis par position de ligne. Cette route n'est pas paginée : limitez la période avec from et to pour les comptes très mouvementés.
Étape 4 : remonter à l'écriture
Chaque mouvement porte un entry_id. L'écriture complète, avec toutes ses lignes, se lit ainsi :
curl https://api.novafisko.com/v1/companies/k3Jd9fPq2LmX/entries/1842 \
-H "Authorization: Bearer $NOVAFISKO_TOKEN"
Exemple complet : tout le grand livre en Python
import os
import requests
BASE = "https://api.novafisko.com/v1"
COMPANY = "k3Jd9fPq2LmX"
FISCAL_YEAR = 7
session = requests.Session()
session.headers.update({
"Authorization": f"Bearer {os.environ['NOVAFISKO_TOKEN']}",
"Accept": "application/json",
})
balance = session.get(
f"{BASE}/companies/{COMPANY}/fiscal-years/{FISCAL_YEAR}/trial-balance", timeout=60
).json()
assert balance["totals"]["is_balanced"]
ledger = {}
for line in balance["lines"]:
# One call per account that actually moved during the year
ledger[line["number"]] = session.get(
f"{BASE}/companies/{COMPANY}/fiscal-years/{FISCAL_YEAR}/general-ledger/{line['account_id']}",
timeout=60,
).json()
for number, account in sorted(ledger.items()):
print(number, account["totals"]["balance"], len(account["movements"]), "movements")
Si vous avez besoin du grand livre complet en un seul fichier, utilisez l'export : GET exports/general-ledger?format=csv&fiscal_year_id=7. Il accepte account_from et account_to pour borner une plage de comptes. Voir Exporter le dossier complet.
Autres états disponibles
| Route | Contenu |
|---|---|
fiscal-years/{id}/balance-by-period |
Balance ventilée par période |
fiscal-years/{id}/financial-statements |
Bilan et compte de résultats |
journals/{id}/entries |
Livre d'un journal, avec from et to |
third-party-balance/{type} |
Balance des clients (customer) ou des fournisseurs (supplier) |
aged-balance/{type} |
Balance âgée |
fiscal-years/{id}/consistency |
Contrôles de cohérence de l'exercice |
integrity |
Contrôle d'intégrité du dossier |
Un exercice inconnu ou appartenant à un autre dossier répond 404. Il en va de même pour un compte d'un autre dossier.