Subscriptions
Facturación recurrente
Para qué sirve
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.
Qué hace y qué no hace el paquete
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.
Modelos
subscriptions_plan
A recurring offer customers can subscribe to
Grupo de lectura: subscriptions.user. Grupo de escritura: subscriptions.manager.
| Campo | Tipo | Clase de datos | Datos personales | Grupo | Los agentes ven | Descripción |
|---|---|---|---|---|---|---|
name | text | none | no | subscriptions.user | en claro | Plan name, for example Team yearly |
code | text | none | no | subscriptions.user | en claro | Short code of the plan |
interval | select (monthly, quarterly, yearly) | none | no | subscriptions.user | en claro | How often the customer is billed: monthly, quarterly, yearly |
price | money | none | no | subscriptions.user | en claro | Standard price per billing interval (minor currency units, e.g. cents) |
trial_days | number | none | no | subscriptions.user | en claro | Length of the free trial in days |
active | bool | none | no | subscriptions.user | en claro | Whether new customers can pick the plan |
subscriptions_subscription
A customer's recurring subscription to a plan
Grupo de lectura: subscriptions.user. Grupo de escritura: subscriptions.manager.
| Campo | Tipo | Clase de datos | Datos personales | Grupo | Los agentes ven | Descripción |
|---|---|---|---|---|---|---|
customer_id | ref → party | none | no | subscriptions.user | en claro | The customer who subscribed |
plan_id | ref → subscriptions_plan | none | no | subscriptions.user | en claro | The plan subscribed to |
started_on | date | none | no | subscriptions.user | en claro | Date the subscription began (YYYY-MM-DD) |
trial_ends_on | date | none | no | subscriptions.user | en claro | Date the free trial ends (YYYY-MM-DD) |
next_invoice_on | date | none | no | subscriptions.user | en claro | Date the next invoice is due (YYYY-MM-DD) |
recurring_amount | money | none | no | subscriptions.user | en claro | Amount billed each interval after discounts (minor currency units, e.g. cents) |
currency | text | none | no | subscriptions.user | en claro | ISO 4217 currency code, for example EUR |
seats | number | none | no | subscriptions.user | en claro | Number of licences or users covered |
cancel_reason | longtext | none | no | subscriptions.user | en claro | Why the customer cancelled |
state | select (trial, active, past_due, cancelled) | none | no | subscriptions.user | en claro | Subscription status: trial, active, past_due, cancelled |
Flujos de trabajo
subscriptions_subscription
| Acción | Mueve | Quién puede ejecutarla | Aprobación |
|---|---|---|---|
subscriptions_subscription.activate | state: trial → active | subscriptions.manager | no |
subscriptions_subscription.mark_past_due | state: active → past_due | subscriptions.manager | no |
subscriptions_subscription.recover | state: past_due → active | subscriptions.manager | no |
subscriptions_subscription.cancel_trial | state: trial → cancelled | subscriptions.manager | sí |
subscriptions_subscription.cancel | state: active → cancelled | subscriptions.manager | sí |
subscriptions_subscription.cancel_overdue | state: past_due → cancelled | subscriptions.manager | sí |
Grupos de permisos
Grupos que usa esta aplicación:
subscriptions.managersubscriptions.user
Pasos con aprobación
Pasos que un agente solo puede proponer:
subscriptions_subscription.cancel_trialsubscriptions_subscription.cancelsubscriptions_subscription.cancel_overdue
Qué pueden y qué no pueden hacer los agentes
Un agente puede leer, buscar, crear y actualizar registros de esta aplicación, y ejecutar las acciones que no requieren aprobación, dentro de los grupos de permisos de su token.
Solo puede proponer estos pasos, y una persona debe aprobarlos: subscriptions_subscription.cancel_trial, subscriptions_subscription.cancel, subscriptions_subscription.cancel_overdue, subscriptions_plan.delete, subscriptions_subscription.delete.
Dependencias
base
Instalación
Instálala desde la aplicación Customize (Marketplace) o desde la línea de comandos:
obop modules install-from subscriptionsRequiere una base de datos y derechos de administrador.
Crea la tuya
La guía de módulos explica cómo se escriben aplicaciones como esta