Spécification comptable possible
8. Modifications de la base de données
8.1 Table du Plan Comptable (acc_coa)
Cette table stocke le Plan Comptable d’une organisation.
Nom de colonne | Type de données | Description |
---|---|---|
id | int | Identifiant unique |
gl_code | varchar(45) | Code du compte général |
category | varchar(45) | Catégorie du compte : “actif”, “revenu”, “dépense”, “passif” ou “capitaux propres” |
parent_id | int | Référence à l’id de la table m_acc_coa pour permettre une hiérarchie |
name | varchar(45) | Nom du compte |
type | varchar(45) | “header” ou “detail”. Les comptes de type “header” ne peuvent pas avoir de transactions |
description | varchar(500) | Description du compte |
disabled | Boolean | Indique si le compte est désactivé (non supprimé). Aucun mouvement manuel ne peut y être enregistré |
manual_entries_allowed | Boolean | Indique si des écritures manuelles peuvent être passées sur ce compte |
8.2 Modifications du produit de prêt (m_product_loan)
Cette table stocke les règles comptables associées à un produit de prêt.
Nom de colonne | Type de données | Description |
---|---|---|
accounting_rule | varchar(45) | Type de comptabilité : “aucune”, “encaisse” ou “accrual” (comptabilité d’exercice) |
➡️ Choisir “aucune” désactive l’enregistrement de toutes les transactions comptables. |
8.3 Table de liaison produit-plan comptable (acc_product_coa_mapping)
Cette table fait le lien entre les codes GL utilisés par un produit de prêt ou d’épargne.
Nom de colonne | Type de données | Description |
---|---|---|
id | int | Identifiant |
acc_id | int | Clé étrangère vers acc_coa |
product_id | int | Référence vers un produit de prêt ou d’épargne |
product_type | varchar(45) | “loan” ou “saving” |
financial_account_type | varchar(45) | Type de compte financier (ex : “Cash”, “Intérêts sur prêt”) |
8.4 Écritures comptables (acc_journal_entry)
Cette table stocke toutes les écritures comptables générées dans le système (automatiquement ou manuellement).
Nom de colonne | Type de données | Description |
---|---|---|
id | int | Clé primaire de l’écriture |
coa_id | int | Clé étrangère vers la table acc_coa |
entry_date | datetime | Date de l’écriture (peut être antidatée) |
batch_id | varchar(45) | Identifiant de lot, peut être un UUID généré par Java |
type | varchar(45) | “debit” ou “credit” |
amount | float | Montant |
description | varchar(500) | Notes utilisateur pour les écritures manuelles |
branch_id | int | Agence associée à l’écriture |
reversal_id | int | Clé étrangère vers une écriture inversée |
is_reversed | Boolean | Indique si l’écriture a été inversée (une seule fois possible) |
entity_type | varchar(45) | “Loan” ou “Savings” pour les écritures système, null pour les écritures manuelles |
entity_id | int | Clé étrangère facultative vers un prêt ou un compte d’épargne |
system_generated | Boolean | Indique si l’écriture a été générée automatiquement |
created_date | date | Date réelle de création de l’écriture |
created_by | varchar(45) | Clé étrangère vers l’utilisateur ayant créé l’écriture (manuelle) |
8.5 Clôture des comptes d’agence (acc_closure)
Cette table stocke les détails de clôture comptable par agence et par date.
Nom de colonne | Type de données | Description |
---|---|---|
id | int | Identifiant |
closing_date | date | Date de clôture |
office_id | int | Identifiant de l’agence concernée |
created_by | varchar(45) | Utilisateur ayant effectué la clôture |
created_date | date | Date de création de l’enregistrement |
last_updated_date | date | Dernière mise à jour |