EcliPanel includes a billing system that ties portal tier upgrades to orders. Plans define the resource limits and portal tier a user receives, orders record the purchase intent, and PDF invoices are generated server-side for each completed order. The entire billing subsystem is gated behind theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/thenoname-gurl/EcliPanel/llms.txt
Use this file to discover all available pages before exploring further.
billing feature flag — if your deployment does not need paid plans, you can disable it without affecting any other part of the panel.
Billing is optional. Set the
billing feature flag to false in your panel settings to hide billing UI and disable billing endpoints for all users.Plans
A Plan represents a purchasable tier with specific resource allocations. Each plan has the following fields from thePlan entity:
| Field | Type | Description |
|---|---|---|
name | string | Display name shown in the billing UI |
type | string | Portal tier this plan grants (free, paid, etc.) |
price | float | Price in your configured currency |
memory | number | RAM allocation in MB |
disk | number | Disk allocation in MB |
cpu | number | CPU allocation (percentage) |
serverLimit | number | Maximum number of servers |
databases | number | Number of databases per server |
backups | number | Number of backups per server |
portCount | number | Number of network port allocations per server |
tunnelPortCount | number | Number of tunnel allocations included in the plan |
hiddenFromBilling | boolean | Hides the plan from the user-facing billing page |
features JSON object for custom feature flags.
Listing and managing plans
Placing orders
Users place an order to request a plan upgrade. The order is recorded and an admin can then approve it by applying the plan:Viewing invoices
Each order has a downloadable PDF invoice generated server-side usingpdfkit. The PDF includes:
- Company logo (configured via
INVOICE_LOGO_PATHenvironment variable) - Issuer details (
COMPANY_NAME,INVOICE_ISSUED_FROM_NAME, address, city, email) - Invoice number, date, and bill-to details for the purchasing user
application/pdf.
PDF generation uses a dedicated worker (
pdfWorker) to avoid blocking the main Elysia event loop. If the worker fails, the handler falls back to an inline PDFDocument render.