Skip to main content

Création d'une écriture comptable

Introduction

Cette fonctionnalité permet aux utilisateurs de créer manuellement des écritures comptables dans l'application OpenRevision. Elle s'intègre dans le module de comptabilité et doit respecter les règles métier spécifiques au contrôle financier des établissements éducatifs.

Prérequis

  • Un plan comptable doit être importé pour le dossier concerné
  • Les journaux comptables doivent être configurés
  • L'utilisateur doit avoir les droits d'accès appropriés (Contrôleur, Manager)

Description fonctionnelle

###

Interface utilisateur

L'interface de création d'écriture comptable doit comporter :

1.

    **
  1. En-tête de l'écriture**
    criture
      -
    • Date de l'écriture
      *
    • -
    • Code journal (sélection uniquement parmi les journaux disponibles)
      * -
        Numéro
      • OD FIC
      • REVAO
      • SITUATION
    • Référence de pièce
    •  -
    • Libellé général de*
    • l'écriture

    2.

  2. **
  3. Lignes d'écritures**
    criture (2 -minimum)
    • Numéro de compte (*
      • Parmi ceux du plan comptable
      • Pré-sélection assistéesi depuisje lesuis planen comptable)
        train de -visualiser un compte
    • Libellé de la ligne
      *
    • -
    • Montant au*
    • débit
    • Lettrage

    -
  4. Montant au crédit
       - Lettrage (optionnel)

    3. **

  5. Zone de totaux**
    totaux
      -
    • Total des débits
    •  -
    • Total des crédits
    •  - Différence
    • Validation (doituniquement êtrevalide àsi zéroDébit pour+ validation)

      crédits

      ###= 0)

Règles de gestion

####

Validation des données
-

  • La date doit être comprise dans l'exercice comptable en cours
    -
  • Le journal sélectionné doit être valide et actif
    -
  • Les comptes utilisés doivent exister dans le plan comptable du dossier
    -
  • L'écriture doit être équilibrée (total débits = total crédits)
    -
  • Le numéro de pièce doit être unique pour le journal/exercice
    -
  • Les montants doivent être positifs ou nuls

  • ####

Contrôles spécifiques
-

Vérification
  • Contrôle de la cohérencebalance des comptesécritures
  • utilisés avec la nature du journal
    -
  • Contrôle du lettrage si utilisé (équilibre des montants lettrés)
    -
    • Alerte modale si le ou les lettrages utilisés ne sont pas équilibrés.
  • Vérification des droits d'accès de l'utilisateur

  • ###

Comportements attendus

1.

    **
  1. Création d'une nouvelle écriture**
    criture
      -
    • L'utilisateur accède au formulaire de création via le menu "Comptabilité"
    •  -
    • Les champs obligatoires sont clairement identifiés
    •  -
    • Assistance à la saisie pour les comptes (recherche par numéro ou libellé)
    •  -
    • Calcul automatique des totaux et de la différence
    •  -
    • Possibilité d'ajouter/supprimer des lignes


    • 2.

    **
  2. Validation et enregistrement**
    enregistrement
      -
    • Vérification en temps réel de l'équilibre de l'écriture
    •  -
    • Contrôles de cohérence avant enregistrement
    •  -
    • Message de confirmation après enregistrement réussi
    •  -
    • Conservation d'un historique des modifications

    • 3.

    **Gestion
  3. des erreurs**
       - Messages d'erreur explicites et localisés
       - Possibilité de corriger sans perdre les données saisies
       - Sauvegarde temporaire en cas d'interruption

    ## Spécifications techniques

    ### Structure de données
    ```sql
    -- Table des écritures comptables
    CREATE TABLE ecritures (
        id BIGINT PRIMARY KEY,
        date_ecriture DATE NOT NULL,
        journal_code VARCHAR(10) NOT NULL,
        numero_piece VARCHAR(20) NOT NULL,
        libelle VARCHAR(255) NOT NULL,
        exercice_id BIGINT NOT NULL,
        dossier_id BIGINT NOT NULL,
        created_at TIMESTAMP,
        created_by BIGINT,
        updated_at TIMESTAMP,
        updated_by BIGINT
    );

    -- Table des lignes d'écritures
    CREATE TABLE lignes_ecritures (
        id BIGINT PRIMARY KEY,
        ecriture_id BIGINT NOT NULL,
        compte VARCHAR(20) NOT NULL,
        libelle VARCHAR(255),
        debit DECIMAL(15,2) DEFAULT 0,
        credit DECIMAL(15,2) DEFAULT 0,
        lettrage VARCHAR(3),
        FOREIGN KEY (ecriture_id) REFERENCES ecritures(id)
    );
    ```

    ### Composants React
    - FormEcriture : Composant principal du formulaire
    - LigneEcriture : Composant pour chaque ligne d'écriture
    - SelectionCompte : Composant de recherche de comptes
    - RecapitulatifTotaux : Composant d'affichage des totaux

    ### Endpoints API

    #### Création d'une écriture
    ```
    POST /api/comptabilite/ecritures
    ```
    Payload :
    ```json
    {
        "date": "2024-12-31",
        "journal": "AC",
        "numero_piece": "AC2024123",
        "libelle": "Facture fournisseur",
        "lignes": [
            {
                "compte": "60610000",
                "libelle": "Fournitures",
                "debit": 1200.00,
                "credit": 0
            },
            {
                "compte": "40100000",
                "libelle": "Fournisseur",
                "debit": 0,
                "credit": 1200.00
            }
        ]
    }
    ```

    #### Validation d'une écriture
    ```
    POST /api/comptabilite/ecritures/{id}/valider
    ```

    ### Intégration avec les autres modules

    1. **Plan comptable**
       - Vérification de l'existence des comptes
       - Récupération des libellés standardisés

    2. **Journaux comptables**
       - Validation des codes journaux
       - Application des règles spécifiques par type de journal

    3. **Module de lettrage**
       - Gestion des lettrages
       - Vérification des équilibres

    ## Tests

    ### Tests unitaires
    - Validation des règles de gestion
    - Vérification des calculs de totaux
    - Tests des contrôles de cohérence

    ### Tests d'intégration
    - Création complète d'une écriture
    - Interaction avec le plan comptable
    - Gestion des lettrages

    ### Tests utilisateurs
    - Scénarios de saisie typiques
    - Gestion des erreurs
    - Performance avec grand volume de lignes

    ## Documentation utilisateur
    - Guide de saisie pas à pas
    - Description des contrôles et validations
    - Exemples d'écritures types
    - FAQ et résolution des problèmes courants