---
title: API REST – Comptabilité analytique
description: "L'API permet de consulter les affectations comptabilisées, les états analytiques et leur rapprochement avec la comptabilité générale. Elle permet aussi de configurer les axes, de corriger une ligne enregistrée et de reclasser une part après clôture. Les opérations ci-dessous utilisent…"
url: "https://www.kafinea.com/fr/documentation/api/api-rest-comptabilite-analytique/"
updated: "2026-11-04"
category: Intégrations / API
---

# API REST – Comptabilité analytique

L'API permet de consulter les affectations comptabilisées, les états analytiques et leur rapprochement avec la comptabilité générale. Elle permet aussi de configurer les axes, de corriger une ligne enregistrée et de reclasser une part après clôture.

Les opérations ci-dessous utilisent la session de l'[API REST](https://www.kafinea.com/fr/documentation/api/api-rest-introduction/). Les droits de l'utilisateur connecté s'appliquent à la société, à la pièce, aux axes et aux valeurs demandés.

## Consulter les chiffres

| Opération GET | Résultat |
| --- | --- |
| `analytic_entry` | Parts enregistrées d'une écriture comptable, avec leurs axes, valeurs et origine. Paramètre : `id`, identifiant Webservice de l'écriture. |
| `analytic_axis_totals` | Débit, crédit et net par valeur d'un axe. Paramètres : `organizationId`, `dateFrom`, `dateTo`, `axisId`, `accountPrefix` facultatif. |
| `analytic_cross_axis` | Tableau croisé de deux axes, avec « Non ventilé », totaux et indicateurs de rapprochement. Paramètres : société, dates, `rowAxisId`, `columnAxisId`. |
| `analytic_profit_and_loss` | Compte de résultat analytique et comparaison au total comptable. Paramètres : société, dates, `axisId`, `analyticValueId` facultatif. |
| `analytic_general_ledger` | Lignes du grand livre filtrées par axe, valeur, compte et éventuellement un second axe. Paramètres : société, dates, `axisId`, `analyticValueId`, `accountPrefix`, `secondAxisId`, `secondValueId`. |
| `analytic_key_distribution` | Parts d'une clé fixe et valeurs disponibles. Paramètre : `id`, identifiant Webservice de la clé. |

Le compte de résultat, le grand livre, le tableau croisé et le tableau de bord acceptent `allocationView` : `after` (par défaut) inclut les répartitions de clôture validées, `before` donne les montants avant répartition.

Dans les opérations de rapport, les identifiants de société et d'axes sont les identifiants numériques des enregistrements ; les identifiants de pièce et de clé utilisent le format Webservice `Nx123`. Les dates sont au format `AAAA-MM-JJ`.

Les montants sont exprimés dans la devise comptable de la société. « Non ventilé » est inclus dans les totaux analytiques ; un écart de couverture indique séparément les écritures générales qui n'ont pas encore de parts enregistrées. Pour deux sociétés de devises comptables différentes, demandez deux rapports distincts.

## Saisir ou corriger une affectation par ligne

Utilisez l'opération **POST** `update_analytic_line_choice` pour changer un axe sur une ligne déjà enregistrée. L'opération met à jour le choix, régénère les écritures et renvoie l'affectation enregistrée. Elle exige une période comptable ouverte et le droit de modifier la pièce ainsi que l'affectation analytique.

| Paramètre | Valeur |
| --- | --- |
| `sourceId` | Identifiant Webservice de la facture fournisseur ou de la saisie manuelle. |
| `lineKey` | Clé stable de la ligne, renvoyée avec la ligne enregistrée. |
| `axisId` | Identifiant Webservice de l'axe. |
| `mode` | `automatic`, `value`, `key` ou `unallocated`. |
| `targetId` | Identifiant Webservice de la valeur pour `value`, ou de la clé de répartition pour `key` ; chaîne vide dans les autres cas. |

```bash
curl -X POST 'https://apps.kafinea.com/YourKafinea/webservice.php' 
  -d 'operation=update_analytic_line_choice' 
  -d 'sessionName=YOUR_SESSION_ID' 
  -d 'sourceId=81x123' 
  -d 'lineKey=00000000-0000-4000-8000-000000000001' 
  -d 'axisId=82x456' 
  -d 'mode=value' 
  -d 'targetId=83x789'
```

La clé de ligne doit provenir de la réponse de l'API pour la pièce concernée. Sur une facture fournisseur, elle figure avec les lignes du document ; sur une saisie manuelle, avec ses lignes comptables. Le numéro d'ordre de la ligne et le numéro de compte ne remplacent pas cette clé.

Pour revenir aux règles de la société, envoyez `mode=automatic` et un `targetId` vide. Pour garder le montant dans l'analyse sans valeur sur cet axe, envoyez `mode=unallocated`. Une clé fixe peut partager la même ligne entre plusieurs valeurs ; les parts sont calculées à partir du montant réellement comptabilisé.

## Reclasser après clôture

Pour une période close, l'opération **POST** `reclassify_analytic_allocation` enregistre une correction datée du jour dans une période ouverte. Elle crée deux mouvements analytiques de montants opposés : l'affectation de la période close et l'écriture de comptabilité générale restent inchangées.

| Paramètre | Valeur |
| --- | --- |
| `allocationId` | Identifiant Webservice de la part, fourni dans `analytic_entry` sous `portions[].id`. |
| `axisId` | Identifiant Webservice de l'axe à corriger. |
| `targetValueId` | Identifiant Webservice de la nouvelle valeur ; chaîne vide pour « Non ventilé ». |
| `reason` | Motif explicite de 5 à 255 caractères. |

L'opération exige une période ouverte à la date du jour, des droits comptables complets et la même devise comptable pour les deux périodes. Une part déjà reclassée demande une revue comptable avant une autre correction. Le grand livre analytique présente les deux mouvements à leur date ; les tableaux croisés et le compte de résultat reprennent leur effet net.

## Répartir les montants communs à la clôture

Les cycles, clés et indicateurs se créent et se modifient comme des fiches ordinaires. Les opérations suivantes lisent, simulent et valident les répartitions. Les identifiants s'écrivent au format Webservice ; `unallocated` désigne les montants sans valeur sur l'axe. Les montants sont des chaînes décimales dans la devise comptable de la société.

| Opération | Méthode | Rôle | Paramètres |
| --- | --- | --- | --- |
| `analytic_closing_cycles` | GET | Cycles de la société dans leur ordre, avec leur clé, leurs valeurs réparties et ce qui reste à corriger. | `organizationId` |
| `analytic_closing_simulation` | POST | Simulation d'une répartition, sans écriture : montant à répartir, déjà réparti dans l'exercice, montant déplacé, destinataires avec base, pourcentage et montant, avertissements. `postable` indique si la validation passera. | `organizationId`, `dateFrom`, `dateTo`, `cycleIdsJson` facultatif (liste JSON), `replaceBatchId` facultatif |
| `post_analytic_closing` | POST | Valide la répartition simulée avec les mêmes paramètres, datée de `dateTo`. | mêmes paramètres |
| `analytic_closing_history` | GET | Répartitions de la société, de la plus récente à la plus ancienne, et état « à jour » de la dernière. | `organizationId`, `limit` facultatif |
| `analytic_closing_batch` | GET | Détail d'une répartition par cycle. | `batchId` |
| `cancel_analytic_closing` | POST | Annule la dernière répartition de la société, tant que sa période est ouverte. | `batchId` |
| `analytic_indicator_quantities` | GET | Quantités d'un indicateur pour une société et une année, par mois, trimestre ou année. | `indicatorId`, `organizationId`, `year`, `granularity` facultatif |
| `update_analytic_indicator_quantities` | POST | Enregistre des quantités ; une quantité vide efface la période. | `indicatorId`, `organizationId`, `quantitiesJson` : liste de `{value_id, start, end, quantity}` |
| `update_analytic_cycle_senders` | POST | Remplace les valeurs dont un cycle répartit les montants. | `id`, `valueIdsJson` : liste d'identifiants de valeurs et `unallocated` |

Une validation est refusée, avec un message explicite, si un cycle présente une erreur, si rien de nouveau n'est à répartir, si la période comptable est close ou si le cycle est déjà réparti à cette date. `replaceBatchId` relance la dernière répartition en la remplaçant. Chaque avertissement porte un `code` : `indicator_partial` (des quantités ne couvrent pas toute la période) ou `senders_excluded` (des valeurs réparties par le cycle sont écartées des destinataires). Le détail d'une répartition conserve, pour chaque cycle, la clé et sa description, la période lue, les avertissements et, pour chaque destinataire, sa base, son pourcentage et son montant au moment de la validation. Le fonctionnement complet est décrit dans [Répartir les montants communs à la clôture](https://www.kafinea.com/fr/documentation/comptabilite-analytique/repartitions-de-cloture/).

## Configurer les axes et les clés

Les axes, valeurs, correspondances, règles et clés sont des paramètres accessibles par les opérations habituelles de [lecture et de saisie](https://www.kafinea.com/fr/documentation/api/api-rest-operations-crud/), selon les droits de l'utilisateur. Vérifiez les champs disponibles et la portée de la société avant d'écrire. L'opération `update_analytic_key_distribution` remplace toutes les parts d'une clé fixe en une fois ; le total doit être exactement de 100 %.

Le serveur MCP et l'Assistant Kafinea donnent accès à ces mêmes états, aux corrections par ligne, au reclassement daté et aux répartitions de clôture, sous leurs contrôles de modification des données. Une modification de paramètre ne réécrit pas les montants déjà comptabilisés.

## Références associées

- [Comprendre la comptabilité analytique](https://www.kafinea.com/fr/documentation/comptabilite-analytique/comprendre-la-comptabilite-analytique/)
- [Affecter les lignes d’une facture fournisseur](https://www.kafinea.com/fr/documentation/comptabilite-analytique/affecter-les-factures-fournisseurs/)
- [Affecter une saisie manuelle](https://www.kafinea.com/fr/documentation/comptabilite-analytique/affecter-les-saisies-manuelles/)
- [Corriger une affectation après clôture](https://www.kafinea.com/fr/documentation/comptabilite-analytique/corriger-une-affectation-analytique-apres-cloture/)
- [Répartir les montants communs à la clôture](https://www.kafinea.com/fr/documentation/comptabilite-analytique/repartitions-de-cloture/)
