SysAmandine
Le tableau qui vous dit ce que vous avez oublié de facturer — et qui peut le facturer pour vous.
The board that tells you what you forgot to invoice — and that can invoice it for you.
Facturer des contrats récurrents n'est pas difficile. Ce qui est difficile, c'est de savoir en fin de mois si on n'a oublié personne. Un contrat trimestriel démarré en mai, un service ajouté en septembre, une facture émise avec deux jours de retard : à cinq contrats on s'en souvient, à trente on ne s'en souvient plus. Et une facture qui manque ne fait aucun bruit.
Invoicing recurring contracts is not hard. What is hard is knowing, at the end of the month, whether you forgot anyone. A quarterly contract started in May, a service added in September, an invoice issued two days late: with five contracts you remember, with thirty you do not. And a missing invoice makes no noise at all.
Chaque contrat reçoit une périodicité et un terme, et l'année s'affiche en douze colonnes. Chaque case connaît son état : couverte, hors contrat, à venir, ou commencée sans facture. Cette dernière passe en orange avec un « + » qui ouvre le formulaire pré-rempli pour cette période-là. Ensuite, si vous le voulez, le module facture tout seul — du brouillon préparé jusqu'à la facture envoyée au client.
Each contract gets a billing frequency and a term, and the year is laid out in twelve columns. Every cell knows its state: covered, outside the contract, upcoming, or started without an invoice. That last one turns amber with a "+" that opens the form prefilled for that very period. Then, if you want, the module invoices on its own — from a prepared draft up to an invoice sent to the customer.
Une case orange « + » signale une période commencée qu'aucune facture ne couvre. Une case bleue, une période à venir que vous pouvez déjà préparer. Plus rien à deviner dans la grille.
An amber "+" cell flags a period that has started and that no invoice covers. A blue cell, an upcoming period you may already prepare. Nothing left to guess in the grid.
Mensuelle, trimestrielle, semestrielle ou annuelle — calée sur le démarrage du contrat, pas sur le calendrier civil. Un trimestriel démarré en mai se facture en mai, août, novembre, février.
Monthly, quarterly, half-yearly or yearly — anchored on the contract start, not the civil calendar. A quarterly started in May is billed in May, August, November, February.
Un délai d'anticipation réglable : trois mois sur une échéance annuelle vous laissent la préparer dès février, plutôt que de la découvrir le jour même.
An adjustable lead time: three months on a yearly term lets you prepare it from February, instead of discovering it on the day.
Une période n'est proposée que si un service du contrat y est réellement en vigueur. Un service ouvert en septembre n'est jamais réclamé pour les mois d'avant.
A period is only offered if a service of the contract is actually in force during it. A service opened in September is never claimed for the months before.
Le « + » ouvre le formulaire pré-rempli pour cette période, pas pour la date du jour : facturer juin au mois d'août écrit bien « juin ». Rien n'est enregistré tant que vous n'avez pas validé.
The "+" opens the form prefilled for that period, not for today: billing June in August does write "June". Nothing is saved until you submit.
Une période déjà touchée par une pièce — même un brouillon, un avoir ou une facture abandonnée — n'est jamais reproposée. Les doublons éventuels sont comptés et signalés.
A period already holding any document — even a draft, a credit note or an abandoned invoice — is never offered again. Duplicates are counted and flagged.
Rien, brouillon préparé, facture validée, ou facture envoyée au client. Réglable contrat par contrat, et coupable globalement : éteinte, la fonction n'existe pas.
Nothing, prepared draft, validated invoice, or invoice sent to the customer. Set per contract, and switchable globally: switched off, the feature does not exist.
La facture est créée et validée à sa date, mais ne part qu'après le délai que vous fixez. Une nuit suffit à rattraper une facture fausse avant qu'elle ne parte.
The invoice is created and validated on its date, but only leaves after the delay you set. One night is enough to catch a wrong invoice before it goes.
Si la tâche planifiée s'arrête, les périodes redeviennent « à facturer » et leur lien réapparaît. C'est ce garde-fou qui manque aux factures récurrentes utilisées seules.
If the scheduled job stops, periods turn back to "to invoice" and their link reappears. That safeguard is exactly what recurring invoices lack on their own.
Captures à venir — le module est actif sur la démo.
Screenshots coming soon — the module is live on the demo.
Sur la fiche du contrat : périodicité, terme (d'avance ou à échoir), et si besoin un délai d'anticipation. Le tableau se remplit aussitôt.
On the contract card: billing frequency, term (in advance or in arrears), and a lead time if needed. The board fills in at once.
Les cases orange montrent ce qui manque. Un clic sur « + » ouvre la facture pré-remplie pour la bonne période — vous relisez, vous validez.
Amber cells show what is missing. One click on "+" opens the invoice prefilled for the right period — you review, you validate.
Réglez « Facturation automatique » sur le contrat, au niveau qui vous convient. Le tableau continue de contrôler ce que la tâche planifiée produit.
Set "Automatic invoicing" on the contract, at the level that suits you. The board keeps checking what the scheduled job produces.

Ingénieure système, réseau et web à Nouméa, experte Dolibarr depuis 15 ans. J'ai écrit ce module pour mes propres contrats d'hébergement : je voulais un tableau qui me dise ce que j'avais oublié, pas un qui me montre ce que j'avais déjà fait.
Systems, network and web engineer in Nouméa, Dolibarr expert for 15 years. I wrote this module for my own hosting contracts: I wanted a board that tells me what I forgot, not one that shows me what I had already done.
Les factures récurrentes génèrent, mais ne contrôlent rien : si la tâche planifiée s'arrête un mois, personne ne s'en aperçoit. Ce module s'appuie dessus pour produire, et garde le tableau comme garde-fou — une période non couverte redevient visible, avec son lien de facturation. Le planificateur produit, le tableau contrôle.
Recurring invoices generate, but check nothing: if the scheduled job stops for a month, nobody notices. This module builds on them to produce, and keeps the board as a safeguard — an uncovered period becomes visible again, with its invoicing link. The scheduler produces, the board controls.
L'envoi est le seul geste irréversible, et il est le plus encadré : une facture ne part jamais deux fois, ni sans son PDF, ni si son montant diverge de ce que le modèle annonçait, ni sans destinataire, ni avant la fin du délai de relecture. Et il faut l'avoir explicitement demandé deux fois : une autorisation d'envoi donnée à la main sur cette installation précise — éteinte par défaut, elle ne s'hérite pas d'une base restaurée — puis, contrat par contrat, le niveau « envoyée ».
Sending is the only irreversible step, and the most guarded: an invoice never goes out twice, nor without its PDF, nor if its amount diverges from what the template announced, nor without a recipient, nor before the review delay has elapsed. And it must have been explicitly requested twice: a sending permission granted by hand on this very installation — off by default, and never inherited from a restored database — and then, contract by contract, the “sent” level.
Oui, et c'est le réglage par défaut. Éteinte, la facturation automatique n'existe pas : ni champ sur les contrats, ni tâche planifiée, ni écriture. Le tableau de suivi et la facturation en un clic fonctionnent seuls.
Yes, and that is the default. Switched off, automatic invoicing does not exist: no field on contracts, no scheduled job, no writes. The tracking board and one-click invoicing work on their own.
Le modèle de facturation récurrente fige les prix au moment où on l'automatise. Le module compare chaque facture générée à ce que le modèle annonçait, et refuse de l'envoyer en cas d'écart — pour qu'une hausse de tarif oubliée ne parte pas au mauvais montant, mois après mois.
The recurring template freezes prices when automation is set up. The module compares each generated invoice with what the template announced, and refuses to send it if they differ — so a forgotten price rise does not go out at the wrong amount, month after month.
Écrivez-moi via le formulaire de contact, je réponds personnellement.
Write to me via the contact form, I reply personally.
Sur la démo Dolibarr, module activé.
On the Dolibarr demo, module enabled.
Ouvrir la démoOpen the demoIdentifiants : demo / demodemo
Login: demo / demodemo