Un système complet de comptabilité en partie double pour Larapen. Gérez plusieurs sociétés, des plans comptables localisés (17 normes internationales), des journaux, des exercices, des tiers, des taxes, le rapprochement bancaire, les écritures récurrentes, et générez des rapports financiers — y compris l’export FEC français.
Multi-société
Gérez des entités juridiques distinctes sur une seule installation. Chaque société possède son propre plan comptable, ses journaux, ses tiers et ses exercices, isolés par un scope global de requête.
17 modèles de plans comptables
Plans prêts à l’emploi pour PCG (FR), SYSCOHADA, US/UK/CA GAAP, SKR04 (DE), PGC (ES), PCMN (BE), SNC (PT), RGS (NL), CO suisse, CGNC (MA), SCE (TN), AASB (AU), IFRS, et plus encore.
Partie double imposée
Chaque écriture comptable doit être équilibrée avant de pouvoir être validée. Cycle de vie Brouillon / Validée / Contrepassée / Annulée avec audit complet de qui a validé et quand.
Exercices & verrouillage de période
Générez automatiquement des périodes mensuelles à partir des bornes de l’exercice. Verrouillez ou clôturez les périodes et les exercices pour empêcher de nouvelles validations.
Rapprochement bancaire
Importez les relevés bancaires, lettrez les lignes avec les écritures comptables dans un espace à deux colonnes, et suivez les soldes système vs. relevé.
Écritures récurrentes
Validations récurrentes basées sur un modèle (quotidienne, hebdomadaire, mensuelle, trimestrielle, annuelle) avec validation automatique optionnelle et un planificateur quotidien.
Rapports financiers
Balance générale, Grand livre, Bilan, Compte de résultat et Livre-journal. Tous filtrent par plage de dates et respectent la société active.
Multi-devise
Devise et taux de change capturés aux niveaux société, compte, journal, tiers, compte bancaire, écriture et ligne.
Export FEC
Export légal français “Fichier des Écritures Comptables” (TSV, 18 colonnes) conforme à l’Arrêté du 29 juillet 2013.
Cas d’utilisation
Tenue de comptes d’une petite entreprise
Gérez une seule société avec le plan comptable correspondant à votre pays (PCG, GAAP, HGB, etc.). Enregistrez les factures, paiements et dépenses via les journaux ; laissez le système imposer des écritures équilibrées et verrouiller les périodes en fin de mois / d’exercice.
Groupe multi-entités
Consolidez plusieurs entités juridiques sur une seule installation. Basculez entre les sociétés depuis la
barre supérieure ; chaque société est totalement isolée via le scope company_id. Les
utilisateurs peuvent être assignés à des sociétés spécifiques, ou disposer de l’accès
manage-all.
Comptabilité française réglementée
Utilisez un plan PCG, stockez toutes les écritures en brouillon puis validez-les, verrouillez les périodes fiscales en fin d’exercice, et générez l’export FEC pour les contrôles fiscaux.
Comptabilité SYSCOHADA (OHADA)
Le Bénin, la Côte d’Ivoire, le Sénégal et les autres pays membres de l’OHADA disposent du plan SYSCOHADA révisé complet (9 classes) et peuvent enregistrer des écritures en XOF/XAF avec les codes de taxe appropriés.
Workflow de rapprochement bancaire
Téléversez un relevé bancaire, laissez le personnel lettrer les lignes de transaction avec les lignes d’écriture dans l’espace de rapprochement, et produisez un enregistrement de rapprochement qui affiche le solde système vs. relevé avec la différence exacte.
Prérequis
- Larapen CMS v1.0.0 ou version ultérieure
- PHP 8.3+
- MySQL 8.0+
- Les tables principales
users,countriesetcurrenciesdoivent exister ext-bcmathrequis pour les comparaisons de soldes
Installation
Étape 1 : Téléverser l’add-on
Dans le panneau d’administration, allez dans Admin → Extensions → Add-ons et cliquez sur le bouton Téléverser un add-on. Sélectionnez le fichier ZIP de l’add-on : le système l’extrait automatiquement et l’add-on apparaît dans la liste des add-ons installés.
Étape 2 : Activer l’add-on
Repérez Comptabilité dans la liste et cliquez sur Activer. Ses migrations, ses seeders (le cas échéant) et ses permissions sont mis en place automatiquement.
Étape 3 : Configurer
Naviguez vers Comptabilité → Sociétés → Nouvelle société pour créer votre première société. Choisissez un modèle de plan comptable, définissez la devise par défaut et enregistrez : le plan comptable est initialisé automatiquement depuis le modèle sélectionné. Examinez ensuite Comptabilité → Paramètres pour ajuster les règles d’exercice, les séquences de numérotation et les contrôles de validation. Voir Configuration.
Étape 4 : (Optionnel) Planifier la commande d’écritures récurrentes
Le service provider enregistre accounting:generate-recurring pour s’exécuter quotidiennement à 03:00.
Assurez-vous que le planificateur Laravel est connecté à cron :
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Code d’achat (clé de licence)
L’add-on Comptabilité est vendu comme un produit séparé, il possède donc son propre code d’achat (clé de licence) — distinct du code d’achat de l’application principale et de celui de chaque autre add-on. Il vous est demandé lorsque vous activez Comptabilité dans Panneau d’administration → Add-ons.
Nos produits sont vendus sur trois plateformes. La façon dont vous recevez un code d’achat dépend de l’endroit où vous avez acheté le produit.
| Plateforme / Marketplace | Comment obtenir le code d’achat | Où le retrouver |
|---|---|---|
| Boutique bedigit.com Achat sur le site (Shop) |
Généré automatiquement lorsque la commande est payée, puis envoyé par e-mail — soit dans un e-mail de licence dédié, soit dans l’e-mail de confirmation de commande. | Mon compte → Mes licences sur bedigit.com |
| Gumroad | Créé dès que Gumroad nous notifie la vente, puis envoyé dans un e-mail séparé, en plus du reçu Gumroad. | L’e-mail de licence, votre Bibliothèque Gumroad et Mon compte → Mes licences sur bedigit.com |
| Envato Market CodeCanyon |
Délivré par Envato, pas par nous, et jamais envoyé par e-mail : vous le téléchargez vous-même depuis votre compte Envato. | Compte Envato → Downloads → License certificate & purchase code |
1. Boutique bedigit.com (achat sur le site)
- Dès que le statut de paiement de la commande devient Payée, une clé de licence est générée automatiquement pour chaque article sous licence de la commande (une clé par unité achetée — acheter 3 unités donne 3 clés distinctes).
- Elle est envoyée par e-mail à l’adresse utilisée pour la commande, soit dans un e-mail de licence dédié, soit dans l’e-mail de confirmation de commande. Vérifiez votre boîte de réception et votre dossier spam / courrier indésirable.
- La clé reste disponible dans votre compte sous Mon compte → Mes licences. Les clés sont masquées dans la liste ; ouvrez la page de détail de la licence pour afficher et copier la clé complète, voir les domaines sur lesquels elle est activée, et désactiver un domaine pour libérer un emplacement d’activation.
- La facture correspondante se trouve sous Mon compte → Mes commandes.
2. Gumroad
- Un achat sur Gumroad produit deux e-mails distincts : le reçu Gumroad (envoyé par Gumroad, donnant accès aux fichiers) et un e-mail de clé de licence (envoyé par bedigit.com) qui contient votre code d’achat.
- L’e-mail de clé de licence est généré dès que Gumroad nous notifie la vente, il arrive donc normalement quelques secondes après le paiement. Ici aussi, vérifiez votre boîte de réception et votre dossier spam / courrier indésirable.
- Lorsque le produit Gumroad utilise la fonctionnalité de clés de licence propre à Gumroad, la même clé apparaît aussi dans votre reçu Gumroad et sous Bibliothèque → votre achat sur gumroad.com.
- Utilisez la même adresse e-mail sur bedigit.com que sur Gumroad : vos clés sont alors liées automatiquement à votre compte et listées sous Mon compte → Mes licences, même si vous vous inscrivez après l’achat. Vous pouvez aussi ajouter une clé Gumroad manuellement depuis Mon compte → Mes licences Gumroad.
3. Envato Market (CodeCanyon)
- Les codes d’achat Envato sont délivrés et fournis par Envato Market, jamais envoyés par e-mail par nous — il n’y a donc rien à chercher dans votre dossier de spam : vous récupérez le code depuis votre compte Envato.
- Connectez-vous à votre compte Envato / CodeCanyon, ouvrez la page Downloads, trouvez l’article et choisissez License certificate & purchase code dans le menu déroulant Download. Le code est inscrit dans ce certificat.
- Un code d’achat Envato ressemble à
12345678-90ab-cdef-1234-567890abcdef(8-4-4-4-12 caractères). Il ne change jamais, et le renouvellement du support de l’article n’en délivre pas de nouveau. - Article officiel Envato : Where Is My Purchase Code?
Configuration
L’add-on est livré avec config/accounting.php. Chaque clé peut être surchargée depuis l’environnement
ou en ajustant directement le fichier de configuration.
| Clé | Description | Par défaut |
|---|---|---|
default_standard |
Référentiel comptable attribué à une nouvelle société lorsqu’aucun n’est spécifié. | generic |
default_currency |
Devise de repli pour les nouvelles sociétés et écritures. | USD |
decimal_precision |
Nombre de décimales affichées dans les rapports et formulaires. | 2 |
account_code_padding |
Largeur utilisée pour le remplissage par zéros des numéros de compte. | 8 |
allow_post_in_closed_period |
Lorsque défini sur true, les écritures peuvent être validées dans des périodes verrouillées/clôturées. |
false |
entry_reference_format |
Modèle pour les références d’écritures générées automatiquement. | JE-{year}-{seq:6} |
standards |
Tableau associant les codes de référentiels (ex. pcg, gaap_us) à leur nom d’affichage, pays, devise et classe de seeder du plan comptable. |
17 entrées |
Premiers pas
- Créez une société et choisissez le modèle de plan comptable correspondant à votre juridiction.
- Examinez votre plan comptable : masquez les comptes inutilisés, ajustez les plages de codes, ou ajoutez des comptes personnalisés.
- Créez un exercice. Les périodes mensuelles sont générées automatiquement à partir de ses dates de début/fin.
- Créez des journaux pour chaque livre (Ventes, Achats, Banque, Caisse, Opérations diverses, Ajustement…). De nombreux modèles les créent déjà.
- Ajoutez des codes de taxe (TVA, GST, retenue à la source, etc.) et liez-les à leurs comptes de TVA collectée / déductible.
- Ajoutez des tiers (clients, fournisseurs, salariés).
- Enregistrez votre première écriture comptable et validez-la lorsque vous êtes sûr que les débits et crédits s’équilibrent.
Admin : Sociétés
La page Sociétés (Comptabilité → Sociétés) gère les entités juridiques suivies dans le système. Les sociétés ne sont pas soumises au scope de société active : les utilisateurs autorisés peuvent voir la liste complète quelle que soit la société sous laquelle ils opèrent actuellement.
Création & modification des sociétés
Le formulaire est organisé en onglets :
- Général : nom, slug, raison sociale, n° de TVA, numéro d’immatriculation, pays, devise, mois de début de l’exercice, modèle de plan comptable, date de clôture, indicateurs active/par défaut.
- Adresse : rue, ville, région/département, code postal, code pays.
- Paramètres comptables : comptes par défaut pour le report à nouveau, les ventes, les achats, la banque, les créances, les dettes, la TVA déductible, la TVA collectée.
- Utilisateurs : assignez des utilisateurs à la société (avec un indicateur de favori par utilisateur).
accounting_accounts pour cette société.
Utilisateurs assignés
L’onglet Utilisateurs affiche tous les membres actuellement capables de travailler dans la société. Utilisez le champ Assigner un utilisateur (autocomplétion Select2) pour ajouter un nouvel utilisateur ; l’action Révoquer le retire. Toutes les mises à jour sont en AJAX et rafraîchissent la carte sur place.
Un utilisateur doit soit être assigné à une société, soit disposer de la permission accounting.companies.manage-all
pour voir les données comptables.
Basculer entre sociétés
Les utilisateurs disposant de la permission accounting.companies.switch peuvent changer leur société active depuis
la barre supérieure. La société choisie est persistée en session et liée via le
singleton CompanyContext — les requêtes suivantes filtrent automatiquement par celle-ci.
Admin : Plan comptable
La page Plan comptable (Comptabilité → Plan comptable) affiche la hiérarchie complète des comptes pour la société active.
Champs de compte
| Champ | Notes |
|---|---|
code | Numéro de compte (ex. 411, 512, 707). Unique au sein de la société. |
name | Description du compte (ex. “Clients”). |
type | Actif, Passif, Capitaux propres, Produit ou Charge. |
subtype | Regroupement plus fin optionnel (ex. courant/non courant). |
parent | Compte parent pour les plans hiérarchiques. |
is_group | Compte de regroupement : jamais imputable directement. |
is_reconcilable | Peut être lettré avec les lignes de relevé bancaire. |
allow_manual_entries | Désactiver pour forcer les validations via les services uniquement (ex. comptes de TVA générés par le système). |
currency_code | Remplace la devise de la société pour ce compte. |
opening_balance | Solde initial reporté sur le premier exercice. |
Import / Export
Les comptes peuvent être exportés en CSV/Excel et ré-importés pour mettre à jour en masse le plan comptable. Un modèle d’import (avec ligne d’en-tête et lignes d’exemple) est disponible via Comptes → Télécharger le modèle d’import.
Admin : Journaux
Les journaux regroupent les écritures apparentées. Chaque journal possède sa propre séquence auto-incrémentée utilisée pour générer
les références d’écritures (ex. SA-2024-000042).
| Champ | Notes |
|---|---|
code | Identifiant court du journal (ex. SA, PU, BA). |
name | Nom d’affichage (Journal des ventes, Journal des achats, Journal de banque…). |
type | sales / purchase / bank / cash / general / opening / closing / adjustment. |
sequence_prefix | Préfixe optionnel pour les références générées. Reprend le code du journal par défaut. |
default_debit_account_id / default_credit_account_id | Comptes auto-sélectionnés dans le formulaire d’écriture pour ce journal. |
Admin : Codes de taxe
Les codes de taxe (TVA, GST, taxe sur les ventes, retenue à la source…) peuvent être attachés aux lignes d’écritures pour suivre les taxes indirectes. Chaque code de taxe est lié à un ou deux comptes : un compte collecté (taxe en aval) et un compte déductible (taxe en amont).
Les codes de taxe ont une portée par société et par pays. Leur rate est stocké en décimal
(ex. 0.2000 pour 20%).
Admin : Tiers
Les tiers sont les clients, fournisseurs, salariés et autres parties référencés dans les écritures comptables. Le formulaire tiers capture les informations de contact, les identifiants fiscaux et les comptes clients/fournisseurs par défaut.
Modale de création / modification
- Code : code tiers unique (ex.
CUST-001,SUP-012). - Nom : nom d’affichage.
- Type : Client, Fournisseur, Client & Fournisseur, Salarié, Autre.
- Identifiant fiscal, Numéro d’immatriculation.
- Adresse, Pays, Devise (Select2).
- Compte client / Compte fournisseur : remplace les valeurs par défaut de la société pour ce tiers.
Import / Export & actions en masse
Les tiers prennent en charge l’import/export CSV/Excel, la suppression en masse et la corbeille/restauration.
Admin : Exercices & périodes
Un exercice a une date de début, une date de fin et un statut (Ouvert, Verrouillé, Clôturé). À la création, l’add-on génère automatiquement 12 périodes mensuelles entre ces deux dates.
Transitions de statut
- Ouvert : les écritures peuvent être validées librement.
- Verrouillé : aucune nouvelle validation sauf si
allow_post_in_closed_periodest activé. - Clôturé : l’action Clôturer se propage à toutes les périodes. Les administrateurs reçoivent une notification Clôture de période fiscale.
lock_date au niveau société agit comme une date limite globale pour toutes les validations antérieures à cette date.
Admin : Écritures comptables
La page Écritures comptables (Comptabilité → Écritures) est l’outil principal pour enregistrer les transactions.
Formulaire d’écriture
| Champ | Notes |
|---|---|
journal | Le livre auquel l’écriture appartient. |
entry_date | Date de transaction. Utilisée pour résoudre la période fiscale. |
reference | Générée automatiquement depuis la séquence du journal. Modifiable si vous devez conserver une numérotation existante. |
description | Libellé en texte libre. |
external_reference | N° de facture, n° de commande, n° de reçu, etc. |
currency_code / exchange_rate | Remplace la devise et le taux de la société. |
lines | Au moins deux lignes requises. Chacune avec un compte, un tiers optionnel, un code de taxe optionnel et un montant débit OU crédit. |
Cycle de vie d’une écriture
- Brouillon : entièrement modifiable, supprimable. Affichée avec un badge gris.
- Validée : immuable. Doit avoir des débits / crédits équilibrés.
- Contrepassée : une écriture de contrepassation a été générée et validée.
- Annulée : rejetée manuellement sans contrepassation.
Validation
Cliquez sur Valider sur une écriture brouillon pour la passer à l’état Validée. Le service vérifie :
- Le statut est Brouillon.
- Les débits égalent les crédits (comparaison bcmath).
- La période de l’écriture n’est pas verrouillée (sauf si la surcharge de config est activée).
Si la validation échoue, l’administrateur voit un message d’erreur ; les brouillons non équilibrés génèrent également une notification en base de données pour les administrateurs (Notification d’écriture déséquilibrée).
Contrepassation
Les écritures validées ne peuvent pas être modifiées, mais elles peuvent être contrepassées. L’action de contrepassation :
- Crée une nouvelle écriture dans le même journal avec les débits et crédits inversés.
- Attribue une nouvelle référence depuis la séquence du journal.
- Valide la contrepassation.
- Marque l’écriture d’origine comme Contrepassée et lie
reversed_entry_id.
Actions en masse
Les écritures prennent en charge la suppression en masse (brouillon uniquement), l’export CSV/Excel et l’import CSV/Excel. L’import rejette les lignes qui produiraient des écritures déséquilibrées.
Admin : Écritures récurrentes
Les écritures récurrentes génèrent une nouvelle écriture comptable selon un calendrier (loyer, amortissement, abonnements…).
| Champ | Notes |
|---|---|
name | Nom du modèle (“Loyer mensuel de bureau”, “Licences logicielles annuelles”). |
journal | Journal utilisé pour les écritures générées. |
recurrence_period | Quotidienne, Hebdomadaire, Mensuelle, Trimestrielle, Annuelle. |
interval_count | Répéter toutes les N périodes (ex. 2 pour bimestriel). |
start_date, end_date | Fenêtre pendant laquelle le modèle est actif. |
next_run_date | Date à laquelle la prochaine écriture sera générée. Avancée automatiquement. |
auto_post | Si activé, les écritures générées sont validées immédiatement. |
template_lines | Lignes débit/crédit stockées en JSON ; copiées telles quelles dans chaque écriture générée. |
Une commande planifiée quotidienne, accounting:generate-recurring, s’exécute chaque jour à 03:00 et
traite tous les modèles dont next_run_date est aujourd’hui ou antérieure. Vous pouvez aussi déclencher un
modèle manuellement via l’action Exécuter maintenant.
Admin : Comptes bancaires
Les comptes bancaires lient un compte comptable (ex. 512 — Banque) aux coordonnées bancaires réelles
(nom de la banque, IBAN, BIC, devise, solde d’ouverture). Un journal par défaut optionnel est utilisé lors de la validation automatique
des écritures rapprochées.
Admin : Relevés bancaires
Un relevé bancaire représente un résumé périodique de la banque. Il comporte une référence, une date de relevé, un début/fin de période, des soldes d’ouverture/clôture, et une liste de lignes de relevé (date de transaction, montant, description, tiers optionnel).
Les relevés bancaires restent en Brouillon jusqu’à validation. La validation finalise le relevé et active le lettrage dans l’espace de rapprochement.
Admin : Rapprochement
L’espace de rapprochement (Rapprochement → Ouvrir un relevé) affiche les lignes de relevé
bancaire d’un côté et les lignes d’écritures non lettrées de l’autre. Lettrez-les ligne par ligne ; chaque
lettrage stocke une reconciliation_ref partagée sur la ligne d’écriture et la ligne de relevé
bancaire. Un enregistrement de rapprochement suit le solde système vs. relevé avec la
différence calculée.
Si la différence est nulle, le statut du rapprochement devient Équilibré. Sinon il reste en Brouillon jusqu’à investigation.
Rapports financiers
Tous les rapports acceptent des filtres de plage de dates optionnels et respectent la société active. Accédez-y via Comptabilité → Rapports.
Balance générale
Liste chaque compte actif avec le total des débits, le total des crédits et le solde résultant. Les totaux en
bas doivent être égaux — l’indicateur is_balanced vous l’indique en un coup d’œil.
Grand livre
Liste détaillée par compte de chaque ligne d’écriture validée avec un solde progressif. Utile pour l’audit ou pour enquêter sur un compte spécifique.
Bilan
Actif, Passif et Capitaux propres regroupés par type à un instant donné. Les comptes de résultat (P&L) sont implicitement soldés sur le compte de report à nouveau configuré.
Compte de résultat (P&L)
Produits et charges sur une période, avec le résultat net en bas.
Livre-journal
Transactions regroupées par journal avec le détail complet des écritures et des lignes. Correspond à l’exigence française du “livre journal”.
Export FEC
Les entreprises françaises sont tenues de produire un Fichier des Écritures Comptables sur demande pour l’administration fiscale. L’export FEC intégré génère un fichier tabulé avec 18 colonnes conformes à l’Arrêté du 29 juillet 2013 :
JournalCode,JournalLibEcritureNum,EcritureDate,EcritureLib,ValidDateCompteNum,CompteLib,CompAuxNum,CompAuxLibPieceRef,PieceDateDebit,CreditEcritureLet,DateLet(lettrage)Montantdevise,Idevise(devise étrangère)
Seules les écritures Validées sont incluses. Le filtre de plage de dates définit la période fiscale exportée.
Le téléchargement requiert la permission accounting.reports.export-fec.
Référentiels comptables
Lors de la création d’une société, vous choisissez l’un des modèles de plan comptable fournis. Le seeder de plan correspondant s’exécute et peuple le plan comptable. Les 17 modèles sont prêts à l’emploi :
| Code | Référentiel | Pays | Devise |
|---|---|---|---|
generic | Cadre générique | — | USD |
pcg | Plan Comptable Général | France | EUR |
syscohada | SYSCOHADA Révisé | OHADA (Bénin, Sénégal…) | XOF / XAF |
gaap_us | US GAAP | États-Unis | USD |
gaap_uk | UK GAAP / FRS 102 | Royaume-Uni | GBP |
gaap_ca | ASPE / IFRS | Canada | CAD |
skr04_de | SKR04 / HGB | Allemagne | EUR |
pgc_es | Plan General de Contabilidad | Espagne | EUR |
pcmn_be | PCMN | Belgique | EUR |
cc_it | Codice Civile | Italie | EUR |
snc_pt | SNC | Portugal | EUR |
rgs_nl | Referentie Grootboekschema | Pays-Bas | EUR |
or_ch | Code des obligations suisse | Suisse | CHF |
cgnc_ma | CGNC | Maroc | MAD |
sce_tn | SCE | Tunisie | TND |
aasb_au | AASB | Australie | AUD |
ifrs | IFRS générique | International | — |
Multi-devise
Chaque niveau du modèle de données peut remplacer la devise et le taux de change :
- Devise de reporting de la société.
- Remplacement par compte (ex. un compte bancaire en GBP dans une société en EUR).
- Devise par journal.
- Devise par tiers (utilisée lors de la création des factures).
- Devise par compte bancaire.
- Par écriture
currency_code+exchange_rate. - Par ligne
amount_currency,currency_codeetexchange_rate.
L’export FEC expose Montantdevise et Idevise pour les lignes en devise
étrangère.
Notifications
L’add-on est livré avec deux types de notifications, tous deux enregistrés auprès du système de notification principal. Les administrateurs gèrent les destinataires et les canaux depuis Admin → Paramètres → Notifications.
| Clé | Canaux | Déclencheur | Forcé ? |
|---|---|---|---|
accounting_period_closing |
mail, database | Exercice clôturé | Non (l’utilisateur peut se désabonner) |
accounting_unbalanced_entry |
database | L’écriture brouillon échoue à la validation pour cause de déséquilibre | Oui (ne peut pas être désactivé par utilisateur) |
Corbeille & suppression logique
Les sociétés, comptes, tiers et écritures comptables utilisent la suppression logique. Les enregistrements supprimés atterrissent dans la page Corbeille correspondante (ex. Comptabilité → Tiers → Corbeille). À partir de là :
- Restaurez un seul enregistrement ou restaurez-en plusieurs en masse.
- Supprimez définitivement (force-delete) des enregistrements individuels, en masse, ou videz complètement la corbeille.
Les écritures comptables ne sont supprimables que lorsqu’elles sont en statut Brouillon. Les écritures validées doivent être contrepassées à la place.
Mise à jour
- Remplacez le dossier
extensions/addons/accountingpar la nouvelle version. - Exécutez
php artisan migrate --path=extensions/addons/accounting/database/migrationspour appliquer les nouvelles migrations. - Exécutez
php artisan config:clear && php artisan view:clear. - Si les ressources de thème ont changé, exécutez
npx vite build.
Désinstallation
Éteindre un add-on sans rien perdre, c’est le désactiver : allez dans Panneau d’administration → Add-ons, trouvez Accounting et cliquez sur Désactiver.
- Ses routes, ses vues, ses entrées de menu d’administration et ses permissions cessent d’être enregistrées, et ses pages publiques ne répondent plus.
- Ses tables de base de données et toutes les données qu’elles contiennent sont conservées, et ses fichiers restent dans
extensions/addons/accounting/. Rien n’est supprimé. - Le code d’achat enregistré lors de l’activation est conservé lui aussi : réactiver l’add-on ne le redemande pas.
- La désactivation est refusée tant qu’un autre add-on actif dépend de celui-ci : désactivez d’abord cet add-on.
Cliquez sur Activer sur la même carte pour le rallumer. Les migrations en attente sont rejouées, les assets republiés, et l’add-on reprend exactement là où il s’était arrêté.
Suppression
La suppression est définitive et détruit les données de l’add-on. Le bouton Supprimer n’apparaît que sur un add-on désactivé : la suppression se fait donc toujours en deux temps :
- Désactivez Accounting (voir Désinstallation).
- Cliquez sur Supprimer sur sa carte et confirmez la demande.
Le panneau d’administration, en une seule passe :
- exécute le hook de désinstallation de l’add-on, s’il en fournit un, tant que son code est encore sur le disque ;
- révoque les permissions déclarées dans son
addon.json; - annule ses migrations — ce qui supprime ses tables de base de données et toutes les lignes qu’elles contiennent — et purge ses entrées de la table
migrations, afin qu’une réinstallation ultérieure reparte de zéro ; - supprime ses assets publiés :
public/addons/accounting/,public/vendor/accounting/etstorage/app/public/addons/accounting/; - supprime le dossier de l’add-on
extensions/addons/accounting/; - supprime sa ligne dans la table
addons(le code d’achat enregistré disparaît avec elle) et vide le cache de l’application.
La suppression est refusée, avec un message explicatif et avant toute destruction, lorsque l’add-on est encore actif, lorsqu’un autre add-on actif en dépend, ou lorsque l’utilisateur du serveur web (PHP) ne peut pas supprimer extensions/addons/accounting/. Dans ce dernier cas, donnez à cet utilisateur le droit d’écriture sur le dossier et sur son parent, puis réessayez.
Supprimer le dossier en FTP ou en SSH n’est pas équivalent : les tables de l’add-on, ses entrées dans la table migrations et sa ligne addons restent en place, et sa carte reste dans la liste. Utilisez plutôt Supprimer dans le panneau d’administration.
Dépannage
“Aucune société active” à l’ouverture d’une page de comptabilité
- L’utilisateur actuel n’a aucune assignation et aucune permission
accounting.companies.manage-all. - Assignez l’utilisateur à au moins une société dans l’onglet Sociétés → Utilisateurs.
“Écriture déséquilibrée” lors de la validation
- Les débits doivent égaler les crédits jusqu’à la dernière décimale (
bccomp, 4 décimales). - Surveillez les différences d’arrondi avec les conversions en devises étrangères.
“Période verrouillée” lors de la validation
- La date d’écriture tombe dans une période Verrouillée ou Clôturée.
- Soit déplacez la date d’écriture vers une période ouverte, soit rouvrez la période (nécessite
accounting.fiscal-years.edit). - En dernier recours, définissez
allow_post_in_closed_periodsurtruedans la configuration.
Erreur de référence dupliquée lors de la contrepassation
- Se produit si le
next_sequence_numberdu journal est désynchronisé des écritures existantes (généralement après un import manuel). L’observer s’auto-corrige en prenantMAX(reference) + 1, mais vous pouvez aussi réinitialiser manuellement le compteur dans le formulaire de modification du journal.
Les écritures récurrentes ne se génèrent pas
- Vérifiez que le planificateur Laravel est connecté à cron (
schedule:runchaque minute). - Assurez-vous que le modèle est Actif et que sa
next_run_dateest dans le passé. - Exécutez
php artisan accounting:generate-recurringmanuellement pour voir les erreurs.
L’export FEC ne retourne aucune ligne
- Seules les écritures Validées sont incluses. Vérifiez que votre plage de dates couvre les écritures validées.
- Confirmez que la société active a le
fec_country_codedéfini (FR).
Comptabilité v1.0.0 : fait partie de la plateforme CMS Larapen.
© BeDigit. Tous droits réservés.