Skip to content

Subscription Plans

1. Plan Overview

Plans define the public-facing subscription offerings with pricing, packages, and add-ons.

Basic Fields

  1. Name - Plan name (required, tracked, translatable)
  2. URL String - URL-friendly identifier, e.g., starter-plan (required, unique)
  3. Plan URL - Full URL path, computed as /saas/plans/<url_string>
  4. Description - Plan description HTML (translatable)
  5. Image - Plan image/logo (attachment)
  6. Badge Text - Promotional badge, e.g., Popular
  7. Features HTML - Features list for display (translatable)
  8. Sequence - Display ordering (default: 10)
  9. Published - Whether visible on the website (default: False, tracked)
  10. Active - Archive toggle (default: True)
  11. Color - Color picker value
  12. Product - Linked product template for sale orders (tracked)
  13. Allowed Domain - Base domain for subscriptions, e.g., example.com (required)
  14. Subscription Type - Deployment type: none (extended by Docker/DB Filter modules)
  15. Auto Create Subscription - Auto-create after payment (default: True)
  16. Currency - Pricing currency (default: company currency)
  17. Database Template - Pre-built database to restore (optional)

2. Billing Periods

Each plan defines which billing periods are available.

  1. Period - Billing cycle (required):
    • Monthly, Quarterly (3 months), Semi-Annual (6 months), Yearly
  2. Sequence - Display order (default: 10)
  3. Is Default - Pre-selected period on the website (default: False)

3. Package Lines

Packages available within a plan, with custom display and pricing.

  1. Package - Reference to a subscription package (required)
  2. Custom Display Name - Override name for the website (translatable)
  3. Description - Short description (translatable)
  4. Image - Package image (attachment)
  5. Icon - Font Awesome icon class
  6. Sequence - Display order (default: 10)
  7. Pricing - Price per billing period (One2many)

Package Pricing

  1. Period - Billing period (required)
  2. Price - Package price for that period (required)

4. Add-ons

Configurable extras like additional storage, users, or stages with step-based pricing.

  1. Name - Add-on name (translatable)
  2. Add-on Type - Category: storage, users, stages (extended by Docker with workers)
  3. Included Value - Amount included in base price (default: 0)
  4. Step Value - Increment step (default: 1)
  5. Min Value - Minimum configurable value (default: 0)
  6. Max Value - Maximum configurable value (default: 100)
  7. Unit Label - Display unit, e.g., GB, Users
  8. Icon - Font Awesome icon class
  9. Sequence - Display order (default: 10)
  10. Pricing - Price per step per billing period (One2many)

Add-on Pricing

  1. Period - Billing period (required)
  2. Price Per Step - Cost for each step above the included value (required)

Pricing Calculation

Add-on cost = max(0, quantity - included_value) / step_value * price_per_step. Only the portion above the included value is charged.


5. Publishing Validation

Before a plan can be published, the system validates:

  • A product is linked
  • An allowed domain is set
  • At least one package line exists
  • At least one billing period exists
  • All package lines have pricing for all available periods
  • All add-ons have pricing for all available periods