An open-source alternative to WHMCS
PNLCS deliberately mirrors WHMCS: clients, products, orders, invoices, services, tickets and modules mean the same thing. The difference is the license: PNLCS is MIT, with no per-install fee.
add_hook('InvoicePaid', 1, function (array $vars) { $invoice = $vars['invoice']; // ... });
GET /api/v1/getclients GET /api/v1/getinvoices POST /api/v1/addorder
Side by side
| Topic | PNLCS | Typical proprietary billing |
|---|---|---|
| License cost | Free (MIT) | Monthly per-install fee |
| Source code | Fully open, auditable | Encoded or closed |
| Self-hosting | Anywhere: Docker, VPS, inside a hosting panel | Yes, license-checked |
| Extending | Write a module, ship it, keep it | Marketplace and vendor terms |
What carries over from WHMCS
- Concepts
- Product groups, products, configurable options, services, orders, invoices, credit, tickets and departments behave the way WHMCS staff expect.
- API action names
- The HTTP API uses WHMCS action names, so most integrations need a new address and credential.
- Hooks
add_hook('InvoicePaid', 1, fn)works the same way; a failing hook is logged and skipped instead of breaking billing.- Modules
- Servers, gateways, registrars and SSL providers are separate modules, as in WHMCS.
Switching without downtime
Run PNLCS next to WHMCS and move customers across as they renew. The accounts stay on the same servers throughout.
There is no one-click importer yet
PNLCS does not ship an automated WHMCS database importer. The steps here are the practical, low-risk way to move. An importer is a welcome contribution.
- Rebuild your catalogRecreate product groups and products with the same names and prices.
- Connect the same serversThe accounts already exist on them; PNLCS manages them from now on.
- Recreate your settingsPayment gateways (same accounts), tax rules, email templates, staff and roles.
- Bring customers overAdd each client and their existing services with the right next due date. On Panelica, link the account that is already on the server.
- Cut overOn renewal, one customer at a time, or everyone in a maintenance window.
Try PNLCS
Click around the live demo, or install it with Docker.