Valider et contrepasser une pièce
Dans SynkriaOps, une pièce comptable passe par deux statuts distincts : BROUILLON et VALIDÉE. Comprendre cette distinction est essentiel : une fois validée, une pièce est immuable — conformément aux exigences du SYSCOHADA révisé 2019 (art. 24) et aux règles d’intégrité comptable. La seule façon de la corriger est la contrepassation.
BROUILLON vs VALIDÉE
Section intitulée « BROUILLON vs VALIDÉE »| Caractéristique | BROUILLON | VALIDÉE |
|---|---|---|
| Modification des lignes | Oui | Non |
| Suppression | Oui (si jamais validée) | Non |
| Numérotation | Temporaire (non attribuée) | Définitive — VTE-2026-000001 |
| Apparaît dans le grand-livre | Non | Oui |
| Incluse dans la balance | Non | Oui |
| Incluse dans l’export FEC | Non | Oui |
| Protégée par hash SHA-256 | Non | Oui |
Ce que déclenche la validation
Section intitulée « Ce que déclenche la validation »Lorsque vous cliquez sur Valider, SynkriaOps exécute séquentiellement trois opérations garantissant l’intégrité :
1. Numérotation séquentielle via verrou pessimiste
Section intitulée « 1. Numérotation séquentielle via verrou pessimiste »Le numéro est attribué via une transaction PostgreSQL avec SELECT … FOR UPDATE sur le compteur du journal. Aucun numéro ne peut être sauté ou dupliqué, même en cas d’accès simultanés par plusieurs utilisateurs.
Exemples de numéros générés :
- Journal VTE →
VTE-2026-000001,VTE-2026-000002, … - Journal ACH →
ACH-2026-000001,ACH-2026-000002, … - Journal OD →
OD-2026-000007, …
2. Calcul du hash SHA-256 chaîné
Section intitulée « 2. Calcul du hash SHA-256 chaîné »SynkriaOps calcule : SHA-256(contenu_pièce + hash_pièce_précédente_même_tenant). Ce chaînage garantit que toute tentative de falsification ultérieure est immédiatement détectable — la chaîne est rompue.
3. Protection par trigger PostgreSQL
Section intitulée « 3. Protection par trigger PostgreSQL »Un trigger BEFORE UPDATE / BEFORE DELETE sur la table des lignes bloque toute modification des colonnes montant, compte, date pour les pièces validées. Cette protection s’applique même à un accès direct à la base de données.
Corriger AVANT la validation (mode brouillon)
Section intitulée « Corriger AVANT la validation (mode brouillon) »Tant que la pièce est en statut BROUILLON, la correction est simple :
-
Allez dans Comptabilité → Pièces, trouvez votre brouillon.
-
Cliquez sur la pièce pour l’ouvrir en mode édition.
-
Modifiez les lignes : montants, comptes, libellés, ou ajoutez / supprimez des lignes.
-
Vérifiez que le total débit = total crédit (le bandeau rouge disparaît quand l’équilibre est atteint).
-
Cliquez Enregistrer pour conserver le brouillon, ou Valider pour finaliser.
Corriger APRÈS la validation — la contrepassation
Section intitulée « Corriger APRÈS la validation — la contrepassation »La contrepassation est une écriture miroir : elle reprend exactement les mêmes comptes et montants, en inversant débits et crédits. Les deux pièces (originale + contrepassation) coexistent dans le grand-livre et s’annulent mutuellement.
Quand contrepasser ?
Section intitulée « Quand contrepasser ? »- Facture saisie avec un mauvais montant
- Mauvais compte comptable utilisé
- Pièce passée dans le mauvais journal
- Doublon de saisie
Étapes de contrepassation
Section intitulée « Étapes de contrepassation »-
Ouvrez la pièce validée à corriger dans Comptabilité → Pièces.
-
Cliquez sur Contrepasser (bouton en bas de page ou dans le menu action).
-
Choisissez la date de contrepassation :
- Même date que la pièce originale (recommandé si l’erreur est du même exercice)
- Date postérieure (si l’exercice d’origine est clos)
-
SynkriaOps crée automatiquement une nouvelle pièce en brouillon avec les signes inversés. Vérifiez les lignes.
-
Cliquez Valider pour enregistrer définitivement la contrepassation. Le numéro est attribué (
OD-2026-000012). -
Si nécessaire, créez ensuite la pièce correcte avec les bonnes informations.
Exemple concret — annuler une facture vente
Section intitulée « Exemple concret — annuler une facture vente »Situation : vous avez saisi et validé une facture de vente pour 1 500 000 XAF HT + TVA 18 % (270 000 XAF) = 1 770 000 XAF TTC, mais le client a refusé la prestation.
Pièce originale validée (VTE-2026-000018) :
| Compte | Libellé | Débit | Crédit |
|---|---|---|---|
| 411025 | Client SOTRANB | 1 770 000 | |
| 701000 | Ventes — Prestations | 1 500 000 | |
| 44310000 | TVA collectée 18 % | 270 000 |
Contrepassation créée (OD-2026-000009) :
| Compte | Libellé | Débit | Crédit |
|---|---|---|---|
| 701000 | Ventes — Prestations (annulation) | 1 500 000 | |
| 44310000 | TVA collectée 18 % (annulation) | 270 000 | |
| 411025 | Client SOTRANB | 1 770 000 |
Après contrepassation, le solde net du compte 411025 pour cette opération = 0. Le client ne doit plus rien.
Tableau des erreurs courantes
Section intitulée « Tableau des erreurs courantes »| Erreur | Cause | Solution |
|---|---|---|
| ”Pièce validée — modification impossible” | Tentative d’édition d’une pièce validée | Créer une contrepassation |
| ”Exercice clos — validation impossible” | Date dans un exercice fermé | Changer la date ou demander la réouverture (ADMIN) |
| “Débit ≠ Crédit” | Pièce déséquilibrée | Ajouter ou corriger une ligne |
| ”Exercice inexistant pour cette date” | Date hors de tout exercice ouvert | Vérifier les exercices dans Paramètres → Exercices |
| ”Numéro déjà utilisé” | Conflit de numérotation (rare) | Réessayer — le verrou pessimiste résout automatiquement |