Subscriptions

Facturation récurrente

Place de marchéClientsVersion 0.1.0manifest

À quoi elle sert ​

Define recurring plans and track customer subscriptions with trial, active, past due and cancelled states, including the next invoice date. It does not create invoices by itself.

Ce que fait et ne fait pas le paquet ​

Recurring plans and customer subscriptions with a trial, active, past due and cancelled flow. It records the next invoice date; it does not create invoices on its own.

Modèles ​

subscriptions_plan ​

A recurring offer customers can subscribe to

Groupe de lecture: subscriptions.user. Groupe d'écriture: subscriptions.manager.

ChampTypeClasse de donnéesDonnées personnellesGroupeVu par les agentsDescription
nametextnonenonsubscriptions.useren clairPlan name, for example Team yearly
codetextnonenonsubscriptions.useren clairShort code of the plan
intervalselect (monthly, quarterly, yearly)nonenonsubscriptions.useren clairHow often the customer is billed: monthly, quarterly, yearly
pricemoneynonenonsubscriptions.useren clairStandard price per billing interval (minor currency units, e.g. cents)
trial_daysnumbernonenonsubscriptions.useren clairLength of the free trial in days
activeboolnonenonsubscriptions.useren clairWhether new customers can pick the plan

subscriptions_subscription ​

A customer's recurring subscription to a plan

Groupe de lecture: subscriptions.user. Groupe d'écriture: subscriptions.manager.

ChampTypeClasse de donnéesDonnées personnellesGroupeVu par les agentsDescription
customer_idref → partynonenonsubscriptions.useren clairThe customer who subscribed
plan_idref → subscriptions_plannonenonsubscriptions.useren clairThe plan subscribed to
started_ondatenonenonsubscriptions.useren clairDate the subscription began (YYYY-MM-DD)
trial_ends_ondatenonenonsubscriptions.useren clairDate the free trial ends (YYYY-MM-DD)
next_invoice_ondatenonenonsubscriptions.useren clairDate the next invoice is due (YYYY-MM-DD)
recurring_amountmoneynonenonsubscriptions.useren clairAmount billed each interval after discounts (minor currency units, e.g. cents)
currencytextnonenonsubscriptions.useren clairISO 4217 currency code, for example EUR
seatsnumbernonenonsubscriptions.useren clairNumber of licences or users covered
cancel_reasonlongtextnonenonsubscriptions.useren clairWhy the customer cancelled
stateselect (trial, active, past_due, cancelled)nonenonsubscriptions.useren clairSubscription status: trial, active, past_due, cancelled

Flux de travail ​

subscriptions_subscription ​

ActionTransitionQui peut l'exécuterApprobation
subscriptions_subscription.activatestate: trial → activesubscriptions.managernon
subscriptions_subscription.mark_past_duestate: active → past_duesubscriptions.managernon
subscriptions_subscription.recoverstate: past_due → activesubscriptions.managernon
subscriptions_subscription.cancel_trialstate: trial → cancelledsubscriptions.manageroui
subscriptions_subscription.cancelstate: active → cancelledsubscriptions.manageroui
subscriptions_subscription.cancel_overduestate: past_due → cancelledsubscriptions.manageroui

Groupes de permissions ​

Groupes utilisés par cette application :

  • subscriptions.manager
  • subscriptions.user

Étapes d'approbation ​

Étapes qu'un agent ne peut que proposer :

  • subscriptions_subscription.cancel_trial
  • subscriptions_subscription.cancel
  • subscriptions_subscription.cancel_overdue

Ce que les agents peuvent et ne peuvent pas faire ​

Un agent peut lire, rechercher, créer et modifier les enregistrements de cette application, et exécuter les actions qui ne requièrent pas d'approbation, dans les limites des groupes de permissions de son jeton.

Il ne peut que proposer ces étapes, qu'une personne doit approuver : subscriptions_subscription.cancel_trial, subscriptions_subscription.cancel, subscriptions_subscription.cancel_overdue, subscriptions_plan.delete, subscriptions_subscription.delete.

Dépendances ​

  • base

Installation ​

Installez-la depuis l'application Customize (Place de marché), ou en ligne de commande :

bash
obop modules install-from subscriptions

Nécessite une base de données et des droits d'administrateur.

Créer la vôtre ​

Le guide des modules montre comment sont écrites les applications de ce type