WHMCSのオープンソース代替
PNLCSはあえてWHMCSに合わせて作られています。顧客、商品、注文、請求書、サービス、チケット、モジュールは同じ意味を持ちます。違いはライセンスです。PNLCSはMITライセンスで、インストールごとの料金はかかりません。
add_hook('InvoicePaid', 1, function (array $vars) { $invoice = $vars['invoice']; // ... });
GET /api/v1/getclients GET /api/v1/getinvoices POST /api/v1/addorder
並べて比較
| 項目 | PNLCS | 一般的なプロプライエタリの請求管理システム |
|---|---|---|
| ライセンス費用 | 無料(MIT) | インストールごとの月額料金 |
| ソースコード | 完全に公開、監査可能 | エンコード済み、または非公開 |
| セルフホスト | Docker、VPS、ホスティングパネル内など、どこでも | 可能、ただしライセンス認証あり |
| 拡張 | モジュールを書いて配布し、自分のものとして保持 | マーケットプレイスとベンダーの規約 |
WHMCSから引き継げるもの
- 概念
- 商品グループ、商品、構成オプション、サービス、注文、請求書、クレジット、チケット、部門は、WHMCSのスタッフが想定するとおりに動作します。
- APIのアクション名
- HTTP APIはWHMCSのアクション名を使っているため、ほとんどの連携は接続先アドレスと認証情報を変えるだけで済みます。
- フック
add_hook('InvoicePaid', 1, fn)は同じように動作します。失敗したフックは請求処理を止めず、ログに記録されてスキップされます。- モジュール
- WHMCSと同様に、サーバー、決済ゲートウェイ、レジストラ、SSLプロバイダーはそれぞれ独立したモジュールです。
ダウンタイムなしで移行
PNLCSをWHMCSと並行して動かし、更新のタイミングで顧客を順次移していきます。その間も、アカウントは同じサーバー上に置いたままです。
ワンクリックのインポーターはまだありません
PNLCSには、WHMCSのデータベースを自動で取り込むインポーターは付属していません。ここで紹介する手順が、現実的でリスクの低い移行方法です。インポーターの開発は大歓迎です。
- カタログを作り直す商品グループと商品を、同じ名前と価格で作成します。
- 同じサーバーを接続するアカウントはすでにサーバー上にあります。以降はPNLCSがそれらを管理します。
- 設定を再現する決済ゲートウェイ(同じアカウント)、税ルール、メールテンプレート、スタッフと役割。
- 顧客を移す各顧客と既存のサービスを、正しい次回支払期日で登録します。Panelicaの場合は、すでにサーバー上にあるアカウントを紐づけます。
- 切り替える更新のタイミングで1顧客ずつ、またはメンテナンス時間内に全員まとめて切り替えます。
PNLCSを試す
ライブデモを操作してみるか、Dockerでインストールしてください。