====== Sprint 19 — SaaS Billing & Subscription Management ======
===== Objectif =====
Permettre à la plateforme de :
Vendre
Facturer
Encaisser
Renouveler
Piloter
ses propres abonnements SaaS.
À la fin de ce sprint :
Un client
↓
Choisit un plan
↓
Souscrit
↓
Paie
↓
Active son tenant
↓
Est facturé automatiquement
sans intervention manuelle.
----
====== Vision Produit ======
===== Avant =====
La plateforme gère :
Réservations
Paiements voyageurs
Factures clients
mais ne sait pas encore se vendre elle-même.
----
===== Après =====
La plateforme devient :
Auto-commercialisable
avec :
Abonnements
Paiements
Facturation
Renouvellements
Upsell
intégrés.
----
====== Architecture ======
Billing Platform
├── Plans
├── Subscriptions
├── Checkout
├── Invoicing
├── Usage Billing
├── Payments
├── Dunning
├── Revenue Analytics
└── Customer Billing Portal
----
====== Sprint 19-A.1 ======
===== Product Catalog =====
----
====== Objectif ======
Définir les offres commerciales.
----
====== Modèle ======
Créer :
BillingPlan
----
====== Plans ======
Créer :
Starter
Professional
Business
Enterprise
----
====== Paramètres ======
Name
Description
Monthly Price
Yearly Price
Trial Days
Features
----
====== Feature Limits ======
Supporter :
Properties
Users
Reservations
Channels
Storage
API Usage
----
====== Sprint 19-A.2 ======
===== Subscription Engine =====
----
====== Modèle ======
Créer :
Subscription
SubscriptionItem
SubscriptionHistory
----
====== États ======
Supporter :
Trial
Active
Past Due
Suspended
Cancelled
Expired
----
====== Actions ======
Upgrade
Downgrade
Renew
Cancel
Reactivate
----
====== Sprint 19-B.1 ======
===== SaaS Checkout =====
----
====== Route ======
/pricing
/subscribe
/billing/checkout
----
====== Workflow ======
Choix plan
↓
Informations société
↓
Paiement
↓
Confirmation
↓
Activation tenant
----
====== Supporter ======
Monthly
Yearly
Trial
----
====== Afficher ======
Prix
Modules
Limites
Comparaison
----
====== Sprint 19-B.2 ======
===== Billing Account =====
----
====== Route ======
/settings/billing
----
====== Afficher ======
Plan actuel
Statut
Paiement
Factures
Utilisation
----
====== Actions ======
Modifier plan
Mettre à jour carte
Télécharger facture
Annuler abonnement
----
====== Sprint 19-C.1 ======
===== Stripe Billing Integration =====
----
====== Réutiliser ======
Stripe
PaymentIntent
Invoice Engine
----
====== Ajouter ======
Stripe Customer
Stripe Subscription
Stripe Invoice
Stripe Webhooks
----
====== Webhooks ======
Supporter :
invoice.paid
invoice.payment_failed
customer.subscription.updated
customer.subscription.deleted
----
====== Synchronisation ======
Maintenir :
Stripe
↓
Billing Engine
↓
Tenant
----
====== Sprint 19-C.2 ======
===== Invoicing Engine =====
----
====== Génération ======
Créer :
Subscription Invoice
----
====== Types ======
Monthly
Yearly
Adjustment
Credit Note
----
====== Documents ======
Supporter :
PDF
Email
Download
----
====== TVA ======
Gérer :
France
Europe
International
----
====== Sprint 19-D.1 ======
===== Usage Billing =====
----
====== Objectif ======
Facturer selon l'usage.
----
====== Mesurer ======
Properties
Reservations
Users
Storage
API Calls
----
====== Modèle ======
Créer :
UsageMetric
UsageCounter
UsageInvoiceLine
----
====== Seuils ======
Supporter :
Included
Warning
Exceeded
----
====== Sprint 19-D.2 ======
===== Dunning Management =====
----
====== Objectif ======
Gérer les impayés.
----
====== Workflow ======
Paiement échoué
↓
Relance
↓
Nouvelle tentative
↓
Suspension
↓
Résiliation
----
====== Notifications ======
Envoyer :
Email
In-App
SMS
----
====== États ======
Afficher :
Payment Failed
Past Due
Suspended
Recovered
----
====== Sprint 19-E.1 ======
===== Revenue Analytics =====
----
====== Route ======
/admin/billing/analytics
----
====== KPI ======
Afficher :
MRR
ARR
ARPA
Churn
Expansion Revenue
Net Revenue
----
====== Graphiques ======
Afficher :
MRR Trend
Subscriptions
Revenue Growth
Plan Distribution
----
====== Prévisions ======
Afficher :
MRR Forecast
ARR Forecast
Churn Forecast
----
====== Sprint 19-E.2 ======
===== Subscription Management =====
----
====== Route ======
/admin/billing/subscriptions
----
====== Afficher ======
Tenants
Plans
Status
MRR
Renewal Date
----
====== Actions ======
Upgrade
Downgrade
Suspend
Reactivate
Grant Trial
----
====== Sprint 19-F.1 ======
===== Customer Billing Portal =====
----
====== Route ======
/billing
----
====== Afficher ======
Current Plan
Invoices
Payment Methods
Usage
Renewal Date
----
====== Self-Service ======
Supporter :
Upgrade
Downgrade
Cancel
Update Card
Download Invoice
----
====== Sprint 19-F.2 ======
===== Validation Sprint =====
----
====== Tests Fonctionnels ======
Scénario :
Choisir plan
↓
Créer abonnement
↓
Payer
↓
Activer tenant
↓
Utiliser plateforme
↓
Recevoir facture
↓
Renouvellement automatique
----
====== Démonstration ======
Durée cible :
5 minutes
----
====== Critères MVP ======
Le sprint est terminé lorsque :
✓ Product Catalog créé
✓ Subscription Engine créé
✓ SaaS Checkout créé
✓ Billing Account créé
✓ Stripe Billing intégré
✓ Invoicing Engine créé
✓ Usage Billing créé
✓ Dunning créé
✓ Revenue Analytics créé
✓ Customer Billing Portal créé
----
====== Modèle Métier ======
===== Nouveaux Agrégats =====
BillingPlan
Subscription
SubscriptionItem
SubscriptionInvoice
UsageMetric
UsageCounter
PaymentMethod
DunningEvent
----
====== Valeur Commerciale ======
À la fin du Sprint 19 :
Le produit peut être vendu
↓
Le client peut souscrire
↓
Le paiement est automatisé
↓
La facturation est automatisée
↓
Le renouvellement est automatisé
sans intervention humaine.
La plateforme devient un véritable produit SaaS commercialisable à grande échelle.
----
====== Livrables ======
BillingPlanModule
SubscriptionModule
SaaSCheckout
BillingAccount
StripeBillingIntegration
SubscriptionInvoicing
UsageBillingEngine
DunningEngine
RevenueAnalytics
CustomerBillingPortal
----
====== Jalon ======
À ce stade :
Produit
✓
Onboarding
✓
Distribution
✓
Facturation SaaS
✓
Le cycle commercial complet est désormais couvert.