Aller au contenu

Comptabilité générale

À quoi ça sert

Ce module regroupe le cœur de la comptabilité générale de l'entreprise : le plan comptable, la saisie et validation des écritures de journal, le rapprochement bancaire, la gestion des périodes fiscales (ouverture/clôture mensuelle) et la configuration comptable du tenant (pays, devise, régime fiscal, comptes bancaires).

Prérequis

Prérequis

  • Modules sous licence : ACCOUNTING
  • Permissions : accounting.read, accounting.write, accounting.validate, accounting.reconciliation.read, accounting.reconciliation.manage, accounting.manage, accounting.config
  • Rôles : ACCOUNTANT, CFO, HR_MANAGER, ORG_ADMIN

Comment ça marche

Consulter le plan comptable

L'écran Comptabilité → Plan comptable (/dashboard/accounting/chart-of-accounts) liste en lecture seule tous les comptes du tenant : code, intitulé, classe comptable, type et statut (Actif/Inactif), avec une étiquette Système pour les comptes créés automatiquement par la plateforme. La création et la modification de comptes se font uniquement côté serveur pour l'instant (aucun bouton de création dans cet écran).

Saisir et valider une écriture de journal

  1. Depuis Comptabilité → Journal (/dashboard/accounting/journal), cliquez sur Nouvelle écriture.
  2. Renseignez la date et le libellé, puis ajoutez des lignes via Ajouter une ligne : pour chaque ligne, recherchez un compte par code ou intitulé (auto-complétion), puis saisissez le montant au débit ou au crédit.
  3. Un bandeau récapitulatif affiche en temps réel le total débit/crédit et une étiquette Équilibrée/Déséquilibrée ; si l'écriture est déséquilibrée, un message précise le montant manquant au débit ou au crédit.
  4. Cliquez sur Enregistrer — l'écriture est créée au statut Brouillon.
  5. Dans la liste, une écriture au statut Brouillon affiche un bouton Valider (visible uniquement avec accounting.validate) qui la fait passer au statut Validée, la rendant définitive.

Rapprocher un relevé bancaire

  1. Depuis Comptabilité → Rapprochement bancaire (/dashboard/accounting/reconciliation), cliquez sur Importer.
  2. Renseignez le compte bancaire, la période couverte (début/fin) et sélectionnez le fichier de relevé (CSV, OFX ou MT940 — le format est auto-détecté côté serveur).
  3. Une fois l'import terminé, sélectionnez-le dans la colonne de gauche pour afficher ses lignes de transaction (date, libellé, débit/crédit, référence, statut).
  4. Cliquez sur Rapprochement auto pour laisser le système proposer automatiquement des correspondances avec les écritures de journal existantes.
  5. Pour une ligne non rapprochée, cliquez sur Rapprocher, saisissez l'identifiant de l'écriture comptable correspondante, puis validez. Une ligne déjà rapprochée peut être annulée via Dé-rapprocher.

Ouvrir, clôturer et réouvrir une période fiscale

  1. Depuis Comptabilité → Périodes fiscales (/dashboard/admin/accounting/fiscal-periods), naviguez d'une année à l'autre avec les flèches.
  2. Chaque mois de l'année s'affiche sous forme de carte avec son statut : Ouverte, Clôturée ou Réouverte.
  3. Sur une période Ouverte, le bouton Clôturer (cadenas) verrouille le mois — aucune nouvelle écriture datée dans cette période ne pourra plus être créée.
  4. Sur une période Clôturée, le bouton Réouvrir permet de la déverrouiller à nouveau si nécessaire.

Configurer les paramètres comptables

  1. Depuis Comptabilité → Configuration (/dashboard/admin/accounting/config), renseignez le pays, la devise (XOF/EUR/USD), le régime fiscal (réel normal, réel simplifié, micro-entreprise), le taux de TVA standard, la périodicité de déclaration TVA et l'organisme social (CNPS/CNSS/URSSAF).
  2. Cliquez sur Enregistrer.
  3. Dans la section Comptes bancaires, ajoutez un compte via + Ajouter un compte bancaire (code compte, intitulé, banque, IBAN, compte par défaut) ; chaque compte peut être supprimé individuellement.

Qui peut faire quoi

Permission requise Rôles concernés
accounting.read ACCOUNTANT, CFO, HR_MANAGER, ORG_ADMIN
accounting.write ACCOUNTANT, CFO, HR_MANAGER, ORG_ADMIN
accounting.validate ACCOUNTANT, CFO, HR_MANAGER, ORG_ADMIN
accounting.reconciliation.read ACCOUNTANT, CFO, HR_MANAGER, ORG_ADMIN
accounting.reconciliation.manage ACCOUNTANT, CFO, HR_MANAGER, ORG_ADMIN
accounting.manage ACCOUNTANT, CFO, HR_MANAGER, ORG_ADMIN
accounting.config ACCOUNTANT, CFO, HR_MANAGER, ORG_ADMIN
Action Permission requise
Consulter plan comptable, journal, rapprochement, périodes fiscales, configuration accounting.read
Créer, modifier une écriture de journal accounting.write
Valider une écriture, clôturer/réouvrir une période fiscale accounting.validate
Importer un relevé, proposer/confirmer un rapprochement accounting.reconciliation.read (lecture) / accounting.reconciliation.manage (import, rapprochement)
Créer/modifier un compte du plan comptable, gérer la configuration comptable et les comptes bancaires accounting.manage
Télécharger le calendrier fiscal (.ics) accounting.config

D'après la matrice V185 : ACCOUNTANT dispose de accounting.read, accounting.write, accounting.validate, accounting.reconciliation.read/manage et accounting.config — il peut donc saisir, valider les écritures et gérer le rapprochement bancaire, mais pas accounting.manage (création de comptes, config comptable, comptes bancaires — réservé à ADMIN/HR_MANAGER, comme pour la paie). CFO n'a que accounting.read (consultation seule sur tout ce module, aucune écriture ni validation). MANAGER n'a aucun accès à ce module.

Détails techniques

Détails techniques
  • Entité ChartOfAccount (app.jigi.accounting.chart.domain), table accounting.chart_of_accounts ; numérotation des pièces via PieceNumberCounter (nextPieceNumber(tenantId, prefix)).
  • Endpoints (ChartOfAccountController, base /accounting/chart-of-accounts) : GET, GET /autocomplete?q=, POST/PUT/DELETE (accounting.manage, DELETE = désactivation logique).
  • Entité JournalEntry (app.jigi.accounting.journal.domain), table accounting.journal_entries — source (MANUAL, PAYROLL, etc.), status (DRAFT/POSTED).
  • Endpoints (JournalEntryController, base /accounting/journal) : GET/GET /{id} (accounting.read), POST/PUT/DELETE (accounting.write), POST /{id}/post et POST /bulk-post?source= (accounting.validate).
  • Entité BankStatementLine (app.jigi.accounting.reconciliation.domain), table présumée accounting.bank_statement_lines ; parsing multi-format via BankStatementParserRegistry (app.jigi.accounting.reconciliation.parser), proposition auto via ReconciliationAutoMatchService.
  • Endpoints (BankReconciliationController, base /accounting/reconciliation) : GET /imports, /unmatched, /imports/{id}/lines, /imports/{id}/proposals (accounting.reconciliation.read) ; POST /imports/parse, /imports/{id}/auto-match, /lines/{id}/match, /lines/{id}/unmatch (accounting.reconciliation.manage).
  • Endpoints (FiscalPeriodController, base /accounting/fiscal-periods) : GET?year= (accounting.read), POST /{id}/close, POST /{id}/reopen (accounting.validate).
  • Calendrier fiscal : GET /accounting/fiscal/calendar?year= (accounting.config) génère un fichier .ics via FiscalCalendarService — non relié à un bouton dans l'interface actuelle.
  • Configuration : entité AccountingConfig + BankAccount (app.jigi.accounting.config.domain) ; endpoints GET/PUT /accounting/config (accounting.read/accounting.manage), GET/POST/DELETE /accounting/config/bank-accounts (accounting.read/accounting.manage/accounting.manage).

Cas d'erreur et FAQ

Pourquoi mon écriture refuse de s'enregistrer alors que j'ai bien saisi des débits et des crédits ? Vérifiez le bandeau « Équilibrée/Déséquilibrée » en bas du formulaire : une écriture ne peut être enregistrée que si le total débit égale exactement le total crédit.

Puis-je saisir une écriture sur un mois déjà clôturé ? Non, une fois une période fiscale clôturée, aucune nouvelle écriture datée dans cette période ne peut être créée tant qu'elle n'a pas été réouverte par un utilisateur disposant de accounting.validate.

Comment ajouter un nouveau compte au plan comptable ? L'écran actuel est en lecture seule ; la création de comptes se fait uniquement via l'API (accounting.manage) pour le moment. Contactez le support si vous avez besoin d'un nouveau compte.

Le rapprochement automatique n'a proposé aucune correspondance, que faire ? Effectuez le rapprochement manuellement en indiquant l'identifiant de l'écriture comptable correspondante sur chaque ligne non rapprochée.

Où sont gérés les comptes bancaires de l'entreprise ? Dans Comptabilité → Configuration, section « Comptes bancaires » — réservé aux utilisateurs disposant de accounting.manage (ADMIN/HR_MANAGER).

Voir aussi