Bonjour à tous,
Je teste la clôture comptable annuelle sur une version 19 beta (hébergement mutualisé, Php 8.2) sur un cas concret/réel.
J’ai bien suivi la procédure du PR sur github NEW Accountancy - Added management of tax period closures #FPC21 by aspangaro · Pull Request #25859 · Dolibarr/dolibarr · GitHub
Mais lorsque je lance la 2e étape (Clôturer l’exercice fiscal), j’ai un message d’erreur « Bookkeeping Record Already Exits ». Voici la capture d’écran :
Mes 1ères périodes fiscales (créées dans la configuration du module comptabilité partie double) sont les suivantes :
- 2022/2023 du 22/09/2022 au 30/09/2023
- 2023/2024 du 1/10/2023 au 30/09/2024
Alors, c’est vrai que j’avais enregistré des écritures en comptabilité (grand-livre) sur les mois de 10, 11 et 12/2023 avant de lancer la clôture.
Je les ai donc supprimées mais le message d’erreur subsiste.
Quelqu’un a t’il déjà rencontré ce problème ?
Une idée pour le résoudre ?
Vous remerciant de votre aide,
Cordialement.
Bonjour @Stephane-BRT
Meilleurs vœux pour cette nouvelle année 
Merci pour le test et ton retour,
As tu déjà des écritures dans le journal des a-nouveaux sur ton second exercice fiscal (2023-2024) ?
Bonjour @aspangaro-Inovea ,
Merci beaucoup de tes bons vœux.
Je te souhaite également une très bonne année 2024, joies, santé et tout ce que tu souhaites.
Je t’en prie. C’est normal. Me connaissant, tu te doutais bien que j’allais tester dés que possible 
Non, je n’ai aucune écriture dans le journal d’AN 2023/2024, ni dans aucun journal 2023/2024 d’ailleurs. J’ai tout supprimé.
Te remerciant de ton aide,
Cordialement.
Bonjour @aspangaro-Inovea
Je viens de faire la mise à jour de ma version 19 beta avec la dernière version 19 qui est sortie ces derniers jours en pensant que cela résoudrait peut-être le problème.
Eh bien, non. J’ai toujours le message d’erreur « Bookkeeping Record Already Exits ».
J’ai re-vérifié le journal d’à nouveaux. Pas d’écritures, ni sur l’exercice N, ni sur l’exercice N+1.
Aurais tu une idée pour m’en sortir ?
T’en remerciant,
Cordialement.
Bonsoir @Stephane-BRT,
Sur l’exercice que tu essayes de clôturer, peux-tu regarder si tu as des lignes en double aussi bien sur les Comptes généraux qu’auxiliaire ?
J’ai réussi à reproduire ton problème en renommant manuellement un libellé d’un tiers, un seul… et je me retrouve avec 2 lignes

Cela rejoints la problématique qui est cité ici : [BUG] Compte 411 (et plusieurs autres) en double suite mise à jour en v18
Depuis la v18, du côté des regroupements, quelqu’un a ajouté le regroupement par libellé de compte en plus de regroupement par numéro de compte et cela pose problème a différent endroit.
Je cherche actuellement un correctif.
Bien à toi,
Alex
1 « J'aime »
Bonjour @aspangaro-Inovea ,
J’ai vérifié dans les plans comptables, grand-livres et balances, généraux et auxiliaires.
Et tu as raison. J’ai des comptes en double dans la balance auxiliaire uniquement, 4 avec libellés et 4 sans avec numéros de comptes identiques. Ce sont des comptes sur lesquels j’ai passé des OD de clôture par import de fichier csv. De mémoire, je n’ai pas du mettre le libellé du compte auxiliaire. J’imagine que c’est l’origine du problème des comptes en double (bien que cela ne devrait pas normalement, non ?).
Penses tu que si je n’avais pas ces comptes en double dans la balance auxiliaire, la clôture de l’exercice ne serait pas bloquée ?
Te remerciant de ton aide,
Cordialement.
Bonjour,
Oui, c’est exactement de là que viens le problème.
Sans doublon, la clôture se passe bien.
Je finalise un correctif et je le posterai.
Bonne journée,
1 « J'aime »
Bonjour,
A vérifier, mais je crois que de mon côté, j’avais eu un doublon sur un compte général (pareil, problème de libellé), et ça avait aussi posé problème.
En uniformisant tout avec les requêtes SQL que j’ai posté sur le thread que j’avais ouvert, ça a tout solutionné, en « imposant » les libellés définis dans le plan comptable.
Mais ça ne reste à l’heure actuelle qu’une rustine…
Je vois plusieurs pistes en terme de correctif :
- Imposer l’utilisation du libellé défini dans le plan comptable, y compris lors d’un import (ce qui semblerait logique), avec éventuellement un avertissement lors de l’import si le libellé indiqué dans le fichier d’import est différent que celui du plan comptable pour un compte donné (si on veut être exhaustif, bien sûr)
- En option, pourquoi pas, si aucun libellé défini dans le plan comptable, utiliser le libellé défini dans le fichier d’import.
Et normalement, on devrait avoir les même libellés partout.
Et pour aller jusqu’au bout, quand on change le libellé dans le plan comptable, reporter ce changement dans toute la table accounting_bookkeeping avec les requêtes que j’ai proposé 
@aspangaro-Inovea ,
Super, merci beaucoup.
Je te ferai un retour dés que je pourrais appliquer le correctif.
Te remerciant encore de ton aide,
Cordialement.
Bonjour @aspangaro-Inovea ,
En attendant ton correctif, j’ai fait les corrections manuellement. Je n’avais qu’une vingtaine de lignes à corriger dans la table accounting_bookeeping. J’ai ajouté les subledger_label manquants.
Je n’ai donc plus les doublons de comptes auxiliaires dans la balance auxiliaire. Mais j’ai toujours le message d’erreur « Bookkeeping Record Already Exits ».
Je n’ai toujours pas d’écritures dans le journal d’à nouveaux , ni sur l’exercice N, ni sur l’exercice N+1.
Mais j’ai des écritures dans les autres journaux à compter de 10/2023 (ouverture du nouvel exercice) puisque la comptabilité courante est suivie au mois. Est-ce ces écritures des autres journaux qui pourraient bloquer la clôture ?
Te remerciant de ton aide,
Cordialement.
Bonjour,
J’ai le même probleme. Je suis sur un exercice de janvier à décembre
J’essaye de clore l’exercie 2023 sur un environnement de test copie de ma prod
-
A nouveau : pas d’écriture sur 2024
-
vérification des comptes avec differents libellés : aucun (j’en ai corrigé quelques uns avant)
```
-- verification des comptes avec differents libellés
select bk.numero_compte,bk.label_compte , a.label from llx_accounting_bookkeeping bk
left join llx_accounting_account a on a.account_number = bk.numero_compte
where bk.numero_compte in (
SELECT bk2.numero_compte from llx_accounting_bookkeeping bk2
group by bk2.numero_compte having count(distinct(bk2.label_compte)) > 1
)
group by 1,2
```
-
vérification des comptes auxilaires avec differents libellés aucun (j’en ai corrigé quelques uns avant)
```
-- verification des doublons comptes auxiliaire
select bk.subledger_account,subledger_label, s.nom from llx_accounting_bookkeeping bk
left join llx_societe s ON bk.subledger_account = s.code_compta
where bk.subledger_account in (
SELECT subledger_account from llx_accounting_bookkeeping bk2
group by bk2.subledger_account having count(distinct(bk2.subledger_label)) > 1
)
group by 1,2
```
Et toujours la même erreur BookkeepingRecordAlreadyExists
J’ai peut etre une piste :
En regardant dans la log
Je vois que le pb apparait lorsque le traitement essaye d’inserer une nouvelle entrée pour le compte 120
2024-05-01 11:47:51 DEBUG AccountingAccount::fetch rowid= account_number=120
2024-05-01 11:47:51 DEBUG sql=SELECT a.rowid as rowid, a.datec, a.tms, a.fk_pcg_version, a.pcg_type, a.account_number, a.account_parent, a.label, a.labelshort, a.fk_accounting_category, a.fk_user_author, a.fk_user_modif, a.active, a.reconcilable, ca.label as category_label FROM llx_accounting_account as a LEFT JOIN llx_c_accounting_category as ca ON a.fk_accounting_category = ca.rowid WHERE a.account_number = '120' AND a.entity = 1 AND a.fk_pcg_version IN (SELECT pcg_version FROM llx_accounting_system WHERE rowid = 3)
2024-05-01 11:47:51 DEBUG BookKeeping::create
2024-05-01 11:47:51 DEBUG sql=SELECT count(*) as nb FROM llx_accounting_bookkeeping WHERE doc_type = 'closure' AND fk_doc = 3 AND numero_compte = '120' AND label_operation = '2022' AND entity = 1
2024-05-01 11:47:51 WARNING BookKeeping::create BookkeepingRecordAlreadyExists
J’en avais une déjà insérée plus haut dans la log.
Je ne comprenais pas pourquoi le traitement essaye d’insérer une nouvelle fois une entrée pour le compte 120.
Je vois que ce compte est utilisé dans le paramétrage dans la configuration « compte de cloture » comme compte de résultat (rien d’anormal).
J’ai donc modifier le numero de compte en mettant un compte que je n’utilise pas.
Et là ca passe.
@aspangaro-Inovea : en espérant que ca t’aide.
1 « J'aime »
Bonjour à tous,
Je suis en train de tester la clôture de mon côté sur une copie de ma prod, et je rencontre exactement le même problème.
Et je possède effectivement déjà un compte 120… Je n’ai pas encore poussé plus loin la question, mais ça semblerait cohérent…
Bonsoir à tous,
Je viens de tester sur la 19.0.2, le problème est toujours présent (Bulle « BookkeepingRecordAlreadyExists » quand on clique sur « Clôturer l’exercice fiscal »).
A-t-on une solution, même manuelle, pour pouvoir effectuer la clôture ? 
Merci par avance pour votre retour ! 
Bonjour @DavidM90 ,
Une solution partielle (que je n’ai pas testée) ici Cloture annuelle des comptes : erreur BookkeepingRecordAlreadyExists - #5 par garnier
À ma connaissance le problème devrait être résolu sur la prochaine version 19.0.3 (que j’attends patiemment
).
Bonne journée.
Cordialement.
2 « J'aime »
Erf, s’il faut faire les écritures à la main, je préfère attendre le correctif ^^’
Merci pour le retour
Et du coup, vivement la 19.0.3 ! 
1 « J'aime »
C’est pour cela aussi que j’attends le correctif 
Bonne journée.
Cordialement.
1 « J'aime »
Bonsoir à tous !
A-t-on des nouvelles concernant un correctif et/ou la sortie de la 19.0.3 ? 
Merci par avance et bonne soirée à tous ! 
Bonjour @DavidM90 ,
Non, pas de nouvelles de mon côté.
Désolé.
Cordialement.
Bonjour à tous !
Bon, mise à jour en 19.0.3… Et toujours le message « BookkeepingRecordAlreadyExists »… 