Cette page aborde des aspects pratiques pour la fusion des modules comptabilité-règlement et donc la bascule vers règlement new.
Cette bascule doit être traitée en mode projet, car chaque étape est importante et nécessite planification et validation
Rappel du contexte
Divalto a décidé de « fusionner » les deux modules historique Comptabilité et Règlement pour répondre aux exigences émises par les utilisateurs.
Fruit d’un travail de développement qui a débuté en 2019, la nouvelle solution a vu la refonte complète de la structure du module Règlement, par la création d’une nouvelle architecture basée sur le module Comptabilité.
Ainsi, les deux modules peuvent, à partir de la nouvelle version 10.7, exploiter le même objet, à savoir : les ventilations d’échéance.
De ce fait, le module Comptable devient maître du module Règlement ; la terminologie utilisée est le mot clé NEW pour le mode fusion.
Néanmoins, la possibilité de conserver la structure historique par l’utilisation des anciens programmes restera possible à partir de la version 10.7, mais sera à terme supprimée dans une version future afin de ne conserver que la nouvelle architecture « fusionnée ».
Pour plus d’informations, consultez la documentation fonctionnel à ce sujet, par exemple en version 10.11
La démarche
Pour les clients effectuant une migration depuis une version antérieure, et qui souhaitent activer la Fusion du module comptabilité et du module des règlements, il est indispensable d’effectuer certaines opérations visant à « assainir » la base de données.
En effet, des anomalies existantes sur les écritures pouvaient s’avérer totalement transparentes dans le module Règlement historique (les effets étant dissociés), mais avec l’activation de la Fusion peut les révéler dans le nouveau module Règlement et générer ainsi des anomalies de reprises.
Les différents contrôles et correctifs que nous proposons, visent à résoudre ces anomalies dans le but d’activer la Fusion avec une précision et une efficacité maximale.
L'étape de contrôle peut mettre en évidence des anomalies qu’il ne sera pas possible de corriger immédiatement.
C’est pourquoi il faut anticiper l'étape de contrôle de la base de données
PRÉREQUIS : Les contrôles prérequis à la mise en place de la fusion DCPT-DREG
Les étapes de contrôles des prérequis à une bonne fusion DCPT-DREG qui suivent doivent être faites dans l’ordre indiqué, et proposent une solution pour corriger les éventuelles anomalies détectées
C’est en majorité le contrôle d’intégrité qui permet de corriger les anomalies
Il est conseillé d’adapter la période pour intégrer l’ensemble des anciens exercices comptables (par exemple 01/01/1900 au 31/12/2099)
0. Pour chaque étape - préalable commun
La notion de dossier comptable a un impact sur ce qui suit :
Toutes les requêtes qui suivent utilisent une variable correspondant au dossier à traiter.
Il s’agit donc d’ajouter cette ligne à tout script, en adaptant le dossier cible avec celui à traiter
DECLARE @DOS VARCHAR(8) = '1'
1. Contrôle CP - LETTRAGE ENTRE EUX NON SOLDE
Utiliser SSMS ou un autre outil de requêtage SQL avec la requête suivante :
/*************************************/ /* CP - LETTRAGE ENTRE EUX NON SOLDE */ /*************************************/ -- vérifier que les indicateurs de lettrage sont cohérent select 'CP - INDICATEUR LETTRAGE INCOHERENT' = 'CP - INDICATEUR LETTRAGE INCOHERENT' , CP.DOS , CP.ECRNO , CP.ECRLG , CP.CPT , CP.CE4 , CP.LETT , CP.LETTDT , CP.DEV from CP where CP.DOS = @DOS and ( CP.CE4 = 2 and (left(CP.LETT,1) in (' ','*') or CP.LETTDT is null) -- lettré sans numéro ou date or CP.CE4 <> 2 and (left(CP.LETT,1) not IN (' ','*')) -- non lettré avec numéro ou partiel )
S’il n’y a aucun résultat, vous pouvez passer à l'étape suivante
Si vous avez des lignes en retour, il faut lancer le contrôle d’intégrité en cochant
contrôle des indicateurs techniques des ventilations par échéance
correction des indicateurs techniques des ventilations
2. Contrôle C8 - INDICATEUR DE PRÉSENCE DE VENTILATIONS MAL RENSEIGNE
Utiliser SSMS ou un autre outil de requêtage SQL avec la requête suivante :
/*************************************************************/ /* C8 - INDICATEUR DE PRESENCE DE VENTILATIONS MAL RENSEIGNE */ /*************************************************************/ -- recherche des ventilations mal cochées select 'C8 - VENTILATION MAL COCHE' = 'C8 - VENTILATION MAL COCHE 1' , C8.DOS , C8.ECRNO , C8.ECRLG , C8.CPT , C8.ECRDT , C8.LETTDT , C8.VTLCOD_0005 , VTLCOD_0005_CORRECT = '1' , NB_CP = 0 from C8 join C3 on C8.DOS = C3.DOS and C8.CPT = C3.CPT where (select COUNT(*) from CP where C8.DOS = CP.DOS and C8.ECRNO = CP.ECRNO and C8.ECRLG = CP.ECRLG) = 0 and C8.VTLCOD_0005 <> 1 and C3.CPTNAT in (3,4,5) -- nature client, fournisseur, personnel and C8.DOS = @DOS union select 'C8 - VENTILATION MAL COCHE' = 'C8 - VENTILATION MAL COCHE 2 ou 3' , C8.DOS , C8.ECRNO , C8.ECRLG , C8.CPT , C8.ECRDT , C8.LETTDT , C8.VTLCOD_0005 , VTLCOD_0005_CORRECT = '2 ou 3' , NB_CP = COUNT(*) from C8 join CP on C8.DOS = CP.DOS and C8.ECRNO = CP.ECRNO and C8.ECRLG = CP.ECRLG join C3 on C8.DOS = C3.DOS and C8.CPT = C3.CPT where C8.VTLCOD_0005 < 2 and C3.CPTNAT in (3,4,5) -- nature client, fournisseur, personnel and C8.DOS = @DOS group by C8.DOS , C8.ECRNO , C8.ECRLG , C8.CPT , C8.ECRDT , C8.LETTDT , C8.VTLCOD_0005 having COUNT(*) > 0 order by C8.ECRDT desc, C8.DOS, C8.ECRNO, C8.ECRLG, C8.CPT, C8.LETTDT
S’il n’y a aucun résultat, vous pouvez passer à l'étape suivante
Si vous avez des lignes en retour, il faut lancer le contrôle d’intégrité en cochant : contrôle des indicateurs techniques des écritures
Le contrôle d’intégrité vous proposera d’effectuer les corrections (à VtlCod(5) )
3. Contrôle C8 CP - INCOHÉRENT
Utiliser SSMS ou un autre outil de requêtage SQL avec la requête suivante :
-- vérifier que les CP sont cohérent par rapport aux C8 select 'C8 CP - INCOHERENT' = 'C8 CP - INCOHERENT' , C8.DOS , C8.CPT , C8.ECRNO , C8.ECRLG , SOLDE_C8 = (case when C8.SENS = 1 then C8.MT else -C8.MT end) , SOLDE_CP = SUM(case when CP.SENS = 1 then CP.MT else -CP.MT end) , C8.LETT , C8.LETTDT , count(distinct C8.DEV) from C8 left outer join CP on C8.DOS = CP.DOS and C8.ECRNO = CP.ECRNO and C8.ECRLG = CP.ECRLG join C3 on C8.DOS = C3.DOS and C8.CPT = C3.CPT where C8.DOS = @DOS and C3.CPTNAT in (3,4,5) -- nature client, fournisseur, personnel group by C8.DOS, C8.CPT, C8.ECRNO, C8.ECRLG, C8.SENS, C8.MT, C8.LETT, C8.LETTDT having (case when C8.SENS = 1 then C8.MT else -C8.MT end) <> SUM(case when CP.SENS = 1 then CP.MT else -CP.MT end) order by C8.DOS, C8.CPT, C8.ECRNO, C8.ECRLG
S’il n’y a aucun résultat, vous pouvez passer à l'étape suivante
Si vous avez des lignes en retour, il faut lancer le contrôle d’intégrité en cochant :
contrôle des montants des ventilations par échéance
création du CP qui solde les ventilations par rapport à l’écriture
Le contrôle d’intégrité vous proposera d’effectuer les corrections (créer des ventilations manquantes)
4. Contrôle LETTRAGES NON SOLDÉS ENTRE EUX
Utiliser SSMS ou un autre outil de requêtage SQL avec la requête suivante :
-- vérifier que les lettrages des CP sont bien soldés select 'CP - LETTRAGE NON SOLDES' = 'CP - LETTRAGE NON SOLDES' , CP.DOS , CP.CPT , CP.LETT , CP.LETTDT , NB_PARTIEL = sum(case when left(C8.LETT,1) = '*' then 1 else 0 end) , SOLDE = SUM(case when CP.SENS = 1 then CP.MT else -CP.MT end) , PREMIER_C8 = MIN(CP.ECRNO) , DERNIER_C8 = MAX(CP.ECRNO) from CP join C8 on CP.DOS = C8.DOS and CP.ECRNO = C8.ECRNO and CP.ECRLG = C8.ECRLG join C3 on CP.DOS = C3.DOS and CP.CPT = C3.CPT where left(CP.LETT,1) not in (' ','*') -- lettrage renseigné et pas de lettrage partiel and CP.DOS = @DOS and C3.CPTNAT in (3,4,5) -- nature client, fournisseur, personnel and CP.LETTDT is not null group by CP.DOS, CP.CPT, CP.LETT, CP.LETTDT having SUM(case when CP.SENS = 1 then CP.MT else -CP.MT end) <> 0 order by year(CP.LETTDT) desc, CP.CPT, CP.LETT, CP.LETTDT ------------------------------------------------------ -- vérifier que les lettrages des C8 sont bien soldés select 'C8 - LETTRAGE NON SOLDE' = 'C8 - LETTRAGE NON SOLDE' , C8.DOS , C8.CPT , C8.LETT , C8.LETTDT , SOLDE_C8 = SUM(case when C8.SENS = 1 then MT else -MT end) from C8 --with (index(INDEX_B)) where C8.CE4 = 2 --and left(C8.LETT,1) not in (' ','*') -- lettrage renseigné et pas de lettrage partiel and C8.DOS = @DOS --and C8.LETTDT is not null --and C8.CPT in (select C3.CPT from C3 where C3.DOS = 1 and C3.CPTNAT in (3,4,5)) group by C8.DOS, C8.CPT, C8.LETT, C8.LETTDT having SUM(case when C8.SENS = 1 then C8.MT else -C8.MT end) <> 0 order by C8.DOS, C8.CPT, C8.LETT, C8.LETTDT ------------------------------------------------------ -- vérifier que les lettrages des C8 sont bien soldés select 'CPT - LETTRAGE NON SOLDE' = 'CPT - LETTRAGE NON SOLDE' , C8.DOS , C8.CPT , SOLDE_C8 = SUM(case when C8.SENS = 1 then MT else -MT end) from C8 --with (index(INDEX_B)) where C8.CE4 = 2 --and left(C8.LETT,1) not in (' ','*') -- lettrage renseigné et pas de lettrage partiel and C8.DOS = @DOS --and C8.LETTDT is not null --and C8.CPT in (select C3.CPT from C3 where C3.DOS = 1 and C3.CPTNAT in (3,4,5)) group by C8.DOS, C8.CPT having SUM(case when C8.SENS = 1 then C8.MT else -C8.MT end) <> 0 order by C8.DOS, C8.CPT
S’il n’y a aucun résultat, vous pouvez passer à l'étape suivante
Si vous avez des lignes en retour, il faut lancer la Reprise du lettrage en cochant :
traiter les écritures déséquilibrées simples
5. Contrôle C8 - LETTRAGE INCOHÉRENT
Utiliser SSMS ou un autre outil de requêtage SQL avec la requête suivante :
------------------------------------------------------ -- vérifier que les indicateurs de lettrage sont cohérent select 'C8 - INDICATEUR LETTRAGE INCOHERENT' = 'C8 - INDICATEUR LETTRAGE INCOHERENT' , C8.DOS , C8.ECRNO , C8.ECRLG , C8.CPT , C8.CE4 , C8.LETT , C8.LETTDT , C8.ECRDT , C8.DEV from C8 where C8.DOS = @DOS and ( C8.CE4 = 2 and (left(C8.LETT,1) = ' ' or C8.LETTDT is null) -- lettré sans numéro ou date or C8.CE4 <> 2 and (left(C8.LETT,1) not IN (' ','*')) -- non lettré avec numéro ou partiel )
S’il n’y a aucun résultat, vous pouvez passer à l'étape suivante
Si vous avez des lignes en retour, contactez le support pour une solution adaptée à l’incohérence détectée
6. Contrôle CP - DATE D'ÉCHEANCE NON RENSEIGNÉE
Utiliser SSMS ou un autre outil de requêtage SQL avec la requête suivante :
--------------------------------------------------------- -- chercher les dates d'échéances manquantes dans les CP select 'CP - ECHEANCE VIDE' = 'CP - ECHEANCE VIDE' , CP.DOS , CP.ECRNO , CP.ECRLG from CP where CP.ECHDT is null and CP.DOS = @DOS
S’il n’y a aucun résultat, vous pouvez passer à l'étape suivante
Si vous avez des lignes en retour, il faut lancer la requête suivante (dossier par dossier), qui va renseigner les dates d'échéances sur les CP à partir des C8
update CP set ECHDT = C8.ECRDT from CP join C8 on CP.DOS = C8.DOS and CP.ECRNO = C8.ECRNO and CP.ECRLG = C8.ECRLG where CP.ECHDT is null and CP.DOS = @DOS
ON SE PRÉPARE : A basculer dans le mode fusion DCPT-DREG
A ce stade, vérifiez que les étapes de contrôle ci-dessus sont bien effectuées sans anomalie signalée afin de permettre la meilleure activation de la fusion
Il reste la phase propre à l’activation dans le chapitre suivant qui se résume ainsi:
Paramétrer la fiche dossier pour activer la fusion
Lancer un traitement qui bascule les effets de l’ancien mode vers le mode fusion
BASCULE : Bascule vers le mode fusion DCPT-DREG
1. Activer la fusion des modules Comptabilité et règlements (V10.7)
Dans Comptabilité / Fichier / Organisation / Dossier, l'option Le module règlement se base sur les écritures comptables (Onglet GÉNÉRALITÉS - Groupe Codification) permet de préciser que l'on utilise la version fusionnée des modules Comptabilité et Règlement de Divalto infinity.
Lorsque cette case est cochée, le dossier est considéré comme Lié à divalto Règlement. Par conséquent, lors de l'intégration de pièce à partir de Commerce & Logistique ainsi que lors de la saisie d'écritures comptables sur des journaux liés à Divalto Règlement, plus aucun effet ne sera généré.
Une fois cette coche positionnée, les anciens programmes des règlement traitant des effets en attente ne sont plus accessibles. Les programmes de changement d'état pour les états en portefeuille ou en banque sont eux, toujours accessibles. Les nouveaux programmes d'encours règlement et d'interrogation règlement sont directement appelés à partir des fiches tiers, de la saisie de pièce etc. Le calcul du pourcentage réglé d'une pièce est réalisé à partir des écritures de comptabilité.
A contrario, si cette coche n'est pas positionnée, les nouveaux programmes de règlements traitant des effets en attente ne sont pas accessibles et tout se passe comme avant fusion des modules Comptabilité et Règlement de Divalto infinity.
Au niveau du menu, on trouve deux entrées correspondant au module des règlements:
Règlement NEW : versions des programmes postérieures à la fusion
Règlement OLD : versions des programmes antérieures à la fusion
2. Mise à jour des écritures à partir de règlement (V10.7)
Le programme Règlement NEW / Utilitaire / Mise à jour des écritures à partir de règlement permet de charger tous les effets R2 en position en attente actifs et de mettre à jour les écritures. Indispensable aux environnements existants souhaitant “basculer” sur la nouvelle architecture, il traite les dossiers dont l’option Le module règlement se base sur les écritures comptables est cochée, uniquement. Lorsqu'une écriture est mise à jour à partir d'un effet, l'effet sera topé comme déjà utilisé (indicateur CEF = '2'). Il ne sera donc plus accessible si on ré-effectue le traitement ultérieurement.
Le mode de traitement permet, comme à l’origine, de lancer le programme en Simulation (anciennement “Tester uniquement”) ou en Réel.
Les options proposées :
Traiter tous les dossiers : Traite en une fois tous les dossiers dont l’option “Le module règlement se base sur les écritures comptables” est cochée dans la fichier dossier comptable
Traiter les effets : fonctionnement basique du programme, précisant que sans autres options complémentaires, l’utilitaire applique la fusion sur la seule base des effets En attente, et En portefeuille ayant générés des écritures sans compte de tiers (notamment dans le cas de Dailly/Factor).
Traiter les écritures non-lettrées : en cas de déphasage entre les modules Comptabilité et Règlement, il se peut que des effets soient “traités” dans le module Règlement tandis que l'écriture n’est pas lettrée en Comptabilité. Dans ce cas, il convient d’appliquer cette option pour assurer la prise en charge de ces écritures dans le nouveau module Règlement.
Traiter les écritures lettrées à partir du … : permet de traiter l’historique. Cette option peut-être intéressante pour des écritures récentes, dans le cas où l’utilisateur aurait fait une erreur de lettrage avant le passage en Fusion et qu’il effectue un dé-lettrage par la suite. Les écritures concernées seront alors immédiatement éligible au nouveau programme de Règlement.
3. Informations techniques
Vous trouverez ci-dessous le descriptif des tables liés au module Règlement “fusionné”, accompagné d’un exemple de règlement traité :
Il est déconseillé de gérer des dossiers comptables fusionnés avec d’autres qui ne le sont pas, dans les contextes Inter-compagnie et Inter-agence.
Pour gérer le double menu Règlement (notamment en cas de programmes spécifiques), il s’agira de passer par SHIFT+F4 sur l’un des deux menus.
Par le biais du “Nom de l’application 2” (à utiliser dans les regroupements des menus) présent dans les paramètres généraux, il sera possible de distinguer le menu Règlement NEW en saisissant “DREG”, du menu Règlement OLD en saisissant “DREGOLD” :