Odoo : support de la déclaration de TVA avec télétransmission

Posté par  (site web personnel) . Édité par Benoît Sibaud et Pierre Jarillon. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
31
6
déc.
2021
Bureautique

Après de longs mois de dur labeur, j’ai le plaisir d’annoncer la publication de nouveaux modules pour Odoo v14 qui ajoutent le support de la déclaration de TVA française avec télétransmission EDI. À ma connaissance, il s’agit de la première implémentation opensource de la déclaration de TVA avec télétransmission. Ces modules supportent la déclaration de TVA (formulaire 3310-CA3), l’annexe (formulaire 3310-A) et la demande de remboursement de crédit de TVA (formulaire 3519). Au menu : TVA sur les débits, TVA sur les encaissements, autoliquidation pour les acquisitions intracommunautaires de biens et services, autoliquidation pour les achats de prestations de services extracommunautaires, TVA collectée à Monaco, etc. Le module automatise aussi la génération de l’écriture comptable correspondante en suivant les règles françaises de gestion des arrondis.

Dans la seconde partie de la dépêche, j’explique les contraintes pour la télétransmission de la TVA en France et le choix de passer par la passerelle de télétransmission TELEDEC.

Télétransmission EDI

Contrairement aux services en ligne mis en place par Bercy ces dernières années (comme Chorus Pro), il n’est pas possible de télétransmettre la déclaration de TVA de son entreprise via une API ouverte. Les entreprises qui souhaitent télétransmettre leur déclaration de TVA doivent passer par des passerelles de télétransmission EDI agréés qui proposent leurs services (payants) aux entreprises. C’est l’association EDIFICAS qui gère ces agréments et facture les coûts associés à leur obtention. Si ces coûts peuvent paraître raisonnables pour de gros éditeurs logiciel, ils sont difficiles à amortir pour un auteur de logiciel libres. L’échange EDI utilise le format de fichier EDIFACT, un format né dans les années 80 !

J’ai finalement trouvé une passerelle de télétransmission agréée qui propose une API REST sur laquelle on peut envoyer sa déclaration de TVA au format JSON en utilisant, pour chaque champ du formulaire officiel, le code EDI attribué par l’administration fiscale. La passerelle de télétransmission se charge de générer le fichier EDIFACT avec son propre numéro d’agrément EDIFICAS en utilisant les données reçues dans la requête REST. Puis elle envoie le fichier EDIFACT sur les serveurs de l’administration fiscale. Cette passerelle de télétransmission de la déclaration de TVA est un service (payant) proposé par la société TELEDEC, que j’utilise depuis plusieurs années comme logiciel SaaS pour établir et envoyer la liasse fiscale de mon entreprise.

Alternative expérimentale : robot de remplissage du formulaire en ligne en mode EFI

Pour ceux qui ne souhaitent pas opter pour la télétransmission EDI de la déclaration de TVA, ils peuvent toujours continuer à utiliser le mode EFI, qui consiste à remplir le formulaire de TVA en ligne sur le site impots.gouv.fr. Le mode EFI a l’avantage d’être gratuit… mais il est un peu fastidieux ! Pour les entreprises au régime réel normal qui reversent plus de 4 000 € de TVA par an à l’État, la déclaration de TVA doit être réalisée chaque mois. Et un petit gain de temps multiplié par 12 mois dans l’année… n’est plus un petit gain de temps ! En observant le code HTML de la page web du formulaire CA3 de la déclaration de TVA, j’ai remarqué que les balises avaient un ID qui contenait un code bien précis. Et ce code était documenté dans les spécifications EDI de la déclaration de TVA sous la dénomination code NREF. En découvrant cela, je me suis dit qu’il devenait envisageable de développer un outil de type webscrapping qui remplirait de façon fiable le formulaire de TVA en ligne. Mon choix s’est porté sur Selenium IDE, une extension opensource pour Firefox et Chrome, généralement utilisée comme outil de test de sites Web. Cet outil a l’avantage d’être ergonomique et facile à utiliser par un non-geek. Il permet de charger un fichier de scenario qui contient les instructions techniques pour remplir le formulaire en ligne. Par contre, Selenium IDE ne permet pas d’appliquer un scénario sur un onglet déjà ouvert du navigateur Web : un scénario commence toujours en ouvrant une nouvelle fenêtre du navigateur. Cela implique que le scénario doit comporter toutes les étapes jusqu’à accéder au formulaire de déclaration de TVA : se connecter sur impots.gouv.fr, naviguer jusqu’au menu dédié à la déclaration de TVA, choisir la bonne période de déclaration, etc. Ce process implique plusieurs clics sur des boutons, ce qui signifie que cette partie du scénario devra être mise à jour en cas de changement au niveau des menus du site des impôts. Cette solution n’est donc pas idéale, mais c’est la moins mauvaise que j’ai trouvée. Les autres extensions pour navigateur Web que j’ai testées étaient à l’abandon ou n’avaient pas de moyen pratique pour charger un fichier contenant les instructions pour remplir le formulaire. En effet, de nombreuses extensions sont conçues pour remplir un formulaire en utilisant toujours les mêmes données, ce qui n’est pas adapté à une déclaration de TVA où les chiffres à renseigner dans le formulaire changent chaque mois !

Vous pouvez voir une démo de cette solution de remplissage automatique du formulaire de TVA en ligne dans le screencast indiqué dans les liens de cette dépêche, à partir de la 9e minute. Si vous avez d’autres idées de meilleurs outils utilisables par des non-geeks pour remplir le formulaire de TVA en ligne, je suis preneur de suggestions dans les commentaires. Sinon, si celle solution de remplissage du formulaire en ligne avec Selenium IDE fonctionne bien à l’usage, je compte déplacer le code dans une librairie Python qui pourra être utilisée par d’autres logiciels qu’Odoo.

Aller plus loin

  • # intéressant

    Posté par  . Évalué à 4.

    Merci pour ce module intéressant qui pourra être utilisé par d'autres ERP. Actuellement chacun fait le job de son côté ?

    Côté tarif, chaque déclaration semble être facturé entre 89€ et 129 € HT, ce qui fait plus de 1500€ par an pour une déclaration mensuelle. Je trouve scandaleux que l'État oblige à utiliser les services de tiers de confiance.

    Un éditeur comme Odoo n'a pas la capacité à obtenir une certification pour décharger les utilisateurs de ce paiement ?

    • [^] # Re: intéressant

      Posté par  (site web personnel) . Évalué à 8.

      Le prix de 89 € ou 129 € que vous indiquez est le prix pour la liasse fiscale (qui est une déclaration annuelle). Le prix pour la déclaration de TVA est de 49 € HT par an par société comme indiqué sur cette page. Teledec propose des prix de gros pour les éditeurs/intégrateurs, ce qui permet de réduire encore très significativement ce tarif.

      Si Odoo obtient un jour l'agrément pour la télétransmission de la TVA, ce sera très certainement pour son édition Odoo Enterprise uniquement et pas pour Odoo Community. La solution que je propose fonctionne sur Odoo Community et Odoo Enterprise.

      • [^] # Re: intéressant

        Posté par  . Évalué à 2.

        Merci pour ces précisions. Ce n'était pas évident.

        Bon courage pour la suite de l'aventure qui mérite du succès au regard des services rendus.

        Pour l'automatisation, l'équipe a avait utilisée ce logiciel pour un autre projet : https://robotframework.org/

    • [^] # Re: intéressant

      Posté par  . Évalué à 2. Dernière modification le 08 décembre 2021 à 09:37.

      Oui, on cherche une solution pour que ce soit gratuit pour nos utilisateurs Odoo Online & Odoo Enterprise, tout comme on fait pour les connections banquaires et autres. (donc pas dans la version community, car on va devoir prendre les frais à notre charge)

      Mais Odoo Online Comptabilité est gratuit avec hébergement & support; c'est ce qu'utilise les fiduciaires comme: https://www.youtube.com/watch?v=OsVZgFLYNrU . (une app est toujours gratuite avec Odoo, hors une fidu n'a besoin que de la comptabilité pour ses clients).

  • # TVA à l'encaissement

    Posté par  (site web personnel) . Évalué à 6. Dernière modification le 06 décembre 2021 à 16:20.

    J'ai une question un peu technique (enfin, pour moi, je suis un peu nul en compta :)) Je déclare ma TVA à l'encaissement (à la date où on me TVA sur encaissement) et non à la facturation (à la date ou je facture).
    Je fais ma compta sous Dolibarr et tout fonctionne à part cela, où il prend toujours à la date de facturation.
    Cela fonctionne avec Odoo ? Il est possible de faire une compta simple avec Odoo community ?
    Merci !

    • [^] # Re: TVA à l'encaissement

      Posté par  (site web personnel) . Évalué à 10.

      Oui, Odoo gère la TVA sur encaissement. Mais comme je n'aime pas du tout la façon dont Odoo gère la TVA sur encaissement nativement (!), les modules que je publie pour la déclaration de TVA implémentent une autre approche, qui me semble beaucoup plus adaptée. Avec cette nouvelle approche, la propriété "TVA sur encaissement" n'est plus une propriété de la taxe mais une propriété de la facture et aussi une propriété du fournisseur. Ca gère le cas "mixte", où on fait à la fois de la TVA sur encaissement et de la TVA sur les débits (côté client et côté fournisseur).

      Oui, il est possible de tenir la comptabilité d'une entreprise sur Odoo Community. Le résultat est "puissant", mais la mise en oeuvre n'est pas "simple". La mise en oeuvre suppose l'assemblage de nombreux modules OCA qu'il faut connaitre, choisir soigneusement, déployer, configurer, etc. Les fonctionnalités de Odoo Community + OCA dans le domaine compta/bancaire/facture électronique/douane sont vraiment très riches et en font certainement le leader des logiciels libres dans ce domaine fonctionnel, mais je ne peux pas dire que ce soit "simple". A l'occasion, je ferai une dépêche ou un journal pour faire le point sur les fonctionnalités de Odoo Community + OCA dans ce domaine, parce que je pense que peu de gens savent l'étendue des fonctionnalités proposées.

      • [^] # Re: TVA à l'encaissement

        Posté par  . Évalué à 3.

        Ca serait top comme dépêche !

      • [^] # Re: TVA à l'encaissement

        Posté par  (site web personnel) . Évalué à 4.

        Sur Tryton on a décidé de lister les taxes, qui sont basées sur encaissement, sur l'année fiscale (et optionnellement sur la période fiscale). Ceci permet de planifier le changement de régime d'une année à l'autre. On liste aussi les taxes sur encaissement sur les fournisseurs. Le résultat des deux configurations devient une propriété de la ligne de taxe comptable sur la quelle on calculera la proportion du montant payé à chaque période.

    • [^] # Re: TVA à l'encaissement

      Posté par  . Évalué à 2.

      Hello Cyprien,
      a mon avis ton pb est simplement au niveau de la configuration de ton dolibarr ! Je suis aussi à la TVA aux encaissements et ça passe très bien avec dolibarr !

      Vérifie la configuration dans : Configuration > Modules > Taxes : Configuration du module TVA, charges fiscales ou sociales et dividendes

      configuration tva

      Voir l'image si l'insertion ne passe pas : https://cijoint.org/r/0cJdVEsy#oMqTM8E0mrdMYWKoa2Kx33RncFQH4w+vbI7KnY+UsxU=

      eric.linuxfr@sud-ouest.org

    • [^] # Re: TVA à l'encaissement

      Posté par  (site web personnel) . Évalué à 2. Dernière modification le 25 décembre 2021 à 22:54.

      Je confirme. Sous Dolibarr, aller dans la configuration du module Tax et tva et choisissez Exigibilité de tva sur Paiement au lieu de sur Debit. Les rapports de tva s'adaptent alors pour la tva sur encaissement.

      Expert ERP CRM Open Source et (Dolibarr ERP CRM, Odoo, ...)

  • # Bibliothèque Python pour interagir avec un site web

    Posté par  . Évalué à 1.

    Je ne connais pas du tout Selenium IDE. Par contre, je connais (pour avoir installé et une fois déboggué) woob qui est un framework python pour interagir avec des sites web (y compris des complexes comme les sites bancaires) par programmation. Peut-être que ça peut être utile dans ce contexte ?

    https://woob.tech/

    What is woob

    woob is a collection of applications able to interact with websites, without requiring the user to open them in a browser. It also provides well-defined APIs to talk to websites lacking one.

    • [^] # Re: Bibliothèque Python pour interagir avec un site web

      Posté par  (site web personnel) . Évalué à 2.

      Merci pour la suggestion. Oui, je connais Woob ; j'avais même à l'époque développé le module OCA account_invoice_download_weboob qui utilisait Woob pour récupérer les PDFs de factures sur les portails web des fournisseurs pour ensuite importer le PDF en tant que facture fournisseur dans Odoo. Mais mon idée était que le "script Web" s'exécute au niveau du navigateur de l'utilisateur (et non sur le serveur Odoo), avec l'idée de remplir le formulaire de TVA, et ensuite rendre la main à l'utilisateur pour qu'il puisse vérifier/valider/payer. D'où le fait que j'ai concentré mes recherches sur les plugins pour navigateurs Web.

  • # Coïncidence ? Je ne crois pas !

    Posté par  (site web personnel) . Évalué à 0.

    En ce moment à Poitiers il y a une campagne à base de panneaux 4 m sur 3 qui vante Odoo pour les PME. C'est une campagne nationale ?

    • [^] # Re: Coïncidence ? Je ne crois pas !

      Posté par  (Mastodon) . Évalué à 0.

      Dans un épisode du podcast Génération Do It Yourself (https://www.gdiy.fr/podcast/fabien-pinckaers/), Fabien Pinckaers, fondateur d'Odoo, indique qu'ils vont "investir" cette année, dans la communication, ce qu'ils ne faisaient pas avant.

      Ceci explique peut-être les "4 par 3"…

      • [^] # Re: Coïncidence ? Je ne crois pas !

        Posté par  (site web personnel) . Évalué à 1.

        Odoo fait une campagne de communication Internationale pour promouvoir ses offres Odoo Enterprise. Odoo crée ainsi une attractivité sur le marché dont bénéficient les revendeurs/partenaires d'Odoo.
        Alexis contribue dans le cadre de l'OCA (association de la communauté Odoo) à proposer une alternative de comptabilité open-source sur la base d'Odoo-Community-Edition publié en open-source par Odoo et qui est également le coeur technique d'Odoo Enterprise.

Suivre le flux des commentaires

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