7DaysAutomatisation des process
Cas d’usage · Devis et facturation

Automatiser la facturation récurrente

Une facture récurrente oubliée ne se rattrape pas vraiment. On la facture avec trois mois de retard, ou on ne la facture pas.

Une facturation récurrente automatisée connaît vos contrats, émet les factures à la bonne date avec la bonne numérotation, les envoie, suit l’encaissement, applique les indexations et les changements de forfait, et relance les impayés. Le cycle de facturation cesse d’être un rendez-vous mensuel qui prend une journée pour devenir un état permanent qu’on vérifie.

DéclencheurUne échéance passe
L’automateRapproché, relancé, suivi
VousVous arbitrez les cas bloqués

Aujourd’hui, à la main

Une demi-journée à une journée par cycle, plus les factures oubliées et les avenants non répercutés.

Une fois automatisé

Le cycle s’exécute seul ; le temps humain se limite au contrôle des exceptions signalées.

À savoir

L’oubli est le vrai coût : sur un portefeuille d’abonnements tenu à la main, quelques pour cent du chiffre d’affaires contractuel ne sont jamais facturés.

Le problème n’est pas d’émettre, c’est de ne rien oublier

Émettre une facture d’abonnement prend deux minutes. Le problème est ailleurs, dans les choses qui ne se voient pas :

Le contrat signé en mars et facturé à partir de juin, parce que personne ne l’a ajouté à la liste. Ce chiffre d’affaires-là est perdu, pas différé.

L’avenant qui fait passer un client de 400 à 550 euros par mois, appliqué avec deux cycles de retard.

L’indexation annuelle prévue au contrat et jamais appliquée, parce que la vérifier sur quarante contrats demande une journée que personne n’a.

La facture émise à un client qui a résilié, avec l’échange désagréable qui suit.

Toutes ces erreurs ont la même cause : l’état contractuel réel vit dans des courriels, des signatures et des têtes, pendant que la facturation vit dans une liste tenue à la main. L’automatisation ne consiste pas à émettre plus vite, mais à faire de l’état contractuel la source de la facturation.

Ce qu’on automatise

Le référentiel des contrats. Client, prestation, montant, périodicité, date d’effet, durée, clause d’indexation, conditions de résiliation, mode de paiement.

L’émission au bon moment, à échoir ou à terme échu selon le contrat, avec la période clairement indiquée sur la facture.

Les calculs de proratas à l’entrée, à la sortie et au changement de formule.

Les indexations, avec le courrier d’information envoyé au bon délai.

L’envoi, au bon interlocuteur — qui n’est presque jamais celui qui a signé — et au bon format.

Le suivi d’encaissement et le rapprochement avec le compte.

Les relances en cas d’impayé, selon votre séquence.

Les signaux contractuels. Échéance de contrat qui approche, préavis de tacite reconduction, fin d’engagement : prévenus à l’avance, pas constatés après.

Comment ça marche techniquement — pour qui veut le détail

Le modèle de données. Trois entités distinctes, et la distinction compte : le contrat (relation durable, avec ses clauses), l’abonnement (une ligne facturable, avec sa période et son tarif, versionnée dans le temps), et la facture (un événement immuable une fois émise). Un changement de formule ne modifie pas la ligne existante : il la clôt à une date et en ouvre une nouvelle. Cette immuabilité est ce qui rend l’historique reconstituable et les proratas calculables sans ambiguïté.

La numérotation. Une séquence PostgreSQL dédiée par exercice ou par série, attribuée dans la transaction d’émission. Point important : une séquence PostgreSQL n’est pas transactionnelle par nature — un ROLLBACK consomme quand même le numéro. Quand l’absence totale de trous est exigée, on utilise une table de compteur verrouillée par SELECT … FOR UPDATE plutôt qu’une séquence, au prix d’une sérialisation qui n’a aucune importance au volume d’une facturation d’entreprise. Le brouillon n’a pas de numéro ; l’émission est l’opération qui en attribue un, une fois.

Les dates et les périodes. Toutes les périodes sont stockées comme des intervalles semi-ouverts [début, fin[ — le type daterange de PostgreSQL, avec une contrainte d’exclusion GIST qui rend impossible en base le chevauchement de deux périodes facturées pour le même abonnement. C’est une protection structurelle contre la double facturation, bien plus solide qu’un contrôle applicatif qu’on oublie de faire un jour.

Les calculs monétaires. Entiers de centimes, arrondi au demi supérieur appliqué une seule fois et au bon niveau. Un prorata sur trois lignes calculé ligne par ligne puis totalisé ne donne pas le même résultat que le calcul sur le total : la règle est fixée une fois, écrite dans la documentation, et la même partout. La TVA se calcule sur la base HT arrondie, dans cet ordre.

L’ordonnancement du cycle. Un timer systemd quotidien, pas mensuel : chaque jour, on cherche les abonnements dont la prochaine date de facturation est atteinte. Un cycle quotidien qui ne trouve rien coûte une milliseconde ; un cycle mensuel qui échoue coûte un mois. Persistent=true rattrape une exécution manquée après une coupure.

L’idempotence du cycle. Chaque exécution porte une clé (abonnement_id, période) avec contrainte d’unicité. Relancer le cycle deux fois le même jour, ou le relancer après une interruption au milieu, ne produit aucune facture en double. C’est ce qui permet de rejouer sereinement après un incident — et un cycle de facturation qu’on n’ose pas relancer est un cycle qu’on répare à la main.

Les indexations. Les indices publics (INSEE, ILC, ICC, SYNTEC selon les contrats) sont récupérés et stockés avec leur date de publication. Le calcul suit la formule du contrat, et le résultat est figé dans la base avant application, avec la valeur d’indice utilisée. Recalculer une indexation trois ans plus tard doit donner le même chiffre, ce qui suppose d’avoir conservé l’indice et pas seulement le résultat.

La facturation électronique. Les formats structurés — Factur-X (PDF/A-3 avec XML CII embarqué), UBL, le CII seul — sont produits à partir des mêmes données. Factur-X a l’avantage de rester lisible par un humain tout en étant exploitable par une machine, ce qui en fait une bonne cible de transition. Le routage vers une plateforme agréée est une couche d’envoi, découplée de la production du document : quand la plateforme ou le format change, seule cette couche bouge.

Le prélèvement SEPA. Fichier pain.008 avec le mandat, sa date de signature, sa référence unique et la séquence (FRST, RCUR, FNAL). Pré-notification au délai contractuel. Les rejets reviennent en pain.002 avec un code motif normalisé, traité automatiquement : un rejet pour provision insuffisante déclenche une relance, un rejet pour mandat révoqué déclenche une alerte commerciale — ce ne sont pas les mêmes situations et les traiter identiquement fait perdre des clients.

L’archivage. Facture émise figée en PDF avec empreinte SHA-256, stockée en écriture non modifiable, avec le jeu de données qui a servi à la produire. Une facture est un document comptable : la regénérer plus tard doit donner exactement le même fichier, ce qui suppose de conserver aussi la version du modèle.

Questions fréquentes

Et si un client change de formule en cours de mois ?
Le calcul au prorata est une règle, pas un cas particulier : elle est écrite une fois — au jour, à la semaine, ou pas de prorata du tout selon votre politique — et appliquée systématiquement. C’est typiquement le genre de calcul qu’on fait à la main de trois manières différentes selon qui s’en occupe, et qui finit par produire des réclamations clients.
Comment gère-t-on l’indexation annuelle des contrats ?
La clause d’indexation est paramétrée par contrat : indice de référence, date d’application, mode d’arrondi, plafond éventuel. Le flux calcule la revalorisation, produit le courrier d’information au délai contractuel, et n’applique le nouveau tarif qu’à la date prévue. Appliquer une indexation sans avoir envoyé l’information préalable est une source classique de contestation.
Quelle numérotation pour les factures ?
Séquentielle, continue, sans trou et sans doublon : c’est une exigence légale, pas une préférence. La numérotation est attribuée en base par une séquence transactionnelle, au moment de l’émission définitive et pas avant. Un brouillon n’a pas de numéro — c’est ce qui garantit qu’un brouillon abandonné ne laisse pas un trou dans la série.
Est-ce que ça prélève automatiquement ?
Le prélèvement SEPA est possible si vous détenez les mandats, mais nous ne le mettons pas en place à la légère : un mandat valide, une pré-notification dans le délai contractuel et une gestion propre des rejets sont des obligations, pas des options. Quand c’est en place, le rapprochement devient presque automatique. Et dans tous les cas, l’émission d’un ordre de paiement reste une action dont vous gardez la main.
Et la facturation électronique obligatoire ?
La réforme française impose progressivement l’émission et la réception des factures entre entreprises via des plateformes agréées, avec un format structuré. Une facturation déjà automatisée s’y adapte bien plus facilement qu’un processus manuel : les données existent déjà sous forme structurée, il reste à produire le bon format et à le router. C’est même l’un des meilleurs arguments pour automatiser maintenant plutôt qu’en urgence.
Combien coûte l’automatisation de la facturation récurrente ?
Entre 2 500 et 5 000 € selon la complexité de vos formules et la gestion des changements en cours de période. Si les abonnements sont simples et homogènes, le chantier est rapide ; les prorata, les paliers de volume et les indexations annuelles font monter le prix. L’exploitation se situe entre 150 et 300 € par mois.
Combien de temps pour le mettre en place ?
Trois à six semaines, dont un cycle complet de facturation en fonctionnement à blanc. C’est indispensable sur ce chantier : les erreurs de facturation récurrente sont invisibles au moment où elles se produisent et se découvrent en masse au mois suivant, quand plusieurs dizaines de clients ont reçu une facture fausse.

Pour aller plus loin

Ce process, chez vous

Les chiffres de cette page sont des ordres de grandeur observés. Les vôtres seront différents — et c’est précisément ce que l’audit mesure.

Parlons-en

Ce process, chez vous

Celui qui vous agace le plus, ou celui qui coûte le plus. Dites-nous en deux phrases qui le fait, combien de fois par semaine, et avec quels outils. Nous vous dirons franchement s’il mérite d’être automatisé — y compris quand la réponse est non.

  • Réponse garantie sous 24 heures
  • Un premier échange d’une demi-heure, sans engagement
  • Aucun formulaire tiers : votre message part par votre messagerie

Ou directement : nicolas@oli-via-net.fr· 06 89 96 40 79

Le message s’ouvrira dans votre messagerie, prêt à partir.