比較表
項目PNLCS一般的なプロプライエタリの請求システム
ライセンス費用無料、MITインストールごとに毎月料金
ソースコード完全に公開、監査可能エンコード済み、または非公開
セルフホストどこでも:Docker、VPS、ホスティングパネルのアカウント可能、ただしライセンスチェックあり
拡張モジュールを書いて配布し、所有し続けられるマーケットプレイスとベンダーの規約
アップデート署名付き、ワンクリック、失敗時はロールバックベンダー次第
WHMCSから引き継げるもの
概念商品グループ、商品、構成オプション、サービス、注文、請求書、クレジット、チケット、部門は、WHMCSのスタッフが期待するとおりに動きます。
APIアクション名APIはWHMCSのアクション名とパラメーター名を使います。ほとんどの連携は、新しいアドレスと認証情報だけで動きます。
フックadd_hook('InvoicePaid', 1, fn)は同じ書き方で、多くのフック名もWHMCSと同じです。パラメーターはPNLCSのオブジェクトで、失敗したフックは記録されてスキップされます。
モジュールサーバー、決済ゲートウェイ、レジストラ、SSLプロバイダーは、WHMCSと同じく別々のモジュールです。
add_hook('InvoicePaid', 1, function (array $vars) {
$invoice = $vars['invoice']; // App\Models\Invoice
// ...
});# WHMCS
POST /includes/api.php action=GetClients
# PNLCS
GET /api/v1/getclients
X-API-Key: … X-API-Secret: …WHMCSのデータベースから直接インポート
Utilities → WHMCS からのインポートで、WHMCSのデータベースから顧客、ドメイン、サービスを読み込みます。WHMCSのデータベースは読み取るだけで、何も変更しません。
- 1接続するホスト、データベース、ユーザー、テーブルの接頭辞。保存前に接続をテストします。
- 2フィールドを対応付けるWHMCSの各フィールドをPNLCSのフィールドに対応付けます。名前が一致するものは候補が表示されます。対応付けは保存して再利用できます。
- 3モードを選ぶ新規追加、追加と更新、更新のみから選び、メールアドレスまたはドメイン名で照合します。
- 4プレビューしてから実行最初の数行を、WHMCSでの状態とPNLCSに保存される状態で表示します。ログには追加、更新、スキップ、失敗した内容とその理由が表示されます。
firstnamefirst_name
lastnamelast_name
companynamecompany_name
emailemail
countrycountry
phonenumberphone_number
顧客、ドメイン、サービスの順にインポートしてください。顧客にはランダムなパスワードが設定され、「パスワードをお忘れですか」から自分で設定し直します。インポート時にメールは送信されません。
商品、請求書、チケット、設定はインポートされません。PNLCSでご自身で設定してください。
ダウンタイムなしで移行する
PNLCSをWHMCSと並行して動かし、更新のタイミングで顧客を移します。ホスティングアカウントはその間もずっと同じサーバーにあります。
- 01カタログを作り直す同じ名前と価格で、商品グループと商品を作成します。
- 02同じサーバーを接続するアカウントはすでにサーバー上にあり、以降はPNLCSが管理します。
- 03設定を作り直す同じアカウントでの決済ゲートウェイ、税ルール、メールテンプレート、スタッフとロール。
- 04顧客を移すインポーターまたは手作業で。PanelicaやProxmoxでは、サーバー上の既存アカウントを紐付けます。
- 05リンクをPNLCSに向ける請求ページのアドレス、顧客向けのリンク、登録フォーム。可能なら古いアドレスをリダイレクトします。
更新時に移行WHMCSでの更新時期が来た顧客から順に移します。最もリスクの低い方法です。
一括で移行メンテナンス時間内に全員を移し、支払期日もそろえます。