最新情報 A domain ordered with hosting is checked, priced and registered

WHMCSのオープンソース代替

PNLCSはあえてWHMCSに合わせて作られています。顧客、商品、注文、請求書、サービス、チケット、モジュールは同じ意味を持ちます。違いはライセンスです。PNLCSはMITライセンスで、インストールごとの料金はかかりません。

WHMCS形式のフック(PNLCSでもそのまま動作)
add_hook('InvoicePaid', 1, function (array $vars) {
    $invoice = $vars['invoice'];
    // ...
});
WHMCS APIのアクション名
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のデータベースを自動で取り込むインポーターは付属していません。ここで紹介する手順が、現実的でリスクの低い移行方法です。インポーターの開発は大歓迎です。

  1. カタログを作り直す商品グループと商品を、同じ名前と価格で作成します。
  2. 同じサーバーを接続するアカウントはすでにサーバー上にあります。以降はPNLCSがそれらを管理します。
  3. 設定を再現する決済ゲートウェイ(同じアカウント)、税ルール、メールテンプレート、スタッフと役割。
  4. 顧客を移す各顧客と既存のサービスを、正しい次回支払期日で登録します。Panelicaの場合は、すでにサーバー上にあるアカウントを紐づけます。
  5. 切り替える更新のタイミングで1顧客ずつ、またはメンテナンス時間内に全員まとめて切り替えます。

PNLCSを試す

ライブデモを操作してみるか、Dockerでインストールしてください。