Envois des factures Stripe
Une facture transmise à un client professionnel français lui est remise par le réseau. Si Stripe la lui envoie aussi par courriel, il la reçoit deux fois. Le guide pratique de la DGFiP demande de piloter ces envois complémentaires : quand les statuts confirment que la facture a été remise, le double doit, sauf besoin particulier, être évité.
Rien ici n'est indispensable : la mention de bas de page du guide de démarrage suffit à identifier les exemplaires Stripe comme des copies. Cette page s'adresse aux équipes qui préfèrent supprimer le doublon à la source.
La démarche tient en un réglage et trois canaux à couvrir ensuite : la case coupe l'envoi pour tous vos clients, y compris les particuliers et les étrangers pour qui ce courriel est le seul moyen de recevoir la facture — et, pour une facture payable à réception, le lien de paiement lui-même.
1. Réglage Stripe
Décochez « Envoyer les factures finalisées et avoirs à vos clients » (Paramètres → Billing → Abonnements et e-mails). Plus aucune facture ne part automatiquement.
2. Votre intégration
Pour la facturation manuelle (payable à réception), plus rien ne part tout seul : votre code doit renvoyer la facture aux clients e-reporting, avec le même critère que le routage — sans quoi ils ne reçoivent plus rien. Si vous n'écoutez pas encore les webhooks Stripe, suivez la documentation Stripe. Les exemples ci-dessous sont à adapter à votre intégration.
Sur invoice.finalized pour envoyer la facture avant le paiement, ou invoice.paid pour l'envoyer une fois réglée :
// à la réception du webhook Stripe invoice.finalized (ou invoice.paid, selon le moment choisi)
const customer = await stripe.customers.retrieve(invoice.customer);
// lecture du numéro de TVA ou de la métadonnée "siren"
const siren = customer.tax_ids?.data.find(t => t.value.startsWith("FR"))
|| customer.metadata.siren;
if (customer.address.country === "FR" && siren) {
// professionnel français : le réseau lui remet la facture, ne rien envoyer
} else {
// particulier ou client à l'étranger : le PDF Stripe reste son seul document
await stripe.invoices.sendInvoice(invoice.id);
}En mode test, Stripe n'envoie pas les courriels de facture, même si l'envoi est déclenché. Pour vérifier votre intégration, ouvrez la facture dans Stripe : la ligne « La facture a été envoyée à… » dans Activité récente confirme que votre code a déclenché l'envoi au bon client.
3. Abonnements et prélèvement automatique
Ici, l'envoi ne peut pas être conditionné client par client : l'API Stripe n'autorise pas sendInvoice sur une facture en prélèvement automatique (l'exemple ci-dessus ne s'applique donc pas aux abonnements), et l'option « Paiements réussis » est un réglage global.
Deux possibilités :
- ·Laisser l'option activée (Paramètres → Entreprise → E-mails clients, section « Paiements ») : après le paiement, Stripe envoie un récapitulatif avec des liens vers la facture et le reçu. Vos professionnels français le recevront aussi ; le PDF accessible par ce lien porte de toute façon la mention de bas de page.
- ·Désactiver l'option et envoyer votre propre courriel depuis le webhook
invoice.paid: vous pouvez alors conditionner selon le type de client.
// webhook Stripe invoice.paid — option « Paiements réussis » désactivée dans Stripe
const customer = await stripe.customers.retrieve(invoice.customer, { expand: ["tax_ids"] });
const siren = customer.tax_ids?.data.find(t => t.value.startsWith("FR"))
|| customer.metadata.siren;
if (customer.address?.country === "FR" && siren) {
// professionnel français : le réseau lui remet l'original, ne rien envoyer
return;
}
// particulier ou client à l'étranger : votre courriel porte le PDF Stripe
await mailer.send({
to: customer.email,
subject: `Votre facture ${invoice.number}`,
attachments: [{ filename: `${invoice.number}.pdf`, path: invoice.invoice_pdf }],
});Le champ invoice_pdf de la facture donne l'URL du PDF généré par Stripe : joignez-le à votre courriel.
4. Via le tableau de bord Stripe
La même règle vaut pour une facture créée à la main : lors de la finalisation de la facture, cliquez « Envoyer la facture » uniquement pour un client e-reporting ; pour un professionnel français, le réseau s'en charge.
Voir aussi : le guide de démarrage et les règles de routage.