Extension LibreOffice pour générer des factures Factur‑X

Posté par (page perso) . Édité par ZeroHeure, Davy Defaud, Benoît Sibaud et Xavier Claude. Modéré par Pierre Jarillon. Licence CC by-sa.
79
31
déc.
2019
Bureautique

J’ai le plaisir de vous présenter ma dernière contribution open source : une extension LibreOffice permettant de générer des factures électroniques au format Factur‑X dans LibreOffice Calc.

Une facture électronique au format Factur‑X est une facture PDF classique qui contient en pièce jointe du PDF un fichier factur-x.xml au format Cross Industry Invoice (CII) qui décrit les informations de la facture sous forme structurée. Ainsi, quand on reçoit une facture au format Factur‑X, on peut la comptabiliser automatiquement sans recourir à des systèmes de reconnaissance de caractères (qui ne sont jamais totalement fiables !).

Cette contribution est mon cadeau de Noël à toutes les entreprises françaises de moins de dix salariés qui sont concernées par l’obligation de déposer leurs factures à destination de la sphère publique (État, collectivités locales, hôpitaux, etc.) sur Chorus Pro à partir du 1ᵉʳ janvier 2020. Chorus Pro est la plate‑forme de facturation électronique de l’administration française et Factur‑X est l’un des formats de facture électronique pris en charge. Cette extension LibreOffice apporte une solution à toutes les petites entreprises qui font leurs factures dans un simple tableur !

Techniquement, cette extension LibreOffice contient une macro développée en Python (ainsi que les bibliothèques Python requises) permettant de générer une facture ou un avoir au format Factur‑X dans LibreOffice Calc. La norme Factur‑X spécifie cinq profils correspondant à cinq niveaux de détail dans les données structurées fournies dans le fichier XML : Minimum, Basic WL, Basic, EN 16931 (qui correspond à la norme européenne du même nom) et Extended. Tous les profils Factur‑X sont acceptés par la plate‑forme Chorus Pro. L’extension que j’ai développée permet de générer une facture Factur‑X au profil Minimum.

L’extension LibreOffice a été testée sous Windows, macOS et GNU/Linux. Elle est totalement traduite en français. Des factures d’exemple fonctionnant avec la macro sont fournies en français et en anglais ; vous n’avez plus qu’à les personnaliser pour votre entreprise. La génération de la facture Factur‑X se fait en local grâce à ma bibliothèque Python factur‑x embarquée dans l’extension LibreOffice. Cette extension LibreOffice est publiée sous licence GPL.

Quelques précisions :

  1. l’obligation d’émettre des factures électroniques au 1ᵉʳ janvier 2020 ne concerne que les factures à destination de l’État, des collectivités locales, des hôpitaux et de certains établissements publics (B2G) ; il n’y a pas d’obligation pour les factures B2B ni pour les factures B2C ;
  2. Chorus Pro gère d’autres normes de factures électroniques ; il est par exemple possible de déposer un fichier XML au format Universal Business Language (UBL) ou Cross Industry Invoice (CII) ou d’autres formats moins connus ;
  3. vous pouvez déposer les factures manuellement sur le portail Web de Chorus Pro, mais il est également possible de les déposer via une API ou en EDI (prévoir l’achat d’un certificat SSL client RGS une étoile) ;
  4. si votre logiciel de facturation ne sait générer que des factures PDF « simples », vous pouvez quand même déposer vos factures PDF sur le portail Chorus Pro, mais ce sera à vous de saisir manuellement les données de la facture (SIRET de l’administration destinataire, numéro de facture, date de facture, total HT, total TTC, numéro de commande, etc.), avec l’aide du système de reconnaissance de caractères (OCR) intégré dans Chorus Pro.

Si vous connaissez des petites entreprises qui font leurs factures dans un tableur, n’hésitez pas à leur parler de cette extension LibreOffice pour Factur‑X !

Aller plus loin

  • # Ça a l'air super

    Posté par (page perso) . Évalué à 4.

    Sachant que le format OpenDocument est en XML, il n'y avait pas moyen de faire cette extension en utilisant les bibliothèques de LibreOffice plutôt que de rajouter une couche avec Python ? Ce n'est pas que j'adore ou que je déteste Python mais en pratique, cela rajoute un langage en dépendance et donc complique fortement sa maintenance et une éventuelle intégration à long terme ?

    Qu'en penses-tu ?

    • [^] # Re: Ça a l'air super

      Posté par (page perso) . Évalué à 8.

      Le jour où la fonction d'export PDF de LibreOffice supportera l'ajout de pièce jointes (ce qui n'est pas le cas actuellement, en tout cas pas sur la version de LibreOffice présente dans Ubuntu 18.04), alors on pourra se passer de ma librairie python factur-x qui post-process le PDF généré par LibreOffice pour ajouter le fichier "factur-x.xml" en pièce jointe. Développer le post-processing du PDF pour ajouter la pièce jointe en LibreOffice Basic me semble hyper-difficile.

      Si un jour LibreOffice supporte nativement l'ajout de pièces jointes dans l'export PDF, ça permettrait de re-développer cette extension et de la simplifier énormément… et pourquoi pas d'abandonner le python pour LibreOffice Basic !

      Je n'ai pas encore discuté de cette feature avec des développeurs LibreOffice… il faudrait d'abord que je vérifie que la feature n'est présente ni dans une version super récente ni dans le trunk.

      D'ailleurs, il y a des cas où on a besoin de déposer une pièce jointe sur Chorus en plus de la facture (genre un PV de recette de travaux qui a déclenché la facture), et, dans ce cas, il faut que ce soit une pièce jointe supplémentaire dans la facture PDF. Pour l'instant, mon extension LibreOffice ne le permet pas, mais ça ne serait pas très difficile à développer (vu que ma lib python factur-x le supporte). Je le ferai si je rencontre qqun qui en a besoin…

      • [^] # Re: Ça a l'air super

        Posté par (page perso) . Évalué à 2. Dernière modification le 01/01/20 à 10:22.

        Je ne sais pas si on est dans le même cas, mais LibreOffice est déjà capable d'inclure le fichier odt dans le PDF. C'est accessible via une option à cocher quand on utilise la fenêtre d'export

        Il faudrait voir si l'odt est une pièce jointe du PDF, je ne sais pas…

        • [^] # Re: Ça a l'air super

          Posté par (page perso) . Évalué à 2.

          En fait ça génère un fichier à l'extension pdf qui contient les deux fichiers le pdf et l'odf. Il faut ouvrir le fichier à partir de LibreOffice pour pouvoir ouvrir l'odf. Donc ça n'est pas une pièce jointe mais une archive "complète" je dirais.

          OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

          • [^] # Re: Ça a l'air super

            Posté par (page perso) . Évalué à 10.

            Je confirme : quand on utilise la fonction "PDF Hybride (fichier ODF incorporé)", l'incorporation du fichier ODF n'est pas fait sous forme d'une pièce jointe (/Names /EmbeddedFiles /Names dans le Catalog du PDF), mais sous une autre forme (/AdditionalStreams directement dans le trailer du PDF). Comme j'avais encore jamais vu cette entrée /AdditionalStreams dans le trailer d'un PDF, j'ai été regardé dans la spec de la norme PDF (PDF Reference 1.7 d'Adobe, 6th edition) : a ma grande surprise, il n'y a aucune mention du terme "AdditionalStreams" dans la spec PDF !!! J'ai fait une petite recherche Internet à ce sujet, et je suis tombé sur ce bug report de LibreOffice qui dit que la clé "/AdditionalStreams" est une clé propriétaire inventée par LibreOffice (alors que la spec PDF interdit l'ajout de clés propriétaires) et que le PDF "hybride" généré n'est donc pas conforme à la norme PDF, et suggérant d'utiliser au contraire les pièces jointes PDF (qui a non seulement l'avantage d'être conforme au standard PDF, mais aussi l'avantage de donner la possibilité à l'utilisateur de voir que ce PDF est spécial avec l'ODF embarqué quand il ouvre le PDF dans son lecteur PDF habituel, et aussi d'extraire l'ODF du PDF avec un simple lecteur PDF, sans avoir besoin de LibreOffice pour cela). A ce stade du bug report, la réponse a été de dire que les lecteurs PDF ne sont pas dérangés par cette clé propriétaire et que donc ce n'était pas un bug prioritaire ! Comme quoi, on peut s'appeler LibreOffice, être partisan du format ouvert OpenDocument et ne pas respecter les autres normes comme PDF… très surprenant !

            • [^] # Re: Ça a l'air super

              Posté par (page perso) . Évalué à 5. Dernière modification le 02/01/20 à 08:41.

              Wow, c'est effectivement étonnant, je ne pensais pas que LibreOffice faisait des PDFs non-standards avec cette option.

              Je trouve aussi que l'argumentation de l'utilisateur kurt.pfeifle est vraiment mauvaise: avec ce genre de discours, on ne corrige jamais aucun bug… genre "pas vu, pas pris".

              Par contre, je pense que ça serait intéressant d'ajouter un commentaire pour expliquer que, si LibreOffice corrige ce bug, ça sera utile pour pouvoir inclure facilement des factur-x.

              • [^] # Re: Ça a l'air super

                Posté par (page perso) . Évalué à 5.

                Bonne idée ! J'ai ajouté un commentaire dans le bug report pour suggérer d'avoir un vrai support des pièces jointes dans l'export PDF de LibreOffice et de l'utiliser pour leur fonctionnalité de PDF Hybride… ça ferait d'une pierre deux coups !

                • [^] # Re: Ça a l'air super

                  Posté par (page perso) . Évalué à 2.

                  Tu veux que j'en rajoute une couche ? Ou bien ?

                  Avec LibreOffice cela peut être utile de confirmer que c'est un bug à corriger pas un truc à traiter par le mépris.

                  OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

                  • [^] # Re: Ça a l'air super

                    Posté par . Évalué à 3.

                    C'est déjà fait par Julien Nabet : « LO should respect PDF standard, I put this one to normal importance but it should be even higher than this.» et il a ajouté 3 autres développeurs de premier plan en copie.

                    • [^] # Re: Ça a l'air super

                      Posté par (page perso) . Évalué à -3.

                      Les utilisateurs de base ne comptent pas, en effet. Merci de le confirmer.

                      OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

  • # Procédure d'install pour distro Linux autre que Ubuntu/Debian

    Posté par (page perso) . Évalué à 5.

    J'en profite pour faire une petite demande : si vous utilisez une distribution Linux autre que Debian ou Ubuntu (ou leurs dérivés) et que vous êtes prêt à tester mon extension LibreOffice pour Factur-X, ça m'intéresse de savoir si vous avez besoin d'installer un paquet non installé par défaut pour supporter les macros Python sous LibreOffice (sur Debian/Ubuntu, il faut ajouter le paquet libreoffice-script-provider-python).

    Cela me permettra de compléter les instructions d'installation actuelles où seules Ubuntu et Debian sont mentionnées.

  • # liberté

    Posté par (page perso) . Évalué à 0.

    J’ai le plaisir de vous présenter ma dernière contribution open source libre

    non ?

    • [^] # Re: liberté

      Posté par (page perso) . Évalué à 10.

      Chacun est libre de son vocabulaire.
      Voir les Règles de modération :

      La terminologie de l'auteur doit être respectée, sauf si elle est manifestement fausse (donc on garde Linux s'il dit Linux, GNU/Linux s'il dit GNU/Linux, open source s'il dit open source, etc

      "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

      • [^] # Re: liberté

        Posté par . Évalué à 10. Dernière modification le 01/01/20 à 14:24.

        Chacun est-il libre de poser des questions en s'exposant volontairement au jugement des utilisateurs inscrits ?

        Il me semble que ToasteR ne s'est pas opposé à la terminologie de l'auteur, mais a posé posément, respectueusement, peut-être naïvement (ah non, compte créé en 2002), une question, qui plus est en s'adressant directement à l'auteur.

        La licence de ce projet étant la GPLv3, il est légitime de se demander si ce choix de terminologie est fait en toute connaissance de cause ou plus simplement par désintéressement au cours de la rédaction pour ce genre de précision pompeuse.

        L'auteur reste libre de répondre ou d'ignorer la question s'il la considère incongrue.
        Les utilisateurs inscrits restent libres de moinsser, pertinenter et commenter.
        Les modérateurs restent libre de modérer.
        Les rappels intempestifs au règlement contribue à dégrader l'ambiance du site (écrit celui qui y a succombé très récemment et cherche encore à déterminer si il a été intempestif ou pas).

        mais manifestement je fatigue, vieillis et me grmphssifis (EDIT: c'est peut-être ça devenir un troll ?!).
        Est-ce que la question de ToasteR est lourde, pompeuse et sans intérêt ? peut-être…
        Est-il un habitué de ce genre de question, à la gâchette facile, d'où le rappel au règlement ? je ne sais pas…
        Est-ce que ce commentaire apporte quelque chose ? je doute…
        Restera, restera pas, je me la pose de plus en plus celle là… bonne année…

        et j'oubliais le plus important: merci à Alexis pour cet outil !

        Ce commentaire passe-t-il les trois tamis de Socrate ?

        • [^] # Re: liberté

          Posté par . Évalué à 3.

          Les rappels intempestifs au règlement contribue à dégrader l'ambiance du site>

          Contribuent.

          Comme les rappels intempestifs à la conjugaison, d'ailleurs ;)

          Il se prend pour Napoléon, son état empire.

  • # Logiciel ?

    Posté par (page perso) . Évalué à 5.

    Juste une petite note pour préciser que les entreprises utilisent des logiciels de gestion commerciale pour faire leurs factures. Utiliser LibreOffice et cette extension risque de ne pas être très pratique.

    J'en profite pour vous annoncer que la prochaine version d'OpenConcerto (ERP OpenSource) intégrera Factur-X en standard lors de la création d'une facture.

    • [^] # Re: Logiciel ?

      Posté par . Évalué à 9.

      Juste une petite note pour préciser que les entreprises utilisent des logiciels de gestion
      commerciale pour faire leurs factures.

      Pas forcément, ça dépend des situations et des besoins de ces entreprises.

      Pour la mienne (2 employés, CA environ 250 k€, une trentaine de factures par an), les factures sont éditées et suivies avec une simple suite bureautique (traitement de texte et tableur). La saisie comptable est faite une fois par an, au moment du bilan annuel. Et c'est très pratique et simple comme ça.

      Une solution permettant d'éditer simplement une facture au format Chorus Pro depuis la suite bureautique peut bien rendre service.

      M'en bati sieu nissart

      • [^] # Re: Logiciel ?

        Posté par (page perso) . Évalué à 5.

        Moi j'utilise une base de données que j'ai créée sous Base avec un bouton qui ouvre le modèle de facture (avec numérotation auto) et, effectivement, cette extension est encore mieux que ce que je faisais. Je veux dire, étant donné qu'elle se base sur un modèle, je vais simplement changer la destination du bouton et le faire pointer sur le modèle de facture "factur-x". Pas plus compliqué que ça.

        OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

  • # Erreur de LibreOffice au lancement de la génération du pdf

    Posté par (page perso) . Évalué à 2.

    Bon, j'essaie, je précise que je n'ai pas de numéro de TVA mais un siret valide et pas de numéro Chorus Pro (je ne sais pas si ça a un lien, mais je ne crois pas).

    L'erreur :

    Une erreur de structure de script s'est produite lors de l'exécution du script vndsunstartscript:factur-x_macrooxt|pasckage| libreoffice_facturx_macri.py$generate_facturx_invoice_v?
    language=Python&location=user:uno_packages en Python.

    Message: : 'facture-x_macro.oxt'
    File "/opt/libreoffice6.3/program/pythonscript.py", line422, in getStorageUrlFromPersistentUrl
    package = self.mapPackageName2Path[ packageName ]

    L'ordinateur :

    Mageia 7.1 avec des librairies Python (lib64python3-devel, lib64python3.7, lib64python3.7-stdlib, lib64python3.7-testsuite et libobasis6.3-python-script-provider plus des tas d'autres trucs Python, en fait si je ne me trompe pas il y a du Python installé par défaut dans Mageia 7).

    Version: 6.3.4.2
    Build ID: 60da17e045e08f1793c57c00ba83cdfce946d0aa
    Threads CPU : 4; OS : Linux 5.4; UI Render : par défaut; VCL: gtk3;
    Locale : fr-FR (fr_FR.UTF-8); Langue IHM : fr-FR
    Calc: threaded

    OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

    • [^] # Re: Erreur de LibreOffice au lancement de la génération du pdf

      Posté par (page perso) . Évalué à 3.

      Et quelle est la version utilisée de l'extension LibreOffice pour Factur-X ?
      Dans la version 0.15, il y avait un bug qui provoquait un plantage de la macro quand le numéro de TVA de l'émetteur n'était pas renseigné (et 2 autres erreurs de ce genre). Je l'ai corrigé dans la version 0.16.
      Est-ce que l'erreur se produit avec la facture modèle en français (sans changer aucune donnée dedans) ? Si la réponse est non et que tu utilises bien la version 0.16, peux-tu m'envoyer le fichier ODS avec les modifications que tu as effectué pour que je puisse reproduire le bug ?

      • [^] # Re: Erreur de LibreOffice au lancement de la génération du pdf

        Posté par (page perso) . Évalué à 3. Dernière modification le 02/01/20 à 18:54.

        C'est bon, merci. Mauvaise version en effet.

        Et alors je vois comment l'interfacer avec ma base de données Client : rajouter une feuille et lier la feuille Facture à celle où sont les données que je récupère de ma base de données.

        Par contre, je suggèrerais bien d'arriver à pouvoir se passer du message (toujours un peu anxiogène) d'activation de la macro si c'est possible.

        C'est une excellente macro.

        OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

  • # Souci TVA

    Posté par . Évalué à 1.

    Bonjour,

    Bravo pour cette extension.
    Je travaille pour une association loi 1901 en relation avec une administration.
    Côté association, j'ai rentré le numéro de SIRET sans numéro de TVA.
    Côté administration, j'ai rentré le code service Chorus Pro, ainsi que le numéro de marché.
    j'ai modifié dans la facture la formule de la TVA car il n'y en a pas ..
    Dons je me retrouve avec un montant HT 1234,00 euros avec une TVA à 0,00 euros et un montant TTC à 1234,00 euros.
    Lors de la génération du PDF, je récupère un pop up m'indiquant que la cellule B21 (Total TVA) est un champ obligatoire mais il est actuellement vide ou n'a pas le bon type. Or la valeur présente reprise de la facture (cellue D35) est de 0.00 euros..
    Quelle solution pour corriger ce souci ?
    Cordialement,

    • [^] # Re: Souci TVA

      Posté par (page perso) . Évalué à 2.

      Merci pour ton retour… c'est effectivement un bug. Je l'ai corrigé dans la version 0.17, à télécharger sur https://github.com/akretion/factur-x-libreoffice-extension/releases

      Est-ce que tu pourras confirmer que ça marche bien pour toi avec cette version ?

      • [^] # Re: Souci TVA

        Posté par (page perso) . Évalué à 3.

        En fait, si je comprends bien, on peut modifier le contenu des champs de la colonne Valeur de la feuille Données de toute façon non ? (sinon ça fonctionne).

        OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

        • [^] # Re: Souci TVA

          Posté par (page perso) . Évalué à 1.

          Oui, bien sûr ! Seule la position des champs de la colonne valeur du 2e onglet (onglet données), ainsi que leur type (date, nombre, …), doit être conservée.

          • [^] # Re: Souci TVA

            Posté par (page perso) . Évalué à 2.

            Autre chose, ça n'envoie que la première feuille (la facture) et celle appelée "données" ? Si oui, j'adapte mon système et je fais dans la foulée un tutoriel expliquant comment interfacer ça avec Base quand, comme moi, on n'est pas développeur (c'est bien pour un petit volume de factures mais ça permet une meilleure gestion et ça n'empêche pas le recours à un logiciel de compta agréé).

            OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

            • [^] # Re: Souci TVA

              Posté par (page perso) . Évalué à 2.

              Oui, seuls les 2 premiers onglets du tableur sont utilisés par la macro. Le 1er onglet est exporté en PDF ; le 2e onglet permet de générer le XML. Dans le 2e onglet, seules les valeurs des cellules de la 2e colonne sont utilisées. Il est possible de changer les formules de la 2e colonne de l'onglet 'Données'.

      • [^] # Re: Souci TVA

        Posté par . Évalué à 2.

        Bonjour,

        j'ai installé l'extension version 0.17…
        Tout fonctionne parfaitement.
        Cordialement,

      • [^] # Re: Souci TVA

        Posté par . Évalué à 1.

        Bonjour,

        J'ai installé la version 0.17 .. Tout est ok.
        Pour débuter, je suis resté sur ton format de facture. Aucune cellule changée ou déplacée. J'ai juste remplacé le logo originel par celui de l'association.
        Lors de la génération du PDF, j'ai un message "Problèmes lors de l'export PDF" .. Transparences supprimées… certains objets ont été convertis en image afin de supprimer ….. Vous obtiendrez un meilleur résultat si vous supprimez les objets transparents avant l'export.
        Serait ce dû à l'image de l'association quej'ai mise ? Si oui y a t'il un format à respecter ? png, jpg ou autre ?
        Cordialement,

        • [^] # Re: Souci TVA

          Posté par (page perso) . Évalué à 4.

          Ça n'est pas lié à la macro mais au format d'export. Inutile de changer quoi que ce soit. J'imagine qu'il s'agissait d'un png avec un fond transparent.

          OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

          • [^] # Re: Souci TVA

            Posté par . Évalué à 3.

            Probablement. On a ce message d'alerte quand le format d'export PDF est du PDF archive (case "PDF/A, (ISO 19005)" cochée sous Général dans la boîte de dialogue d'export PDF), variante PDF qui exclue, entre autres choses, les objets avec transparence.

  • # Lecture automatique de document

    Posté par . Évalué à 1.

    Ainsi, quand on reçoit une facture au format Factur‑X, on peut la comptabiliser automatiquement sans recourir à des systèmes de reconnaissance de caractères (qui ne sont jamais totalement fiables !).

    Ce passage me fait penser que je suis (passivement) à la recherche d'un logiciel qui "encoderait" automatiquement des données de factures dans un tableur.

    J'ai trouvé des trucs non-libres (ici ou ici). Vous connaitriez des trucs dans le genre en opensource ?

    Surtout, ne pas tout prendre au sérieux !

  • # Suggestion d'amélioration

    Posté par (page perso) . Évalué à 5. Dernière modification le 07/01/20 à 13:59.

    Pour commencer, ça fonctionne tout à fait comme je veux avec la connexion avec ma base de données. C'est impeccable. Super merci.

    Sinon deux points me chagrinent :

    1. le bouton Générer la facture, chez moi (et compte tenu, j'imagine, de mes personnalisations) est en plein sur le texte d'aide, au niveau des totaux, pourquoi ne pas faire une barre d'outil avec un bouton plutôt (je peux même dessiner une icône au besoin) ;
    2. ce qui serait bien c'est que le pdf puisse être affiché automatiquement après export, je ne sais pas ce que cela signifie en terme de développement, mais sur la fonction d'export c'est une case à cocher.

    Merci encore.

    OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

    • [^] # Re: Suggestion d'amélioration

      Posté par (page perso) . Évalué à 4.

      Je suis content que cette extension vous plaise !

      Pour répondre à vos 2 points:

      1. Déplacer le bouton est très simple: menu "Affichage > Barre d'outils > Controle de formulaire" puis cliquer sur le bouton en haut à droite (icone doigt + OK) qui permet de basculer sur le mode "Conception". Une fois en mode conception, vous n'avez plus qu'à sélectionner le bouton et à le déplacer. A la fin, il faut sortir du mode conception en cliquant sur le même bouton en haut à droite. Mais sinon, l'idée d'une barre d'outil avec une icone est intéressante…
      2. Je ne connaissais pas cette case à cocher, mais c'est une bonne idée ! J'ai implémenté cette fonctionnalité dans ma dernière release 0.19 que j'ai publié à l'instant. Vous me direz si ça correspond bien à ce que vous attendiez !

      Petite chose à faire attention quand vous mettez à jour : vérifiez que le fichier est bien nommé "factur-x_macro.oxt" (et qu'il n'a pas été renommé automatiquement factur-x_macro.oxt(1)" car vous l'auriez téléchargé dans le même répertoire que la version précédente de l'extension) quand vous procédez à la mise à jour de l'extension, sinon le bouton ne marchera plus. En effet, le bouton contient le chemin vers l'extension, qui est désignée par le nom du fichier au moment de l'installation (c'est bizarre, mais c'est comme ça !).

      • [^] # Re: Suggestion d'amélioration

        Posté par (page perso) . Évalué à 3.

        Suite à votre suggestion, j'ai sorti à l'instant une version 0.20 qui ajoute une nouvelle entrée de menu "Fichier > Exporter au format Factur-X". A télécharger sur https://github.com/akretion/factur-x-libreoffice-extension/releases/

        • [^] # Re: Suggestion d'amélioration

          Posté par (page perso) . Évalué à 5.

          Merci, c'est tout à fait bien.

          Sinon, j'ai fait une icône pour générer un pdf "factur-x", si ça va et s'il en faut d'autres, je pourrais continuer à m'amuser avec Inkscape.

          Sinon, pour les personnes susceptibles de facturer à des entreprises ou des particuliers. Dans le premier cas, il y un SIRET, utiliser le bouton "factur-x", dans le second cas, utiliser l'export pdf de LibreOffice en n'exportant que la première page (celle de la facture). Ainsi on a un seul modèle que l'on peut utiliser avec ou sans numéro de SIRET de client.

          OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

          • [^] # Re: Suggestion d'amélioration

            Posté par (page perso) . Évalué à 2.

            Merci pour cette proposition de logo. Ca serait effectivement super d'avoir un logo pour cette extension LibreOffice, plutôt que de squatter le logo de Factur-X profil minimum. Je me permets de suggérer quelques idées d'évolution du logo, pour le rendre plus compréhensible et plus lisible (compte tenu du fait qu'il est affiché en toute petite taille) : supprimer l'étoile et la flèche rouge, et les remplacer pour un gros X rouge. Qu'en pensez-vous ? Ce n'est peut-être pas très subtil, mais vu la taille à laquelle il est affiché, il est difficile de mettre des subtilités.

            Concernant votre 2e point : il doit être possible de facturer un particulier en Factur-X sans SIRET. D'ailleurs, j'ai un peu amélioré les formules dans le 2e onglet pour que le champ SIRET soit vide et non égale à 0 quand le champ SIRET client est vide dans le 1er onglet. Pour moi, le but est de générer une facture Factur-X profil minimum en B2B, B2C et B2G.

            • [^] # Re: Suggestion d'amélioration

              Posté par (page perso) . Évalué à 2.

              Je vais en dessiner plusieurs avec éventuellement d'autres couleurs, et après, ce sera une question de choix.

              OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

            • [^] # Re: Suggestion d'amélioration

              Posté par (page perso) . Évalué à 3. Dernière modification le 09/01/20 à 20:56.

              Voilà une série, au format pdf et le fichier svg.

              S'il y a un problème avec le fichier svg, ce serait bien de me le dire. Je trouverai un autre moyen de le partager (il y a un truc curieux sur mon nuage).

              Il y a deux séries identiques pour voir la visibilité sur thème clair et foncé et les explications, au cas où, sur comment en faire des png et des fichiers individuels.

              OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

              • [^] # Re: Suggestion d'amélioration

                Posté par (page perso) . Évalué à 1.

                Un très grand merci pour cette série de logos. Cela m'a permis d'avancer dans ma réflexion et d'aboutir à ce que je souhaitais. J'ai publié à l'instant la version 0.22 avec le nouveau logo pour le projet, et un autre plus simple pour l'entrée de menu (la très petite taille empêche de toute façon de faire des choses compliquées). J'espère qu'il vous plaira.

                J'en profite pour mentionner la journée de la facture électronique qui se déroule à Paris Jeudi 16 Janvier dans les locaux de GS1. Je serai présent toute la journée et je participerai à la conf de 10h15 "Atelier pratique Factur-X" pour présenter l'extension LibreOffice (et une autre petite surprise… que je dois finir de coder d'ici là !).

  • # Suivi de mise a jour

    Posté par . Évalué à 1.

    Bonjour,

    Je suis tjs les évolutions …
    J'ai donc installé la version 0.20 .. Nickel .. Sur ma facture actuelle.
    Par contre, j'ai ensuite essayé de charger votre exemple de facture version 0.18..
    Il y a immédiatement un message d'erreur "Erreur générale. Erreur d'entrée/sortie général".
    Cordialement,

    • [^] # Re: Suivi de mise a jour

      Posté par (page perso) . Évalué à 1.

      Je viens de faire le test avec l'extension version 0.20 et le modèle de facture correspondant à la version 0.18, et ça marche bien sans soucis (j'ai testé avec le modèle français et anglais). Je pense que votre fichier modèle ODS en 0.18 est corrompu…

      D'une manière générale, il est possible d'utiliser d'anciens modèles de facture avec les dernières versions de l'extension. En effet, le but est de pouvoir mettre à jour l'extension sans avoir besoin de modifier votre modèle de facture personnalisé.

  • # Pour ajouter le bouton Factur-x a la barre d'outils du modèle de facture

    Posté par (page perso) . Évalué à 5. Dernière modification le 08/01/20 à 18:44.

    Au cas où vous ne sauriez pas le faire :

    1. ouvrir le modèle (ici factur-x.ots) ;
    2. aller dans le menu Outils > Personnaliser ;
    3. se mettre sur l'onglet Barres d'outils, pour l'Étendue choisir le nom du fichier, soit factur-x.ots dans l'exemple (si le vôtre s'appelle pouet.ots, LibreOffice vous proposera pouet.ots) ;
    4. à gauche pour ajouter la commande, aller sur la catégorie Macros (tout en bas), pour aller plus vite, dans le module recherche, on peut entrer fac (ou factur) ;
    5. aller sur generate_facturx_invoice_v1 et cliquer sur la flèche droite pour l'ajouter dans la barre d'outils.

    Je l'ai ajouté dans la barre d'outils standard à côté du bouton PDF (celui qui ouvre une boite de dialogue, c'est préférable au bouton PDF direct, d'ailleurs vous pouvez en profiter pour changer le bouton PDF par défaut par celui-ci, catégorie Documents, entrer PDF dans la recherche, c'est la fonction PDF en bas de la pile qu'il faut choisir) ).

    Et voilà.

    OS préféré Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

  • # dépose dans CHORUS

    Posté par . Évalué à 1.

    Tout d'abord merci pour cette contribution qui je l'espère, trouvera un écho dans l'administration scolaire, familière de CHORUS-PRO.
    Curieux de tester l'affaire, j'ai édité ma 1ère facture et l'ai déposé dans CHORUS. Seulement, alors que l'application n'affiche aucun message d'erreur (au contraire : "Le lot de factures a été importé correctement sous le n°…."), je ne retrouve ma facture nulle part.
    Si quelqu'un voit d'où peut venir le problème… Merci d'avance.

    • [^] # Re: dépose dans CHORUS

      Posté par (page perso) . Évalué à 4.

      Tout d'abord, il faut que le flux passe à l'état "intégré". Pour cela, il faut aller dans le menu "Suivi des flux" (il faut activer cet espace au préalable si vous ne voyez pas cette entrée de menu), rechercher dans les flux et vérifier l'état du flux en question. D'après mon expérience, il faut entre quelques minutes et 36h pour qu'un flux passe à l'état "intégré".
      Une fois que le flux est passé à l'état "intégré", on peut voir la facture dans le menu "Factures émises > Rechercher".

      • [^] # Re: dépose dans CHORUS

        Posté par . Évalué à 2.

        Merci, c'est effectivement une méconnaissance de ma part des subtilités de CHORUS ! Je retrouve mes différentes tentatives, rejetées à chaque fois pour la raison suivante :
        "Facture n°XXXXXX-39:Le code service (FichierXml.SupplyChainTradeTransaction.ApplicableHeaderTradeAgreement.BuyerReference.value) n'existe pas dans le referentiel des codes services. Le referentiel est accessible depuis le portail."
        or mon "client" n'exige pas de code service… J'ai tout de même corrigé ma facture en le renseignant ("FACTURES_PUBLIQUES"), sans effet. J'ai peut-être corrompu le fichier xml en faisant des modifications sur le modèle de fichier ods fourni… je vais refaire des tests à partir de ce fichier d'origine.

        • [^] # Re: dépose dans CHORUS

          Posté par (page perso) . Évalué à 2.

          Si ton "client" public n'utilise pas de code service, alors il faut que la balise "BuyerReference" du XML soit vide ou non présente.

          Est-ce que la balise "BuyerReference" est présente dans le XML en pièce jointe du PDF que tu as déposé sur Chorus (dans l'idéal, la balise ne devrait pas apparaître) ?
          Si la balise apparaît, que vaut la cellule B12 du 2e onglet de ton ODS ? Est-elle bien vide ?
          Si ta cellule B12 vaut "0", modifie la formule pour mettre par exemple:

          =T($Facture.C18)

          comme ça, B12 est vide quand le champ C18 du 1er onglet est vide.
          J'ai modifié le modèle de facture il y a qq jours pour utiliser cette formule…

          • [^] # Re: dépose dans CHORUS

            Posté par . Évalué à 1.

            Il m'a fallu un peu de temps, voilà le résultat de mon test :
            1. j'avais effectivement raté ma modification du modèle proposé, qui par lui-même passe bien
            2. Une fois passée en "intégrée", on perd un peu la trace de la facture, sauf à faire une recherche assez fastidieuse… À la différence d'un pdf ordinaire qui apparait tout de suite sous l'onglet "factures émises".
            3. Il a fallu que j'attende de me tourner vers le client, qui m'a confirmé avoir reçu la facture de façon conforme sur son profil CHORUS.
            Bref, ça marche mais l'interface de CHORUS ne vas pas nous aider à diffuser cette méthode, c'est dommage. Je vais persévérer néanmoins !
            Merci Alexis pour tes précieux conseils.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.