Summary

  • Stripe calcule les prorata au moment de la modification de l’abonnement en supposant que les factures antérieures seront finalement payées. Si celle de la période en cours est impayée, une baisse de forfait peut créer un avoir pour du temps au tarif supérieur qui n’a jamais été encaissé.
  • Un prorata négatif n’est pas remboursé automatiquement en espèces. Stripe recommande de choisir proration_behavior=none quand la dernière facture est impayée, puis de traiter séparément les nouveaux frais et l’ancienne créance. Le paiement ultérieur de cette dernière peut provoquer une double facturation.

L’avoir arrive avant le virement

Le client descend d’un palier. Le service commercial valide, l’abonnement change et le moteur de facturation calcule le temps non utilisé de l’ancien forfait. Un avoir se prépare pour la suite. Pourtant, au service comptable, la facture correspondant à ce même forfait porte encore la mention « impayée ». La baisse de prix a avancé plus vite que l’encaissement.

La documentation de Stripe décrit précisément ce décalage. Le prorata se calcule à la date de modification et présume que les factures précédentes finiront par être réglées. Le client peut donc recevoir un crédit pour la fraction non consommée d’une offre plus chère alors qu’il n’a pas payé l’offre en question. Il faut garder les mots à leur place : Stripe précise qu’un prorata négatif n’entraîne pas automatiquement un remboursement. Une créance ancienne, un avoir utilisable sur une facture future et un remboursement en argent sont trois mouvements différents.

Le réglage ordinaire de mise à jour, create_prorations, crée des postes de prorata sans nécessairement les facturer aussitôt. always_invoice agit sur le moment de facturer ; none empêche leur création lors de cette modification. Aucun de ces choix ne lit à la place du vendeur l’état réel du paiement passé. Avant de cliquer sur le changement de forfait, il faut ouvrir la dernière facture.

Si elle est impayée, Stripe propose proration_behavior=none. Conserver la période d’origine impose de facturer à part les nouveaux frais. Ramener le début du cycle à maintenant permet de facturer immédiatement le nouveau forfait. Mais si l’ancienne facture est ensuite payée, les deux voies peuvent aboutir à un double paiement. Stripe indique de l’annuler pour éviter cet effet. L’arbitrage porte sur la créance que le vendeur veut garder, pas sur la beauté de la page de tarifs.

La vérification tient sur quatre pièces : statut de l’ancienne facture, paramètres de modification, avoir éventuellement créé, facture finale suivante et emploi de cet avoir. Le client n’a changé de formule qu’une fois. Le vendeur doit solder deux histoires comptables avant de pouvoir dire que l’affaire est close.

Sources