Aller au contenu
django-nms

Automatisation et notifications

Le premier du mois en une seule passe

Génération des factures, facturation électronique, création des PDF et e-mail client sont une seule action sur la liste des factures. La file de tâches fait le reste en arrière-plan.

  • Action « Processus complet » avec ou sans facturation électronique
  • Relances par e-mail par facture, par client ou en masse pour les soldes négatifs
  • Renouvellement automatique des contrats avec avis 30 et 5 jours avant l'échéance

Le processus complet, étape par étape

  1. Génération. Pour chaque contrat actif, une facture est construite à partir des abonnements, des services ponctuels impayés et des appels VoIP. Les contrats chaînés (précédent/suivant) ne sont pas facturés deux fois.
  2. Facturation électronique. Les factures avec identifiant fiscal de l'acheteur partent en sessions par lots et reviennent avec numéro officiel et empreinte.
  3. PDF. Facture avec montant en lettres, récapitulatif TVA, solde et QR code. Un PDF séparé avec la liste détaillée des appels pour les numéros VoIP.
  4. E-mail. Selon le réglage du contrat : au payeur, au bénéficiaire ou aux deux. Les factures postales partent en liste au service client. L'envoi crée une écriture de sortie dans le grand livre.

Chaque étape a un indicateur d'état (complète, PDF, prête à envoyer, envoyée), donc le processus peut reprendre là où il s'est arrêté.

Notifications et cycle de vie du contrat

  • E-mail via AWS SES

    Modèles modifiables dans le panneau, CSS intégré, limitation d'envoi par seconde, pièces jointes, messages en masse aux clients sélectionnés.

  • SMS via SMSAPI

    Notifications SMS pour factures, relances et blocages.

  • Relances

    Rappel d'impayé depuis la liste des factures, la fiche client ou en masse depuis la liste des soldes. Avis réglementaire avec pièce jointe : en roadmap.

  • Renouvellement automatique

    E-mail 30 et 5 jours avant la fin du contrat, puis nouveau contrat avec ou sans remise et confirmation au client. Action manuelle ou tâche planifiée.

  • Notifications internes

    Une modification de contrat envoie par e-mail un lien vers l'historique au groupe responsable des contrats.

  • En roadmap

    Blocage automatique pour impayé

    Règle : solde négatif et échéance dépassée de N jours, puis relance, puis blocage souple ou dur de l'hôte. Sur la feuille de route.

Des files de tâches plutôt que des roues de chargement

Les opérations longues (factures, import de relevé, rapports réglementaires, envoi d'e-mails) vont dans une file Redis et s'exécutent en arrière-plan. Les tâches périodiques (rafraîchissement des sessions toutes les 60 s, désactivation horaire des hôtes expirés) passent par Celery beat. Le panneau des files est dans l'administration, les erreurs vont dans Sentry.

  • django-rq pour les tâches ponctuelles, Celery pour les périodiques
  • Composition Docker : web, worker, celery-worker, celery-beat, PostgreSQL, Redis
  • Déploiement Ansible pour cloud et sur site

Combien d'heures par mois vous coûte la facturation ?

En démo, nous les comptons ensemble et montrons quelles étapes disparaissent.