> ## Documentation Index
> Fetch the complete documentation index at: https://help.agatabo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Écritures Comptables Manuelles

> Créer des ajustements comptables, corrections et transactions spéciales avec les écritures comptables manuelles

## Que sont les Écritures Comptables Manuelles ?

Les écritures comptables manuelles sont des transactions comptables créées directement par les utilisateurs disposant de l'autorisation `ledger:write`, au lieu d'être générées automatiquement par les opérations standard (dépôts, prêts, dépenses, dividendes). Elles servent aux ajustements, corrections, charges à payer, produits à recevoir et transactions spéciales.

<Warning>
  **À utiliser avec parcimonie** : La plupart des transactions doivent être enregistrées via les opérations normales d'Agatabo (dépôts, prêts, dépenses, dividendes). Les écritures manuelles sont réservées aux situations exceptionnelles qui exigent une intervention comptable directe.
</Warning>

***

## Quand Utiliser les Écritures Manuelles

**Cas d'utilisation valides :**

**Ajustements Comptables :**

* **Amortissement** : Amortissement mensuel des immobilisations
* **Charges/produits à recevoir** : Enregistrer un revenu gagné ou une dépense engagée mais pas encore payé(e)
* **Produits/dépenses constatés d'avance** : Dépenses prépayées ou revenus non encore gagnés
* **Passages en pertes** : Créances douteuses, cessions d'actifs
* **Reclassements** : Corriger des transactions mal classées

**Corrections :**

* **Correction d'erreurs** : Corriger des transactions publiées incorrectement
* **Ajustements de soldes** : Rapprocher des écarts

**Soldes d'Ouverture :**

* **Configuration initiale** : Enregistrer les soldes de départ lors d'une migration vers Agatabo
* **Initialisation des comptes** : Créer des comptes avec des soldes historiques

**Transactions Spéciales :**

* **Événements ponctuels** : Transactions sans fonctionnalité dédiée dans Agatabo
* **Allocations complexes** : Répartitions sur plusieurs comptes

**N'utilisez PAS les écritures manuelles pour :**

* ❌ Dépôts des membres (utilisez la fonctionnalité Dépôts)
* ❌ Décaissements ou paiements de prêts (utilisez la fonctionnalité Prêts)
* ❌ Dépenses opérationnelles (utilisez la fonctionnalité Dépenses)
* ❌ Distributions de dividendes (utilisez la fonctionnalité Dividendes)
* ❌ Allocations de réserves (utilisez la fonctionnalité Réserves)

***

## Point d'Accès API

**Créer une écriture comptable manuelle :**

```http theme={null}
POST /ledger-accounts/manual-journal
Headers:
  x-organization-id: {organizationId}
  x-idempotency-key: {unique-key}
  Content-Type: application/json
```

**Corps de la requête :**

```typescript theme={null}
{
  description?: string;           // Max 2048 caractères, explique l'objectif
  transactionDate?: string;       // Date ISO (YYYY-MM-DD), par défaut aujourd'hui dans le fuseau horaire de l'organisation
  documents?: DocumentItem[];     // Documents justificatifs
  lines: ManualJournalLineDto[];  // Lignes d'écriture comptable (débits et crédits)
  skipNegativeBalanceCheck?: boolean; // Ignore la validation de solde négatif
}
```

**Structure ManualJournalLineDto :**

```typescript theme={null}
{
  ledgerAccountId: string;  // UUID du compte du grand livre
  side: 'DEBIT' | 'CREDIT'; // Côté de la ligne
  amount: number;           // Montant (max 2 décimales, minimum 0.01)
}
```

**Réponse :**

```json theme={null}
{
  "message": "Manual journal entry posted successfully",
  "data": {
    "id": "je-abc123",
    "kind": "MANUAL_JOURNAL",
    "transactionDate": "2026-06-12",
    "status": "POSTED",
    "lines": [
      {
        "id": "line-1",
        "side": "DEBIT",
        "amount": 50000,
        "ledgerAccount": {
          "id": "acc-123",
          "name": "Operating Expense",
          "role": "OPERATING_EXPENSE",
          "type": "EXPENSE"
        }
      },
      {
        "id": "line-2",
        "side": "CREDIT",
        "amount": 50000,
        "ledgerAccount": {
          "id": "acc-456",
          "name": "Cash",
          "role": "CASH",
          "type": "ASSET"
        }
      }
    ]
  }
}
```

***

## Prérequis

<Note>
  **Exigences :**

  **Autorisations :**

  * Autorisation `ledger:write` (généralement Comptable ou Administrateur)

  **Connaissances :**

  * Compréhension de la comptabilité en partie double
  * Connaissance des règles de débit et de crédit
  * Familiarité avec le plan comptable de l'organisation

  **Documentation :**

  * Approbation de l'ajustement (si requise par la politique interne)
  * Documents justificatifs (reçus, mémos, rapports de rapprochement)
  * Explication claire de l'objectif

  **Technique :**

  * La date de transaction doit se trouver dans une période comptable ouverte
  * Clé d'idempotence pour chaque requête (empêche les doublons)
</Note>

***

## Règles de Validation

**Champs obligatoires :**

* **En-tête x-idempotency-key** : Empêche les écritures en double
* **lines** : Au moins une ligne d'écriture (généralement 2+ pour une écriture équilibrée)
* **ledgerAccountId** : UUID valide pour chaque ligne
* **side** : Doit être "DEBIT" ou "CREDIT"
* **amount** : Doit être ≥ 0.01 avec maximum 2 décimales

**Exigence d'équilibre :**

* **Le total des débits doit égaler le total des crédits** : Appliqué automatiquement
* Les écritures non équilibrées sont rejetées

**Contraintes de montant :**

* **Montant minimum** : 0.01 (1 centime dans une devise fractionnaire)
* **Décimales** : Maximum 2
* **Aucun montant négatif** : Utilisez le côté opposé à la place (ex. utilisez CREDIT pour diminuer un actif, pas un DEBIT négatif)

**Contraintes de compte :**

* **Les comptes doivent exister** : Tous les ledgerAccountIds doivent être valides
* **Les comptes doivent appartenir à l'organisation** : Impossible d'utiliser les comptes d'autres organisations
* **Les comptes doivent être actifs** : Les comptes inactifs ne peuvent pas être utilisés
* **Les comptes doivent être accessibles** : L'utilisateur doit avoir l'autorisation de publier sur ces comptes

**Contraintes de date :**

* **Date de transaction** : Doit être au format ISO (YYYY-MM-DD)
* **Période ouverte uniquement** : Impossible de publier dans des périodes comptables clôturées
* **Pas de dates futures** : La date ne peut pas être postérieure à aujourd'hui (sauf configuration contraire)

**Idempotence :**

* **L'en-tête x-idempotency-key est obligatoire** : La requête échoue sans lui
* **La même clé retourne l'écriture existante** : Les tentatives peuvent être répétées sans risque
* **Unique par organisation** : La même clé peut exister dans différentes organisations

***

## Créer une Écriture Comptable Manuelle

### Avec l'API

**Exemple 1 : Enregistrer une dépense d'amortissement**

```http theme={null}
POST /ledger-accounts/manual-journal
Headers:
  x-organization-id: org-123
  x-idempotency-key: depreciation-jun-2026
  Content-Type: application/json

Body:
{
  "description": "June 2026 depreciation - computers and furniture",
  "transactionDate": "2026-06-30",
  "lines": [
    {
      "ledgerAccountId": "acc-depreciation-expense",
      "side": "DEBIT",
      "amount": 50000
    },
    {
      "ledgerAccountId": "acc-accumulated-depreciation",
      "side": "CREDIT",
      "amount": 50000
    }
  ]
}
```

**Exemple 2 : Corriger une erreur publiée**

Un dépôt de membre a été crédité par erreur à John au lieu de Jane.

```http theme={null}
POST /ledger-accounts/manual-journal
Headers:
  x-organization-id: org-123
  x-idempotency-key: correction-john-to-jane-20260612
  Content-Type: application/json

Body:
{
  "description": "Correction - June 12 deposit was for Jane (orgUser-456), not John (orgUser-123). Original entry: je-xyz789",
  "transactionDate": "2026-06-12",
  "documents": [
    {
      "fileId": "doc-123",
      "fileName": "correction-memo.pdf",
      "documentType": "MEMO"
    }
  ],
  "lines": [
    {
      "ledgerAccountId": "acc-john-savings",
      "side": "DEBIT",
      "amount": 100000
    },
    {
      "ledgerAccountId": "acc-jane-savings",
      "side": "CREDIT",
      "amount": 100000
    }
  ]
}
```

**Exemple 3 : Enregistrer des intérêts courus**

```http theme={null}
POST /ledger-accounts/manual-journal
Headers:
  x-organization-id: org-123
  x-idempotency-key: accrued-interest-jun-2026
  Content-Type: application/json

Body:
{
  "description": "Accrued interest on bank savings account - June 2026",
  "transactionDate": "2026-06-30",
  "lines": [
    {
      "ledgerAccountId": "acc-interest-receivable",
      "side": "DEBIT",
      "amount": 25000
    },
    {
      "ledgerAccountId": "acc-interest-income",
      "side": "CREDIT",
      "amount": 25000
    }
  ]
}
```

**Exemple 4 : Soldes d'ouverture**

```http theme={null}
POST /ledger-accounts/manual-journal
Headers:
  x-organization-id: org-123
  x-idempotency-key: opening-balances-20260101
  Content-Type: application/json

Body:
{
  "description": "Opening balances as of January 1, 2026",
  "transactionDate": "2026-01-01",
  "lines": [
    {
      "ledgerAccountId": "acc-cash",
      "side": "DEBIT",
      "amount": 5000000
    },
    {
      "ledgerAccountId": "acc-loans-receivable",
      "side": "DEBIT",
      "amount": 10000000
    },
    {
      "ledgerAccountId": "acc-member-savings",
      "side": "CREDIT",
      "amount": 12000000
    },
    {
      "ledgerAccountId": "acc-retained-earnings",
      "side": "CREDIT",
      "amount": 3000000
    }
  ]
}
```

***

## Structure de l'Écriture Comptable

**Écriture comptable créée :**

```typescript theme={null}
{
  id: string;                          // ID généré de l'écriture comptable
  kind: 'MANUAL_JOURNAL';              // Toujours MANUAL_JOURNAL
  status: 'POSTED';                    // Toujours POSTED (pas d'état brouillon)
  transactionDate: Date;               // Date effective de la transaction
  title: 'Manual Entry';               // Toujours "Manual Entry" (non personnalisable)
  description: string | null;          // Description fournie par l'utilisateur
  idempotencyKey: string;              // Clé d'idempotence depuis l'en-tête
  createdBy: string;                   // organizationUserId du créateur
  createdAt: Date;                     // Horodatage de création
  organizationId: string;              // ID de l'organisation
  lines: JournalLine[];                // Lignes de débit et de crédit
  documents: DocumentItem[] | null;    // Documents justificatifs
}
```

**Remarque** : Les écritures comptables manuelles sont **toujours POSTED** immédiatement. Il n'y a pas d'état brouillon. Une fois créées, elles sont permanentes et ne peuvent pas être modifiées ou supprimées. Pour corriger, créez une écriture d'annulation.

***

## Exemples Courants d'Écritures Manuelles

### 1. Amortissement Mensuel

**Objectif** : Enregistrer la dépense d'amortissement mensuelle des immobilisations

```
Description : Amortissement de juin 2026 - ordinateurs et mobilier

DÉBIT :  Dépense d'amortissement       50 000 RWF (la dépense augmente)
CRÉDIT : Amortissement cumulé          50 000 RWF (le compte de contre-actif augmente)
```

**Effet** : La dépense réduit le résultat net, l'amortissement cumulé réduit la valeur des immobilisations.

***

### 2. Corriger une Erreur Publiée

**Objectif** : Un dépôt de membre a été enregistré sur le mauvais membre

**Écriture originale (incorrecte) :**

```
DÉBIT :  Caisse              100 000 RWF
CRÉDIT : Épargne de John     100 000 RWF
```

**Écriture de correction :**

```
Description : Correction - le dépôt était en réalité pour Jane, pas John. Réf. : je-original-123

DÉBIT :  Épargne de John     100 000 RWF (réduit le solde de John)
CRÉDIT : Épargne de Jane     100 000 RWF (augmente le solde de Jane)
```

**Effet** : La caisse ne change pas, le solde de John diminue, le solde de Jane augmente.

***

### 3. Revenu d'Intérêt Couru

**Objectif** : Enregistrer un intérêt gagné mais pas encore reçu

```
Description : Intérêt couru sur compte d'épargne bancaire - juin 2026

DÉBIT :  Intérêts à recevoir   25 000 RWF (l'actif augmente)
CRÉDIT : Revenu d'intérêt      25 000 RWF (le revenu augmente)
```

**Effet** : Reconnaît le revenu gagné et crée une créance jusqu'à la réception de l'argent.

***

### 4. Soldes d'Ouverture

**Objectif** : Enregistrer les soldes initiaux au démarrage d'Agatabo

```
Description : Soldes d'ouverture au 1er janvier 2026

DÉBIT :  Caisse                5 000 000 RWF
DÉBIT :  Prêts à Recevoir     10 000 000 RWF
CRÉDIT : Épargne Membres      12 000 000 RWF
CRÉDIT : Résultats Reportés    3 000 000 RWF

Total : 15 000 000 = 15 000 000 ✓ Équilibré
```

**Effet** : Initialise le système comptable avec les soldes de départ.

***

### 5. Passer une Créance Douteuse en Perte

**Objectif** : Passer en perte un prêt irrécouvrable

```
Description : Passage en perte du prêt loan-123 comme irrécouvrable - membre introuvable

DÉBIT :  Dépense de créance douteuse   500 000 RWF (la dépense augmente)
CRÉDIT : Prêt à Recevoir               500 000 RWF (l'actif diminue)
```

**Effet** : Retire le prêt irrécouvrable des actifs et enregistre une dépense.

***

### 6. Dépense Prépayée

**Objectif** : Enregistrer le paiement d'un service futur (ex. assurance pour 12 mois)

```
Description : Paiement d'une prime d'assurance de 12 mois

DÉBIT :  Dépenses prépayées   600 000 RWF (l'actif augmente)
CRÉDIT : Caisse               600 000 RWF (l'actif diminue)
```

**Effet** : Échange de la caisse contre un actif prépayé (à amortir chaque mois sur 12 mois).

***

### 7. Reclasser une Dépense

**Objectif** : Déplacer une dépense d'une catégorie vers une autre

```
Description : Reclasser des charges bancaires enregistrées par erreur comme dépense opérationnelle

DÉBIT :  Dépense de charges bancaires  30 000 RWF (catégorie correcte)
CRÉDIT : Dépense opérationnelle        30 000 RWF (catégorie incorrecte)
```

**Effet** : Aucun changement du total des dépenses, mais meilleure catégorisation des dépenses.

***

## Bonnes Pratiques

<Note>
  **Directives pour les écritures comptables manuelles :**

  **Avant de Créer :**

  * ✅ Vérifiez que la transaction ne peut pas être enregistrée via les fonctionnalités standard
  * ✅ Obtenez l'approbation du superviseur ou du comptable (si requis par la politique)
  * ✅ Préparez les documents justificatifs
  * ✅ Rédigez d'abord l'écriture sur papier et vérifiez l'équilibre
  * ✅ Confirmez que la date de transaction est dans une période comptable ouverte
  * ✅ Générez une clé d'idempotence unique

  **Création de l'Écriture :**

  * ✅ Rédigez une description claire et détaillée (comme si vous l'expliquiez à un auditeur)
  * ✅ Référencez la transaction originale si vous corrigez une erreur
  * ✅ Joignez les documents justificatifs
  * ✅ Vérifiez soigneusement les comptes sélectionnés
  * ✅ Vérifiez les montants et les côtés (DEBIT vs CREDIT)
  * ✅ Confirmez que l'écriture est équilibrée avant publication

  **Après Publication :**

  * ✅ Examinez immédiatement l'écriture publiée
  * ✅ Conservez la clé d'idempotence pour référence future
  * ✅ Documentez la raison dans les dossiers comptables
  * ✅ Informez les parties prenantes concernées
  * ✅ Gardez des copies de tous les documents justificatifs
  * ✅ Rapportez chaque mois toutes les écritures manuelles à la direction

  **Documentation :**

  * ✅ Longueur minimale de la description : 10 caractères (recommandé : 50-200 caractères)
  * ✅ Incluez le "pourquoi", pas seulement le "quoi" (ex. "Correction - dépôt affecté au mauvais membre à cause d'une similarité de nom" et pas seulement "Correction")
  * ✅ Référencez les IDs des transactions originales lors de corrections d'erreurs
  * ✅ Utilisez un format de date cohérent (ISO : YYYY-MM-DD)
  * ✅ Joignez les mémos, rapports de rapprochement ou documents d'approbation
</Note>

***

## Restrictions et Limites

**Impossible de créer des écritures manuelles pour :**

**Périodes clôturées :**

* ❌ Date de transaction dans une période comptable clôturée
* ✅ Créez dans la période ouverte actuelle avec une description qui référence la période précédente

**Comptes invalides :**

* ❌ Comptes inexistants
* ❌ Comptes d'autres organisations
* ❌ Comptes inactifs
* ✅ Utilisez uniquement les comptes actifs de votre organisation

**Comptes gérés par le système :**

* ⚠️ Certains comptes peuvent être restreints (le système rejettera si non autorisé)
* ⚠️ Vérifiez que vous avez l'autorisation de publier sur les comptes cibles

**Écritures non équilibrées :**

* ❌ Total des débits ≠ total des crédits
* ✅ Vérifiez toujours l'équilibre avant publication

**Montants négatifs :**

* ❌ Les montants négatifs ne sont pas autorisés
* ✅ Utilisez plutôt le côté opposé (CREDIT pour diminuer un actif, pas un DEBIT négatif)

**Impossible de modifier ou supprimer :**

* ❌ Une fois publiées, les écritures manuelles sont **permanentes**
* ✅ Pour corriger, créez une écriture d'annulation ou une nouvelle écriture corrective

***

## Corriger les Écritures Manuelles

Les écritures comptables manuelles sont **permanentes** une fois publiées. Pour corriger :

### Méthode 1 : Créer une Écriture d'Annulation

Créez une écriture qui annule l'originale :

**Originale (incorrecte) :**

```
DÉBIT :  Dépense Opérationnelle  100 000 RWF
CRÉDIT : Caisse                  100 000 RWF
```

**Annulation :**

```
Description : Annulation de je-original-123 - catégorie de dépense incorrecte

DÉBIT :  Caisse                  100 000 RWF
CRÉDIT : Dépense Opérationnelle  100 000 RWF
```

Puis créez l'écriture correcte :

```
Description : Écriture correcte - devait être Dépense de charges bancaires

DÉBIT :  Dépense de charges bancaires  100 000 RWF
CRÉDIT : Caisse                        100 000 RWF
```

### Méthode 2 : Créer une Écriture Corrective

Si seule une partie de l'écriture est incorrecte, créez un ajustement :

**Originale (incorrecte) :**

```
DÉBIT :  Épargne de John  100 000 RWF
CRÉDIT : Caisse           100 000 RWF
```

**Correction (directe) :**

```
Description : Correction - devait être l'épargne de Jane, pas celle de John

DÉBIT :  Épargne de John  100 000 RWF (diminution)
CRÉDIT : Épargne de Jane  100 000 RWF (augmentation)
```

***

## Flux d'Approbation (Recommandé)

Bien qu'Agatabo n'impose pas de flux d'approbation, les organisations doivent établir des contrôles internes :

| Montant de l'Écriture   | Approbation Requise                      | Documentation                                     |
| ----------------------- | ---------------------------------------- | ------------------------------------------------- |
| Moins de 50 000 RWF     | Comptable uniquement                     | Description + raison                              |
| 50 000 - 200 000 RWF    | Comptable + Trésorier                    | Description + documents justificatifs             |
| 200 000 - 1 000 000 RWF | Comptable + Trésorier + Comité Financier | Description + documents + mémo d'approbation      |
| Plus de 1 000 000 RWF   | Comptable + Conseil de Direction         | Documentation complète + procès-verbal du conseil |

**Mise en oeuvre :**

* Générez la clé d'idempotence après approbation
* Incluez la référence d'approbation dans la description
* Joignez le mémo d'approbation comme document

***

## Considérations d'Audit

**Les écritures manuelles reçoivent une attention particulière des auditeurs :**

**Attentes des auditeurs :**

* ✅ Justification métier claire pour chaque écriture
* ✅ Documents justificatifs (mémos, rapprochements, approbations)
* ✅ Fréquence raisonnable (trop d'écritures manuelles indiquent des contrôles faibles)
* ✅ Autorisation et piste d'approbation appropriées
* ✅ Descriptions exactes et complètes
* ✅ Écritures équilibrées (aucune exception)

**Signaux d'alerte pour les auditeurs :**

* 🚩 Trop d'écritures manuelles (suggère des contrôles internes faibles)
* 🚩 Écritures à montants ronds sans documentation
* 🚩 Écritures manuelles proches de la fin de période
* 🚩 Descriptions vagues ("Ajustement", "Correction" sans détail)
* 🚩 Écritures manuelles qui annulent des transactions de périodes antérieures
* 🚩 Grandes écritures manuelles sans documentation d'approbation

**Bonnes pratiques pour des écritures manuelles prêtes pour l'audit :**

* ✅ Documentez la raison de l'écriture manuelle (pourquoi pas une fonctionnalité standard ?)
* ✅ Référencez les documents justificatifs (rapports de rapprochement, mémos, factures)
* ✅ Maintenez une piste d'approbation (emails, formulaires, procès-verbaux)
* ✅ Exportez chaque mois un rapport des écritures manuelles pour revue
* ✅ Conservez des copies de tous les documents justificatifs pour l'audit

***

## Erreurs Courantes et Prévention

### 1. Écriture Non Équilibrée

**Erreur** : Total des débits ≠ total des crédits

**Exemple (incorrect) :**

```
DÉBIT :  Caisse             100 000 RWF
CRÉDIT : Épargne Membre      50 000 RWF
❌ 100 000 ≠ 50 000 (non équilibré)
```

**Prévention** :

* Vérifiez toujours que le total des débits = le total des crédits avant publication
* Le système rejette automatiquement les écritures non équilibrées
* Rédigez d'abord l'écriture sur papier avec des totaux progressifs

***

### 2. Mauvais Choix de Compte

**Erreur** : Sélectionner CASH alors que vous vouliez sélectionner BANK\_ACCOUNT

**Prévention** :

* Examinez attentivement les comptes sélectionnés
* Utilisez la recherche pour trouver le bon compte
* Vérifiez le rôle et le type du compte avant publication
* Revérifiez les comptes propres à un membre (épargne, prêts)

***

### 3. Mauvais Côté (Débit vs Crédit)

**Erreur** : Enregistrer un DEBIT alors que cela devrait être un CREDIT

**Exemple (incorrect) :**

```
Pour diminuer la Caisse (actif) :
❌ DÉBIT : Caisse -50 000  (non autorisé, montants négatifs)
✅ CRÉDIT : Caisse 50 000  (correct, le crédit diminue l'actif)
```

**Prévention** :

* Revoyez les règles de partie double : [Comprendre la Partie Double](/fr/tontines/general-ledger/understanding-double-entry)
* Rappelez-vous l'aide-mémoire DEALER (Débits : Dépenses, Actifs, Pertes augmentent ; Crédits : Capitaux propres, Passifs, Revenus augmentent)
* Réfléchissez à la logique de l'écriture comptable avant publication

***

### 4. Description Peu Claire

**Erreur** : "Ajustement" ou "Correction" sans détail

**Exemple (incorrect) :**

```
❌ Description : "Ajustement"
```

**Exemple (correct) :**

```
✅ Description : "Correction - Le dépôt du 12 juin pour Jane (orgUser-456) a été crédité par erreur à John (orgUser-123). Correction par débit de John et crédit de Jane. Écriture originale : je-xyz789. Approuvé par le Trésorier le 2026-06-13."
```

**Prévention** :

* Rédigez la description comme si vous l'expliquiez à un auditeur
* Incluez quoi, pourquoi, qui, quand, et une référence à la transaction originale
* Utilisez 50-200 caractères minimum pour une explication utile

***

### 5. Publication dans une Période Clôturée

**Erreur** : Essayer de publier une écriture avec une date de transaction dans une période clôturée

**Message d'erreur** :

```
"Cannot post transactions dated on or before the last closed period end (2026-05-31).
Use a date after this, or post an adjustment/reversal in the current open period."
```

**Prévention** :

* Vérifiez le statut de la période comptable avant de créer l'écriture
* Utilisez une date de transaction de la période actuelle pour les corrections de périodes antérieures
* Référencez la période antérieure dans la description

***

### 6. Clé d'Idempotence Manquante

**Erreur** : Ne pas inclure l'en-tête x-idempotency-key

**Message d'erreur** :

```
"x-idempotency-key header is required"
```

**Prévention** :

* Incluez toujours l'en-tête x-idempotency-key
* Générez une clé unique pour chaque écriture (ex. depreciation-jun-2026, correction-{timestamp})
* Conservez la clé d'idempotence pour référence future

***

## Idempotence

Les écritures comptables manuelles **exigent** une clé d'idempotence pour empêcher les doublons.

**Fonctionnement :**

* Fournissez l'en-tête `x-idempotency-key` avec une valeur unique
* Si la même clé est utilisée deux fois dans la même organisation, la deuxième requête retourne l'écriture existante
* Vous pouvez réessayer les requêtes échouées sans créer de doublons
* Différentes organisations peuvent utiliser la même clé (portée à l'organisation)

**Format de clé d'idempotence (recommandé) :**

```
{entry-type}-{identifier}-{date}

Exemples :
depreciation-jun-2026
correction-john-to-jane-20260612
opening-balances-20260101
accrual-interest-jun-2026
writeoff-loan-abc123
```

**Exemple d'utilisation :**

```http theme={null}
POST /ledger-accounts/manual-journal
Headers:
  x-organization-id: org-123
  x-idempotency-key: depreciation-jun-2026

# If network fails and request is retried with same key:
# → Returns existing entry created by first request
# → No duplicate entry created
```

***

## Sujets Connexes

<CardGroup cols={2}>
  <Card title="Comprendre la Partie Double" icon="book-open" href="/fr/tontines/general-ledger/understanding-double-entry">
    Apprendre les débits, crédits et principes comptables
  </Card>

  <Card title="Comptes du Grand Livre" icon="sitemap" href="/fr/tontines/general-ledger/ledger-accounts">
    Voir les comptes disponibles et le plan comptable
  </Card>

  <Card title="Rôles du Grand Livre" icon="list" href="/fr/tontines/general-ledger/ledger-roles">
    Comprendre les rôles et types de comptes
  </Card>

  <Card title="Consultation des Écritures Comptables" icon="book" href="/fr/tontines/general-ledger/viewing-journal-entries">
    Examiner les écritures publiées et la piste d'audit
  </Card>

  <Card title="Périodes Comptables" icon="calendar" href="/fr/tontines/concepts/accounting-periods">
    Comprendre la clôture de période et les contraintes
  </Card>

  <Card title="Annulation d'Écritures" icon="arrow-rotate-left" href="/fr/tontines/general-ledger/viewing-journal-entries#reversing-journal-entries">
    Apprendre comment annuler les écritures publiées
  </Card>
</CardGroup>
