ここは、技術情報、身の回りに起こった出来事を、「もしかしたらみんなの役に立つかもしれない」と思って書き留めておく場所です。

Image

InvoicePlaneで請求書を作成してみる

2018年11月25日
 

 

請求書を作りたいのです。

最近はクラウドで何でもかんでも出来ますね。

ということで、「どこかクラウド請求書に登録して作ろう」とか思っていませんか?

 

クラウド請求書で困ったこと

二つくらい無料のところで登録していたのですが、

どちらもサービス終了してしまいました。

請求書のPDFは残りますが、過去の入力した元データはもう見ることが出来ません。

もう一回どこかに登録して作る気が起きないんですけど。

 

インストール型の請求書ソフトにしよう

Windowsのフリーソフトとは違います。

オープンソースでサーバ上にインストールするタイプのものです。

これならクラウドと使い勝手は変わらないはずです。

サービス終了もないですし。

探せばあるはず

  • 抹茶請求書・見積書
  • Invoice Ninja
  • InvoicePlane

が見つかりました。

 

ソフト選定

抹茶請求書は実は以前使ったことがあります。日本製で安心です。

が、使ったことがあるのは面白くないので、パスです。

 

Invoice Ninjaは英語です。機能が多そうで面倒なのでパスします。

 

残るはInvoicePlaneです。

程よい程度の機能です。日本語設定もできそうで、PHP製で何かと対応できそうなので、今回はこれにします。

 

InvoicePlaneのダウンロードとインストール

要件

MySQLとPHP7があれば動くようです。

レンタルサーバーでも大丈夫です。

https://invoiceplane.com/

公式には現時点でv1.5.9とv2.0.0alphaがあります。どうもv2.0.0は別のシステムを変名したものらしく、alphaなのもあり、v1.5.9にしました。

 

インストール

https://wiki.invoiceplane.com/en/1.5/getting-started/installation

上記を見れば書いてありますが、ダウンロードしたzipを解凍し、FTPで送ります。MySQLのDBは事前に空で作っておきます。

http://your-domain.com/index.php/setup

で初期設定できます。注意点はconfigファイルを変名することと、configファイルが初期設定で勝手に書き換えられるため、以降は一度ダウンロードするか、サーバ上で書き換える必要があることです。

日本語は一応最初から対応しています。

htaccessについて

最初から入っているhtaccessを.htaccessにすることによって、index.phpを表示させないように出来ます。

サブディレクトリに置いた場合は、

  • RewriteBaseを設定すること
  • RewriteRuleの/index.phpの前の/を消すこと

が必要になります。

httpsに強制させたい場合は、最後の二行のコメントから戻すことにより、https書き換えが出来ます。

 

請求書を作ってみた

ログインしてシステム設定をした後、顧客を登録し、請求書を作ってみます。

システム自体が日本向けでは全くないので、小数点設定とか通貨記号とか出てきて戸惑いますが、後で修正できるでしょう。

請求書の項目入力などは、クラウド請求書とあまり違いがないので、サクサク行きます。

よし印刷。

 

あああああ!

知ってましたか皆さん。

大体PDFってなにも設定しないと文字化けします

 

まず、確実にフォントがない。

IPAexフォントをダウンロードしておきます。

mpdfを使っているみたいなので、フォントが置いてある場所に置きます。

vendor/mpdf/mpdf/ttfonts

です。

簡易的に修正するので、全てのフォントを強引に設定します。

(ちゃんと修正したい場合は、言語ごとにフォント設定している所を修正してくださいね。)

application/helpers/mpdf_helper.php

    $mpdf = new \Mpdf\Mpdf([
	'fontdata' => [
	    'ipa' => [
		    'R' => 'ipaexm.ttf'
		]
	],
    'default_font' => 'ipa'
]);

これで行けるはず…

よし!突っ込みどころ満載だけど、日本語でPDFは出ました!

ここまで所要90分くらいです。

 

このPDFを送ると、お客さんから即座に電話がかかってくること間違いなしです。

次回、これを修正します。

InvoicePlaneで作った請求書をカスタマイズしてみる