La réforme de la facturation électronique va progressivement modifier les habitudes des entreprises françaises, y compris celles qui vendent en ligne avec WooCommerce.
Jusqu’à présent, beaucoup de boutiques WooCommerce fonctionnent avec un schéma assez simple :
WooCommerce → paiement → facture PDF envoyée au client
Mais avec la généralisation de la facturation électronique, la facture ne se résume plus à un simple PDF généré par WordPress.
Elle doit pouvoir être structurée, transmise et traitée via les nouveaux circuits prévus par la réforme.
Pour une boutique WooCommerce, cela pose donc une question importante :
comment connecter son site e-commerce à une plateforme capable de gérer la facturation électronique ?
Parmi les solutions disponibles, Billit présente plusieurs caractéristiques intéressantes : intégration e-commerce, API documentée, environnement Sandbox, gestion des factures et des avoirs, Peppol et authentification OAuth.
Dans cet article, nous allons voir comment Billit peut s’intégrer dans un environnement WooCommerce et dans quels cas cette solution peut être pertinente.
Qu’est-ce que Billit ?
Billit est une solution de facturation et de gestion administrative destinée aux entreprises.
La plateforme permet notamment de centraliser plusieurs opérations liées aux ventes et aux achats :
- création de factures ;
- réception de factures ;
- émission de factures électroniques ;
- gestion des avoirs ;
- suivi des paiements ;
- automatisation de certains traitements ;
- connexion avec des banques et des outils tiers ;
- échange de documents électroniques ;
- intégration avec des logiciels externes via API.
Billit est également très orienté vers les échanges électroniques structurés et le réseau Peppol.
Pour une entreprise utilisant WooCommerce, Billit peut donc jouer le rôle de plateforme de facturation, tandis que WooCommerce continue de gérer les commandes et le catalogue.
Pourquoi WooCommerce seul ne suffit pas forcément ?
WooCommerce est avant tout un outil de commerce électronique.
Il sait gérer :
- les produits ;
- les commandes ;
- les clients ;
- les paiements ;
- les remboursements ;
- les taxes ;
- les stocks.
En revanche, WooCommerce n’est pas à l’origine une plateforme spécialisée dans la facturation électronique réglementaire.
De nombreux plugins permettent déjà de générer des factures PDF.
Mais un PDF envoyé par e-mail ne correspond pas forcément, à lui seul, à l’ensemble des nouvelles obligations liées à la facturation électronique.
Il peut donc être intéressant de séparer les rôles.
WooCommerce
WooCommerce reste le système de gestion commerciale du site.
Billit
Billit devient le système chargé de générer et de transmettre les documents de facturation.
L’architecture devient alors :
WooCommerce → Billit → facture électronique
Peut-on connecter WooCommerce à Billit ?
Oui.
Billit propose des possibilités d’intégration avec les boutiques en ligne et dispose également d’une API permettant de créer des connexions personnalisées.
Il est donc possible d’envisager deux approches.
Utiliser une intégration existante
La première solution consiste à utiliser un connecteur déjà disponible pour relier WooCommerce et Billit.
Cette approche peut convenir aux entreprises qui souhaitent mettre en place rapidement une synchronisation sans développement spécifique.
Le connecteur sert alors d’intermédiaire :
WooCommerce → connecteur → Billit
Cette solution peut cependant avoir son propre coût ou ses propres limitations.
Développer une connexion directe avec l’API Billit
La deuxième approche consiste à utiliser directement l’API de Billit.
L’architecture devient :
WooCommerce → plugin personnalisé → API Billit
Cette solution est particulièrement intéressante pour les agences, développeurs WordPress et entreprises ayant des besoins spécifiques.
Elle permet de contrôler précisément :
- quand une facture doit être créée ;
- quelles données sont envoyées ;
- comment les remboursements sont traités ;
- comment les numéros de documents sont synchronisés ;
- comment les erreurs sont gérées.
Comment fonctionnerait une intégration WooCommerce → Billit ?
Prenons l’exemple d’une boutique utilisant WooCommerce et Stripe.
Le parcours pourrait être le suivant.
1. Le client passe commande
Le client ajoute ses produits au panier et valide sa commande.
WooCommerce crée alors une nouvelle commande.
2. Stripe traite le paiement
Le client règle sa commande par carte bancaire.
Stripe confirme le paiement à WooCommerce.
3. WooCommerce valide la commande
La commande passe dans un statut défini, par exemple :
En cours
ou
Terminée
4. Le plugin transmet la commande à Billit
Un plugin personnalisé détecte le changement de statut et envoie les informations nécessaires à l’API Billit.
5. Billit crée la facture
Billit génère alors le document correspondant.
6. L’identifiant Billit est enregistré dans WooCommerce
L’ID retourné par Billit peut être enregistré directement dans les métadonnées de la commande WooCommerce.
On conserve ainsi une correspondance précise entre :
commande WooCommerce ↔ facture Billit
Quelles données transmettre depuis WooCommerce ?
Une intégration peut transmettre différentes informations issues de la commande.
Par exemple :
- nom du client ;
- entreprise ;
- adresse ;
- adresse e-mail ;
- numéro de TVA si nécessaire ;
- numéro de commande ;
- date ;
- produits ;
- quantités ;
- prix unitaires ;
- remises ;
- frais de port ;
- taxes ;
- total ;
- moyen de paiement.
Il faut évidemment adapter les données en fonction des contraintes techniques et réglementaires applicables.
L’intérêt d’une API est précisément de pouvoir automatiser cette correspondance entre les deux systèmes.
Billit dispose d’une API documentée
C’est probablement l’un des points les plus intéressants de Billit pour les développeurs.
La plateforme met à disposition une documentation dédiée à son API.
Il est notamment possible d’utiliser des endpoints permettant de travailler avec les commandes et documents de facturation.
La création d’une facture peut par exemple passer par un endpoint de type :
POST /v1/orders
avec un type de document correspondant à une facture.
Billit renvoie ensuite un identifiant unique pour le document créé.
Cet identifiant peut être enregistré dans WooCommerce.
Un plugin pourrait par exemple stocker :
_billit_order_id
dans les métadonnées de la commande.
Cela permet ensuite de retrouver facilement le document Billit correspondant.
La gestion des avoirs et remboursements
C’est un point essentiel dans une boutique e-commerce.
Une commande peut être :
- partiellement remboursée ;
- totalement remboursée ;
- annulée après facturation.
Une intégration sérieuse ne doit donc pas uniquement gérer la création de factures.
Elle doit également gérer les avoirs.
Billit prévoit un type de document correspondant à une CreditNote, c’est-à-dire un avoir.
Le fonctionnement pourrait donc être :
Remboursement WooCommerce
↓
Détection par le plugin
↓
Création d’un avoir dans Billit
↓
Association avec la commande originale
Cette logique est beaucoup plus propre que de supprimer ou modifier une facture déjà émise.
Peut-on continuer à utiliser Stripe ?
Oui.
Utiliser Billit ne signifie pas nécessairement changer de solution de paiement.
Stripe et Billit peuvent avoir deux rôles distincts.
Stripe
Stripe gère l’encaissement.
Billit
Billit gère la facture.
Le schéma peut donc rester très simple :
WooCommerce → Stripe → paiement
puis :
WooCommerce → Billit → facture
Il n’est donc pas nécessaire de faire passer les paiements directement par Billit.
Chaque client peut avoir son propre compte Billit
Pour une agence web ou un développeur qui accompagne plusieurs boutiques WooCommerce, une architecture multi-clients peut être envisagée.
Chaque entreprise possède son propre compte Billit.
Par exemple :
Entreprise A → compte Billit A
Entreprise B → compte Billit B
Entreprise C → compte Billit C
Le plugin installé sur chaque site WooCommerce communique uniquement avec le compte Billit de cette entreprise.
C’est une approche beaucoup plus propre qu’un compte central utilisé pour plusieurs sociétés.
Chaque entreprise reste ainsi indépendante :
- abonnement Billit séparé ;
- données séparées ;
- factures séparées ;
- configuration séparée.
Le Party ID de Billit
Billit utilise notamment un identifiant appelé Party ID pour identifier une entreprise.
Cet identifiant peut être utilisé dans le cadre des échanges avec l’API.
Dans une première version d’un plugin WooCommerce, une page de réglages pourrait donc demander certaines informations liées au compte Billit.
Par exemple :
- Party ID ;
- environnement ;
- informations d’authentification ;
- statut WooCommerce déclenchant la facture ;
- activation des avoirs automatiques ;
- mode de synchronisation.
Cette architecture convient bien à une première intégration destinée à quelques clients.
OAuth pour un vrai plugin commercial
Pour une intégration destinée à être distribuée à plusieurs utilisateurs, Billit prévoit également une authentification OAuth.
Le principe est similaire à celui utilisé par de nombreux services modernes.
Au lieu de demander à l’utilisateur de copier une clé API, le plugin affiche simplement :
Connecter mon compte Billit
Le marchand clique sur le bouton.
Il est redirigé vers Billit.
Il se connecte et autorise l’application.
Billit renvoie ensuite l’utilisateur vers WooCommerce avec les autorisations nécessaires.
Cette approche présente plusieurs avantages :
- installation plus simple ;
- meilleure sécurité ;
- pas de clé API à saisir manuellement ;
- gestion centralisée des autorisations ;
- meilleure expérience utilisateur.
Pour un plugin distribué commercialement, OAuth semble donc particulièrement pertinent.
Une Sandbox pour tester l’intégration
Billit dispose également d’un environnement Sandbox.
Cet environnement est séparé de la production.
Il permet de tester une intégration sans créer de vrais documents dans les comptes de production.
L’API Sandbox utilise une adresse dédiée, différente de l’environnement réel.
Cela permet de tester notamment :
- la création d’une facture ;
- l’envoi des lignes de commande ;
- les clients ;
- les avoirs ;
- les remboursements ;
- les erreurs ;
- l’authentification ;
- les cas particuliers WooCommerce.
Une fois l’intégration validée, il est ensuite possible de basculer vers l’environnement de production.
Pour un développement WordPress, cette Sandbox est particulièrement importante.
Elle permet d’effectuer les tests sur un site staging avant de connecter la boutique réelle.
Quelle architecture pour un plugin WooCommerce ?
Une première architecture pourrait être relativement simple.
WooCommerce
WooCommerce reste la source des commandes.
Plugin
Le plugin détecte les événements WooCommerce importants.
Par exemple :
- commande payée ;
- commande terminée ;
- remboursement ;
- annulation.
API Billit
Le plugin transforme ensuite les données WooCommerce dans le format attendu par Billit.
Le workflow pourrait ressembler à ceci :
Commande WooCommerce
↓
Hook WooCommerce
↓
Plugin de connexion
↓
API Billit
↓
Facture
↓
ID Billit enregistré dans WooCommerce
Quelles fonctions prévoir dans un plugin ?
Une première version pourrait se concentrer sur les fonctions essentielles.
Connexion à Billit
- environnement Sandbox / Production ;
- Party ID ;
- authentification API ;
- ou OAuth.
Création automatique des factures
Le plugin pourrait permettre de choisir le statut déclencheur :
- paiement validé ;
- commande en cours ;
- commande terminée.
Gestion des avoirs
Lors d’un remboursement WooCommerce, un avoir Billit serait automatiquement créé.
Journal des synchronisations
Il serait également intéressant de conserver un journal contenant :
- date ;
- commande ;
- réponse API ;
- statut ;
- message d’erreur.
Actions manuelles
Depuis une commande WooCommerce, un administrateur pourrait également disposer de boutons comme :
Créer la facture Billit
Créer un avoir
Resynchroniser
Gestion des erreurs API
C’est un aspect souvent oublié dans les intégrations.
Une API peut temporairement être indisponible.
Il ne faut donc pas bloquer une commande WooCommerce simplement parce que Billit ne répond pas pendant quelques secondes.
Le plugin devrait plutôt enregistrer l’erreur et prévoir une nouvelle tentative.
Par exemple :
Commande payée
↓
API Billit indisponible
↓
Commande enregistrée normalement
↓
Synchronisation placée en attente
↓
Nouvelle tentative automatique
Cette logique rend l’intégration beaucoup plus fiable.
Attention aux doublons
Un autre point important concerne les doubles appels.
WooCommerce peut parfois déclencher plusieurs fois certains événements.
Il faut donc impérativement empêcher la création de plusieurs factures pour la même commande.
Le plugin pourrait vérifier la présence de l’identifiant Billit enregistré dans la commande.
Si _billit_order_id existe déjà, aucune nouvelle facture ne serait créée automatiquement.
Cela permet de rendre les appels API idempotents du côté du plugin.
Billit facture-t-il au volume ?
Le modèle de tarification Billit repose notamment sur un volume de documents.
Cela signifie qu’il faut tenir compte du nombre de factures générées chaque mois.
Pour un site WooCommerce, le calcul est assez logique :
1 commande facturée ≈ 1 facture sortante
À cela peuvent s’ajouter :
- les avoirs ;
- les factures fournisseurs ;
- d’autres documents traités dans Billit.
Une boutique réalisant quelques dizaines de commandes par mois n’a donc pas les mêmes besoins qu’un site réalisant plusieurs milliers de ventes.
Avant de choisir une formule, il faut donc vérifier le volume mensuel réel.
API ou connecteur WooCommerce existant ?
Les deux solutions peuvent être pertinentes.
Connecteur existant
Avantages :
- mise en place rapide ;
- moins de développement ;
- maintenance gérée par un tiers.
Inconvénients possibles :
- abonnement supplémentaire ;
- moins de contrôle ;
- fonctions imposées ;
- dépendance vis-à-vis du connecteur.
API personnalisée
Avantages :
- contrôle complet ;
- logique métier personnalisée ;
- intégration dans WordPress ;
- pas forcément d’intermédiaire supplémentaire ;
- possibilités d’évolution importantes.
Inconvénients :
- développement initial ;
- maintenance ;
- tests ;
- suivi des évolutions API.
Pour une boutique classique, le connecteur existant peut suffire.
Pour une agence ou un développeur gérant plusieurs projets WooCommerce, l’API devient beaucoup plus intéressante.
Billit ou Tiime pour WooCommerce ?
Tiime est également une solution intéressante pour la facturation électronique.
Son positionnement est cependant différent.
Pour une petite entreprise qui réalise quelques factures manuellement, Tiime peut être particulièrement simple.
Dans un contexte WooCommerce fortement automatisé, Billit présente plusieurs avantages techniques :
- API documentée ;
- environnement Sandbox ;
- OAuth ;
- possibilités d’intégration e-commerce ;
- gestion des factures et avoirs ;
- orientation Peppol.
Le choix dépend donc surtout du besoin.
Pour une facturation simple et manuelle
Tiime peut être suffisant.
Pour une automatisation WooCommerce avancée
Billit mérite clairement d’être étudié.
Billit ou Pennylane ?
Pennylane possède également une API et un écosystème important autour de la comptabilité et de la gestion financière.
Pennylane peut être particulièrement pertinent lorsqu’une entreprise souhaite centraliser :
- comptabilité ;
- facturation ;
- achats ;
- banque ;
- échanges avec son expert-comptable.
Billit semble davantage orienté vers la circulation et l’automatisation des documents de facturation.
Pour une intégration purement WooCommerce, les deux solutions peuvent donc répondre à des besoins différents.
Le choix doit notamment prendre en compte :
- volume de commandes ;
- besoins comptables ;
- tarif ;
- API ;
- automatisations ;
- expert-comptable ;
- niveau d’intégration WooCommerce souhaité.
Pourquoi cette architecture peut être intéressante avec la réforme ?
L’un des principaux avantages de cette architecture est de ne pas essayer de transformer WordPress en plateforme réglementaire.
WordPress continue de faire ce qu’il sait très bien faire :
vendre en ligne.
Une plateforme spécialisée se charge ensuite de :
la facturation électronique.
Cette séparation des responsabilités simplifie considérablement le développement.
On évite ainsi d’implémenter directement dans WordPress toutes les contraintes liées :
- aux formats électroniques ;
- aux échanges ;
- aux évolutions réglementaires ;
- aux réseaux de transmission.
Le plugin devient simplement une passerelle.
Vers des connecteurs WooCommerce spécialisés
La réforme de la facturation électronique va probablement créer un nouveau besoin dans l’écosystème WordPress.
De nombreuses entreprises utilisent aujourd’hui :
- WooCommerce ;
- Stripe ;
- PayPal ;
- plugins de facture PDF ;
- logiciels comptables externes.
Il faudra progressivement relier ces systèmes aux plateformes de facturation électronique.
Les connecteurs spécialisés devraient donc devenir de plus en plus importants.
Une architecture générique pourrait même être imaginée :
WooCommerce
↓
Connecteur de facturation
↓
Billit / Pennylane / Tiime / autre plateforme
Cela permettrait au marchand de choisir sa plateforme sans modifier toute sa boutique.
Conclusion
Billit présente plusieurs caractéristiques particulièrement intéressantes pour les boutiques WooCommerce.
La plateforme dispose notamment :
- d’une API documentée ;
- d’une Sandbox ;
- de fonctions de gestion des factures ;
- de la gestion des avoirs ;
- de mécanismes d’authentification OAuth ;
- de fonctions liées à la facturation électronique ;
- d’intégrations avec des outils externes.
Pour une boutique utilisant WooCommerce et Stripe, une architecture simple peut donc être envisagée :
WooCommerce → Stripe pour le paiement → Billit pour la facturation
Pour une agence ou un développeur WordPress, l’API Billit ouvre également la possibilité de créer une intégration personnalisée.
Cette solution peut être particulièrement intéressante pour automatiser complètement le passage entre une commande WooCommerce et la création de sa facture électronique.
Avant de développer ou de commercialiser un connecteur, il reste toutefois important de vérifier directement auprès de Billit les conditions liées à l’utilisation commerciale de l’API, les éventuels quotas et les modalités d’accès en production.
Mais d’un point de vue technique, Billit apparaît aujourd’hui comme une piste sérieuse pour connecter WooCommerce à la facturation électronique.