清水理史の「イニシャルB」

もっと業務にNASを活用したい! 請求書発行システム「Invoice Plane」を導入する

 Excelで請求書を作成するのも悪くはないが、せっかくNASがあるなら、NASに請求書の作成・保管・発行をまかせてみてはどうだろうか? オープンソースの請求書発行システム「Invoice Plane」をQNAPに導入してみた。

請求書発行をもっと簡単に

 「いっしょにするな」と怒られるかもしれないが、この手の商売の人にありがちな、事務処理が苦手なタイプだ。

 領収書の整理に、通帳のチェック、請求書の発行と、大切なことはわかっていても、なかなか処理できない。

 中でも面倒なのが請求書の発行で、月末に編集部から「請求書ください」と請求書の請求が来てはじめて請求書を作り始めるのが常だし、項目や日付を間違えて再提出するなんてこともしばしば。

 筆者のような仕事は、取引先も少ないし、取り扱う商品が「原稿執筆」など限られているので、Excelのテンプレートをちょっと変えるだけで済むのだが、たくさんの取引先や商品がある企業では、その手間は比べ物にならないだろう。

 そこで提案したいのが、NASを利用した事務処理の効率化だ。NASというと、ファイル共有やデータ保管などのストレージとしての用途だけを思い浮かべがちだが、最近のNASはハードウェアの性能も高く、サーバーとしての汎用性も備えており、若干の手間さえ惜しまなければ、業務への活用は難しくない。

 「そうは言っても、英語版が多いし、使いにくいじゃん……」。各NASベンダーが提供しているダウンロード可能な「アプリ」を使ったことがある人なら、そう思うかもしれない。

 その感想は、まったもってその通りなので、今回は、少し手間がかかったとしても、日本語、日本商習慣に対応することにこだわってみた。

 具体的には、オープンソースで開発が進められている「Invoice Plane」というアプリを利用して、請求書の発行システムを構築してみた。

Invoice Planeとは

 Invoice Planeは、オープンソースの見積もり/請求書管理発行システムだ。ブラウザでアクセスすることで、簡単に見積もりや請求書を作成したり、PDFで出力してメールで送信したり、請求書に対しての入金を管理することができる。

 取引先や製品などのマスタ情報を登録しておくこともできるため、たくさんの取引先や商品を扱っている場合でも、あらかじめ登録された情報から名前や金額を自動的に入力することができる。

 本格的なERPのような機能はないが、小規模な企業でExcelでの見積もり・請求書作成に手間をかけてきた企業などでは、十分に乗り換えを検討する価値があるソフトウェアとなっている。

 ウェブページは英語だが、日本語に対応しており、アプリケーションの画面自体はほぼ日本語で利用できる。小数点以下が表示されるなど、日本の商習慣に合わない部分があるが、最終的に出力されるPDFのテンプレートはPHPのコードをちょっと変更するだけで、簡単に日本仕様に修正することができる。

 動作環境は、PHP 5.3.0以上とMySQL 4.x以上で、通常はLinuxなどの自前サーバーで稼働させるが、QNAPやSynologyのNASでも、比較的簡単に動作させることが可能だ。

 ただし、いわゆるNAS向けのパッケージとしては提供されていないため手動のインストールが必要になる。と言っても、ダウンロードしたファイルをNASにコピーし、ブラウザーから初期設定を実行するだけと簡単だ。データベースを作成する必要があるが、こちらもphpMyAdminからGUIでサクッと作成できるので、インストールと言うほどの手間はかからない。

 以下に紹介する手順は長く、複雑そうに見えるが、やってみるとそんなに難しくないので、ぜひ試してみてほしい。ここでは、QNAPのTS-453Aを例に導入方法を解説しているが、他機種でも若干の違いはあっても、ほぼ同じ要領でインストールできる。

Invoice Planeのインストール

 まずは、必要なファイルをダウンロードする。Invoice Planeのトップページからプログラム本体と、日本語用のローカライズファイルをダウンロードする。

Invoice Planeのトップページにある「Download」からダウンロード可能
トップページの「Support」にある「Translations」から「Japanese」をクリック。ファイル一覧の上、右端にあるダウンロードボタンをクリックしてファイルをまとめてダウンロードする

 ちなみに、インストール方法はWiki形式のページで解説されている。

 前提条件は、前述のとおり、PHP 5.3.0以上とMySQL 4.x以上が必要になるが、QNAPの場合、ホーム向けセットアップを実行するとMariaDBとApacheがインストール済みのはずなので、コントロールパネルで有効になっていることを確認しておくといいだろう。

アプリケーションのWebサーバで、Apacheが有効化されているかを確認
アプリケーションのSQLサーバで、データベースが有効化されているかを確認

 続いて、データベース作成用にphpMyAdminをインストールする。AppCenterで検索し、パッケージをインストール。インストールが完了したら、アプリを開くと管理ページからデータベースを作成できる。

phpMyAdminをインストール。ログイン後、左側の一覧から「New」をクリックし、任意の名前(ここではinvoiceplane)でデータベースを作成する

 ここまでで、Invoice Planeを動作させるための前提条件が整うので、インストールを開始する。

 早速、必要なファイルをコピーしていこう。ダウンロードしたファイルを展開し、「invoiceplane」などのフォルダ名に変更してNASの「Web」共有フォルダにコピー。ローカライズ用のファイルも「application\language」フォルダにコピーしておく。

invoiceplaneのファイルをまるごと「Web」フォルダにコピー
ローカライズ用ファイルを展開し、「Japanese」フォルダをまるごと「application\language」フォルダにコピーする

 ちなみに、必須ではないが、ローカライズファイルは一部の言語が英語のまま残っている場合もある。たとえば、請求書をPDF化した際などに数量だけ「QTY」と表示されてしまう。気になる場合は、テキストエディタなどで開いて編集しておくといいだろう。

ローカライズは万全ではない。一部の項目を変更しておくとより見栄えがする

 必要なファイルがそろったら、セットアップを実行する。ネットワーク上のPCからブラウザで「http://NASのアドレス/invoiceplane(インストールしたフォルダ名)/index.php/setup」にアクセスし、言語を選択しセットアップを進めていく。

「http://192.168.1.xxx/invoiceplane/index.php/setup」で初期セットアップを実行。データベースを指定する。phpMyAdminで作成したデータベースを指定する。訳が変だが「もう一度やり直してください」で次に進むと、テーブルの作成が実行される

ログインと初期設定

 インストールが完了しても、すぐには使えない。自社の情報や税率など、必要な情報を設定しておく必要があるため、セットアップ時に指定したメールアドレスとパスワードでログインして各項目を設定していく。

最初に表示されるのはダッシュボード。ここで作成した請求書などの状態や金額の状況を確認できる

 まずは、自社の情報を入力する。右上の名前の部分をクリックすると、ユーザー情報が表示されるので、会社名を入力。住所などを入力していない場合は、追加しておく

ユーザ情報で会社名などを登録しておく

 続いて、設定アイコンから「支払方法」を登録する。自社の銀行口座などを登録しておくことで、請求書を発行した際に、この銀行口座を自動的に記載することができる。

 同様に税率を設定する。消費税の8%を計上する場合は、ここで登録しておくと自動的に計算してくれるようになる。

設定の「支払方法」を表示し、「+新規」をクリック。銀行口座を入力しておく
設定の「税率設定」を表示し、「+新規」をクリック。「消費税」という項目で8%を設定しておく。将来10%に変更されたら、ここを変更するか、新たに登録して切り替えればいい

 次にシステム設定で日付のフォーマットなどを設定する。また、先に設定して支払方法や税率を標準の設定として登録しておくことで、請求書作成時に選択する手間がかからなくなる。

 なお、ここで小数点以下の数値の扱いを設定できるが、標準では2または3桁のみの2択で、小数点以下を扱わない設定ができない。日本では1円未満は扱わないことが多いので、金額が「1,000.00」などと表示されると紛らわしい。

 Invoice Planeのフォーラムを見ると、将来的に小数点以下を扱わないように変更する予定のようだが、現状はそのまま使うか、後述するように顧客に提出するPDFだけでも手動で小数点以下を削除するようにコードを変更する必要がある。

設定の「システムの設定」をクリック。週の開始日、デフォルト国、日付の形式を設定。通貨記号に「円」を入力し、金額の後に付加するために「結果金額」を選択。小数点以下は現状は必須の扱い
請求書タブで、請求書関連の設定を変更。「規定の支払方法」で登録した銀行口座を選択しておく
請求書タブをスクロールすると、ロゴを登録することができる。会社のロゴを登録することもできるが、印影をスキャンして登録すれば、PDFのまま請求書を提出する場合に使える
税金タブでは、先に登録した消費税を規定に設定しておく。なお、項目税率を使うと請求書の項目ごとに個別の税率を設定可能。一時期、軽減税率でインボイスの導入が話題に話題になったが、まさにその方式で使うこともできる

請求書を発行する

 それでは、請求書を発行してみよう。初回は、取引先の登録し、そこから発行するのが簡単だ。次回以降は、一度登録した取引先をマスタとして使えるようになるので、「請求書」メニューなどから発行することも可能になる。

取引先メニューから「取引先追加」を選択し、取引先の情報を入力。右上の「保存」をクリックする
登録した取引先にそのまま請求書を発行するには、「請求書作成」をクリック。日付を選択して「登録」で作成を開始する
請求書作成画面が表示される。設定で選択した規定の入金方法や税率が自動的に入力される。費目や数量、金額などを設定し、「保存」をクリックすると合計などの金額が反映される。

 ちなみに、取り扱う製品が多い場合は、「製品情報」メニューからあらかじめ製品名と金額を登録しておくこともできる。製品ごとに異なる税率を設定しておくこともできるので、これも将来的に複雑な税率になっても対応することもできるだろう。

 もちろん、PDFで発行することも可能で、印刷したり、そのままメールなどで請求書を送信することも可能だ。

「オプション」の「PDFダウンロード」を選択すると請求書をPDF化できる
PDFのイメージ。住所の記載方法や小数点以下が表示されてしまうのが難点

日本仕様にテンプレートをカスタマイズする

 このように、あらかじめ税率や取引先、製品を登録しておけば、数量や金額を入力するだけで簡単に請求書を作成できるInvoice Planeだが、難点は、先に触れたように標準仕様のままでは日本の商習慣になじまない点がいくつか見られる点だ。

 オープンソースのビジネスアプリケーションとしては、かなり日本語の完成度は高いが、住所の並びが番地からで郵便番号がおかしなところに表示されたり、小数点以下の数値の扱いが必須となってしまう点は、ぜひ改善してもらいたいところだ。

 将来的な改善も遠くなさそうではあるが、とりあえずの改善方法としては、出力に使うPDFのテンプレートを変更しておくのが手っ取り早い。「application\views\invoice_templates\pdf」にテンプレートが保存されているので、これを改変する。

「application\views\invoice_templates\pdf」のテンプレートファイルを変更すれば、提出に使うPDFだけでも日本仕様に変更できる

 具体的には、「InvoicePlane.php」のいくつかのコードを書き換える。コードと言っても、基本はHTMLなので、部分単位に順番を入れ替えたり、追加したい文字を書き加えたり、PHPの作法に従って数値の表示形式を変更するだけなので簡単だ。

 改変したテンプレートをそのまま提供してもかまわないのだが、再配布について確認する時間がなかったので、以下に改変方法だけ掲載しておく。

左が標準のファイルで右が改変ファイル。「client」セクションを変更。宛先に「御中」を追加し、住所のセクションを並び替えて日本仕様に変更。ついでに郵便番号マークも追加
左が標準のファイルで右が改変ファイル。「company」セクションを変更。標準では自社の情報にユーザー名(個人名)しか表示されないので、社名を追加。上と同じように住所の並びを変更
小数点以下の表示をカットするには、「format_currency」で整えられている数値を強制変更。「number_format」で「,」を打ち、「floor」で切り捨て、最後に「円」を追加。エディタで置換すれば楽
製品の個数も小数点以下を排除する場合は黄色が込みを変更。製品によっては小数点以下を扱う場合もあるので、ここは必要に応じて変更

 このように変更したテンプレートを「InvoicePlaneJP.php」などの別名で保存し、最後に設定の「システムの設定」にある「請求書」タブで、規定のテンプレートとして選択しておけばいい。

改変したテンプレートを規定に設定(見積もりにも使う場合はそちらにも設定)
改変したテンプレートによるPDF出力。プログラム内部では小数点以下を扱うが、外部には小数点以下なしで提出できる

NASをもっと業務に活用

 以上、Invoice PlaneをNASに導入してみたが、若干のカスタマイズは必要なものの、海外製のオープンソースソフトウェアとしては、かなり使いやすく、筆者のような小規模なビジネス環境では、十分に使えるアプリと言えそうだ。

 NASには、ERPやCRMなどのパッケージがいくつか提供されているが、はっきり言って、これらは日本語、日本の商習慣では使い物にならない。かといって、クラウドサービスは無料で使えるのはお試しレベルで、本格的な業務に活用しようとすると、月々の料金が結構かかる。

 日本でも、だいぶNASが普及してきたが、このまま単なるデータの保管庫で終わっては面白くない。今回のInvoice Planeのようなアプリが増え、クラウドサービスに代わる、「無料」のビジネスプラットフォームとして、もっと活用可能になることを期待したいところだ。

清水 理史

製品レビューなど幅広く執筆しているが、実際に大手企業でネットワーク管理者をしていたこともあり、Windowsのネットワーク全般が得意ジャンル。最新刊「できるWindows 8.1/7 XPパソコンからの乗り換え&データ移行」ほか多数の著書がある。