Subscriptions

Facturación recurrente

MarketplaceClientesVersión 0.2.0AGPL-3.0-or-latermanifest

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.

Detalles del módulo ​

  • Versión: 0.2.0
  • Autor: SpaceCorps
  • Licencia: AGPL-3.0-or-later
  • Requiere núcleo: ^0.2 (el núcleo actual es 0.2.0)
  • Madurez: Beta
  • Categorías: Ventas, Finanzas

Modelos ​

subscriptions_plan ​

A recurring offer customers can subscribe to

Grupo de lectura: subscriptions.user. Grupo de escritura: subscriptions.manager.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
nametextnonenosubscriptions.useren claroPlan name, for example Team yearly
codetextnonenosubscriptions.useren claroShort code of the plan
intervalselect (monthly, quarterly, yearly)nonenosubscriptions.useren claroHow often the customer is billed: monthly, quarterly, yearly
pricemoneynonenosubscriptions.useren claroStandard price per billing interval (minor currency units, e.g. cents)
trial_daysnumbernonenosubscriptions.useren claroLength of the free trial in days
activeboolnonenosubscriptions.useren claroWhether 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.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
customer_idref → partynonenosubscriptions.useren claroThe customer who subscribed
plan_idref → subscriptions_plannonenosubscriptions.useren claroThe plan subscribed to
started_ondatenonenosubscriptions.useren claroDate the subscription began (YYYY-MM-DD)
trial_ends_ondatenonenosubscriptions.useren claroDate the free trial ends (YYYY-MM-DD)
next_invoice_ondatenonenosubscriptions.useren claroDate the next invoice is due (YYYY-MM-DD)
recurring_amountmoneynonenosubscriptions.useren claroAmount billed each interval after discounts (minor currency units, e.g. cents)
currencytextnonenosubscriptions.useren claroISO 4217 currency code, for example EUR
seatsnumbernonenosubscriptions.useren claroNumber of licences or users covered
cancel_reasonlongtextnonenosubscriptions.useren claroWhy the customer cancelled
stateselect (trial, active, past_due, cancelled)nonenosubscriptions.useren claroSubscription status: trial, active, past_due, cancelled

Flujos de trabajo ​

subscriptions_subscription ​

AcciónMueveQuién puede ejecutarlaAprobación
subscriptions_subscription.activatestate: trial → activesubscriptions.managerno
subscriptions_subscription.mark_past_duestate: active → past_duesubscriptions.managerno
subscriptions_subscription.recoverstate: past_due → activesubscriptions.managerno
subscriptions_subscription.cancel_trialstate: trial → cancelledsubscriptions.managersí
subscriptions_subscription.cancelstate: active → cancelledsubscriptions.managersí
subscriptions_subscription.cancel_overduestate: past_due → cancelledsubscriptions.managersí

Grupos de permisos ​

Grupos que usa esta aplicación:

  • subscriptions.manager
  • subscriptions.user

Pasos con aprobación ​

Pasos que un agente solo puede proponer:

  • subscriptions_subscription.cancel_trial
  • subscriptions_subscription.cancel
  • subscriptions_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 ​

Cada dependencia indica las versiones que acepta. Las aplicaciones integradas se versionan con el núcleo, así que un requisito sobre ellas se comprueba con la versión del núcleo.

Al instalar esta aplicación desde el mercado también se instalan las dependencias que falten, en un único plan que se confirma una vez.

Instalación ​

Instálala desde la aplicación Customize (Marketplace) o desde la línea de comandos:

bash
obop modules install-from subscriptions

Requiere 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