Import de factures clients et création de factures ... client :-)

Pour information, ça fait plusieurs fois qu’on me sollicite pour détourner ScanInvoices (import des factures fournisseurs) et faire un import de factures clients qu’il faut ensuite utiliser comme base pour créer des factures … clients « natives » dolibarr.

La première fois c’était pour récupérer un historique suite à un incendie (récupération de l’historique … papier, le double des factures clients étant chez l’expert comptable, tout le reste ayant disparu dans l’incendie, les « pseudo sauvegardes » aussi car réalisées sur « cartouches » rangées au dessus du serveur).

La seconde pour une entreprise de taille importante qui ne peut pas changer son outil de facturation et qui est contraintes de produire des factures électroniques à la norme factur-x, nous importons alors les PDF produits par leur vieux logiciel de facturation et produisons des factures clients « identiques » avec la couche factur-x en plus)…

Et dernièrement pour une solution de « migration en douceur » vers dolibarr : les factures vont encore être réalisées avec l’ancien logiciel pendant quelques mois pour des raisons d’organisations internes et basculeront en « 100% dolibarr » lorsque tout sera prêt. Au passage l’import des factures clients permet d’améliorer les factures (ajout du factur-x également).

Alors ce fil sur le forum a pour objectif de savoir si vous avez vous aussi rencontrés ce besoin et si vous pensez que ça serait pertinent de continuer à avancer sur ce dev pour proposer pourquoi pas un module assez « facile » à configurer pour réaliser ce boulot ?

(pour l’instant c’est du code spécifique à chaque fois mais je commence à entrevoir des recouvrements et à imaginer un truc avec une configuration initiale du module un peu costaud mais tout à fait jouable)

1 « J'aime »

Bonjour, oui effectivement beaucoup de clients changent de logiciel et perdent leur historique.
L’OCR des factures clients est une solution possible. En plus comme toutes les factures viendraient du même logiciel, je suppose que ça serait plus simple que pour les factures fournisseurs.

Sinon importer les factures (sans les lignes car en général on arrive pas à les exporter depuis l’ancien logiciel) puis utiliser le collecteur de mails (sur les éléments envoyés de la personne qui envoyait les factures) est une autre solution, pour au moins avoir le fichier pdf accessible mais je n’arrive pas à comprendre et trouver d’infos sur la syntaxe du collecteur de mails pour enregistrer une pièce jointe et la lier à document dont le numéro matche.

Hello @cdeboudt
j’ai du mal à vous suivre … pour que le collecteur mail puisse « recoller » des éléments il faut que les éléments dolibarr pré-existent (à savoir la facture client existe déjà dans dolibarr et vous voulez joindre le « vieux pdf archive »).

mais ça veut dire que vous devez créer toutes les factures avant d’importer les pièces jointes, c’est un gros boulot alors que scaninvoices « client-client » permet de tout faire d’un coup …

Oui mais dans l’exemple auquel je pense, j’ai déjà importé les 11 000 factures (les factures uniquement, pas les lignes de factures). Donc j’ai bien des factures, avec un numéro, et le collecteur de mails (les factures ont forcément été envoyées par mail) devrait être capable d’associer le pdf du mail (dont le numéro de facture est mentionné dans l’objet) à la facture dolibarr importée dans Dolibarr.

okéééééééééé je n’avais pas assimilé cette information, je pense que pour les utilisateurs du forum cette étape les intéressera … n’hésitez donc pas à détailler la méthode que vous avez mise en oeuvre pour réimporter vos 11.0000 factures …

J’ai dernièrement importé plusieurs milliers de factures, l’export dont je disposait étant un fichier csv.

Les étapes pour l’import ont été les suivantes:

Tout d’abord création d’une BDD mysql à partir du fichier d’export csv, avec création d’index et de liaisons lignes/factures pour pouvoir travailler correctement à partir des données

Puis mise au point d’un script qui va créer les factures avec l’api de dolibarr avec les fonctionnalités suivantes:

  • création du tiers si inexistant
  • création de l’adresse de livraison et facturation si inexistante
  • création de la facture
  • ajout des lignes de la facture avec au préalable création du produit si inexistant
  • validation de la facture
  • ajout des paiements sur la facture
  • ajout pièces jointes sur facture fournisseur

Cela a également nécessité d’écrire un module dolibarr spécifique pour ajouter des endpoint spécifiques à l’API (récupération liste références produits, ajout paiement partiel sur facture fournisseur…).

Bonjour :slight_smile:

concernant les imports de factures et quand on évoque une migration depuis un ancien erp, les factures clients ne sont généralement pas les seuls éléments qu’on désire conserver;
j’ai quelques expériences fructueuses en ce qui concernent les migrations depuis différents systèmes, comme pour Sage 100, dans cette démo anonymisée, identifiant & mot de passe : demo, mais j’ai aussi pu effectuer cela à partir d’autres erp tels que ebp, zoho, lmb, wavesoft, ou récemment un erp nommé SfR qui datait des années 90 - avec plus de 40 000 produits, près de 20 000 factures clients et 5 000 factures fournisseurs
image

Ce qui fait que chaque migration est bien souvent spécifique, c’est qu’il faut intégrer les tiers, les produits et services, les diverses catégories utilisées, et éventuellement les nomenclatures des produits, les tarifs par clients ou par fournisseurs.
La technique que j’utilise c’est de reconstruire le script sql pour la migration, ce qui permet de former les utilisateurs sur un jeu d’essai, puis de reconstituer intégralement la base sql juste avant le basculement…

Bonne continuation

De mémoire: Sur Sage j’affiche les clients (j’active toutes les colonnes), je sélectionne tout, je copie/colle dans Excel.
Une fois dans Excel, je nomme les colonnes telles qu’elles sont dans le modèle de fichier d’import Dolibarr. Je retravaille certaines choses (notamment remplacer les pays en texte libre de sage en code pays de Dolibarr en faisant du « rechercher / remplacer ». Je supprime les colonnes qui ne m’intéressent pas. Une fois terminé, j’enregistre mon fichier excel en csv (Dolibarr est bien plus performant en import depuis csv qu’en import depuis excel). En plus ça evite les problèmes de format de date ou Excel affiche dans le format local mais stocke dans le format international. Lors de la première tentative, il trouve des erreurs, il faut corriger les erreurs (Sage est assez laxiste, dans champ téléphone par exemple on peut mettre « 0320202020/0620202020 », ce que Dolibarr refuse) et retenter.

Je fais la même chose sur les produits. Là il faut remplacer les « , » par « . » dans les prix il me semble sinon Dolibarr ne pourra pas interpréter.

Surtout quand on créé une tentative d’import, enregistrer le profil d’import, ça permet de gagner du temps sur les tentatives suivantes. Et quand on fait une 2nde tentative avec un fichier modifié, je nomme différemment le fichier pour éviter que Dolibarr ne se rende pas compte que mon fichier est différent (sans doute histoire de cache du navigateur).

Même si c’est galère il est important de récupérer le champ « date de création » pour les produits et clients, car si un jour on veut nettoyer la base, c’est important de pouvoir trier selon la date de création.

Voilà après beaucoup de temps passé, j’ai bien mes 1000 produits, mes milliers de tiers, et mes 11000 factures qui sont reliées à mes milliers de tiers, mais malheureusement pas à mes 1000 produits car je ne suis pas parvenu à exporter les lignes de factures depuis Sage.

L’outil d’import de Dolibarr est plutôt bien ficelé, même si ça serait bien qu’on puisse passer outre des erreurs (tronquer la valeur, ou ignorer le champ de cet item plutôt que tout refuser). En général ça n’est pas tellement l’import dans Dolibarr le problème, c’est plutôt les capacités d’export des logiciels d’origine.