€95/mo on its own · included in every plan
· Needs Payment gateways and Customers
Subscriptions
Recurring revenue, handled end to end.
Plans, trials, renewals, grace periods and a self-service billing portal — with limits enforced across the platform and nothing lost when a payment fails.

- Every minute
- Renewal scan
- 7 / 3 / 1
- Reminder days
- 3
- Notification channels
- 0
- Double charges by design
Plans you shape yourself
Pricing lives in the panel, not in code.
- Monthly and annual prices per plan
- User, role and storage limits, plus custom feature flags
- A grace period defined per plan
- Activate, deactivate, reprice, mark default

A lifecycle you can read back
Trial, active, past-due, suspended, cancelled — every transition lands in an append-only ledger.
- Trials that convert to paid on their own
- Plan changes apply at the next cycle boundary
- An append-only event ledger per subscription
- A manual charge-now button for admins
Renewals that don't lose money quietly
Due subscriptions are scanned every minute and charged through your own payment providers. Failure has a defined path.
- A failed payment moves to the grace period you configured
- Expired grace suspends — no silent loss, no surprise access
- Deterministic idempotency: a re-delivered event cannot charge twice
- With Invoicing installed, each successful renewal becomes a paid invoice

Limits enforced where they matter
The active plan's caps apply at the moment of action, across the platform.
- User and role creation blocked at the cap, with a translated message
- Storage caps and per-plan feature flags
- A safe no-op fallback if the module is removed — nothing breaks
Customers serve themselves
The billing portal answers the questions that otherwise become tickets.
- See the current plan and any pending change
- Change plan, cancel at period end, replace the payment mandate
- Billing history and a dated log of every event
- Reminders before renewal, before a trial ends and before grace expires

Worth knowing: EUR and USD only for now, and a plan change waits for the next billing cycle — there is no mid-cycle proration. Charging and invoices belong to the Payments and Invoicing modules.
What every module inherits.
- Installs from the marketplace with no redeploy — the menu and the permission list update immediately.
- Creates its own tables, in its own schema, inside that customer's database.
- Packages are cryptographically signed when they are built, and the signature is checked before the host unpacks one.
- Uninstall switches a module off and keeps its data. Dropping the tables is a separate, deliberate choice.
Want to see Subscriptions running?
Thirty minutes, a live workspace, and an honest answer about what each module does and doesn't do yet. Missing a module? A custom build is a fixed-scope project, from €25.000.
Book a call