前回の請求書のFAQに、インボイス制度の要件を満たしていません、登録番号も税率ごとの内訳もありません、と書きました。埋めます。

埋めながら1つ分かったことがあります。受注ごとの消費税額を足すだけでは合いません。

本体がすでに持っていたもの

作り始める前に本体を調べたら、思っていたより揃っていました。

すでにあった自分で作った
店舗設定の適格請求書発行事業者登録番号請求単位で税率ごとに集計する処理
受注を税率ごとに集計するメソッド締めた内訳を控えるテーブル
受注明細が持つ丸め方の指定請求書PDFへの内訳の描画
納品書PDFの税率ごとの内訳の描画
店舗情報を描くときの登録番号の描画

登録番号は店舗設定にあります。

管理画面の店舗設定の税設定。適格請求書発行事業者登録番号にT1234567890123が入力され、その下に商品別税率機能の切り替えがある

帳票に登録番号を出す処理も本体が持っていました。 前回の記事で継承した店舗情報を描くメソッドが、住所や電話番号のついでに登録番号まで描いてくれます。知らずに自分でも描いてしまい、PDFに二重に出ました。

受注のほうにも、税率ごとの税込合計を返すメソッドと、税率ごとの消費税額を返すメソッドがあります。納品書のPDFはこれを使って、帳票の下に税率ごとの内訳を出しています。

足りなかったのは、受注をまたぐ集計だけです。 本体の単位は受注で、請求書の単位は請求だからです。

足し算では合わない

受注をまたいで集計するとき、素直に思いつくのは受注ごとの消費税額を足すことです。本体にメソッドがあるので1行で書けます。

これができません。

国税庁のQ&Aには、適格請求書の消費税額等に1円未満の端数が生じる場合は一の適格請求書につき税率ごとに1回の端数処理を行う、とあります。個々の商品ごとに端数処理をして、その合計額を消費税額等として記載することは認められない、とも書かれています。

EC-CUBEは受注ごとに税額を丸めています。受注が10件あれば10回丸まっている。それを足すと、丸めが10回入った数字になります。

手元のデータで確かめました。東京商事の6件です。

税率税込対象額受注ごとに丸めて合計締めてから1回だけ丸める
10%¥97,061¥8,821¥8,8243
8%¥28,092¥2,078¥2,0813

6円ずれました。 6件でこれなので、月に何十件も出す取引先ならもっと開きます。

ずれの向きは金額次第です。今回はどの受注も端数が0.45前後で、受注ごとだと全部切り捨てられました。まとめてから割り戻すと、その切り捨てた分が積もって繰り上がります。

どちらを載せるか

締めてから1回だけ丸めたほうを載せました。 上の規定に沿うのがこちらだからです。

ここで気をつけたのは、請求金額そのものは動かさないことです。税込の請求金額は受注の請求金額を足したもので、実際に取引先へ請求する額です。取引先が受け取った個々の受注の金額と合っていないと困ります。

計算し直したのは、内訳として書く消費税額だけです。

載せるものどう出すか
請求金額(税込)受注の請求金額を足す。前回のまま
税率ごとの税込対価受注を税率ごとに足す
税率ごとの消費税額足しきってから1回だけ割り戻して丸める

締めた時点で控える

月締め請求の記事で、締めた件数と金額は請求側に控える、受注は締めたあとも編集できるから、と書きました。内訳も同じにしました。

締めるときに税率ごとの行を作って持たせます。表示のたびに計算はしません。理由は前回と同じです。あとから受注を直しても、出した請求書の消費税額が動かないようにするためです。

管理画面の請求の明細。請求金額¥125,153(6件)の下に税率ごとの内訳として10%対象¥97,061 消費税¥8,824、8%対象¥28,092 消費税¥2,081が並んでいる

PDFに出す

請求書の下に、税率ごとの内訳を並べます。

請求書のPDF。右上に登録番号:T1234567890123、明細表の下に(10%対象: ¥97,061 消費税: ¥8,824)(8%対象: ¥28,092 消費税: ¥2,081)と並んでいる

体裁は納品書に合わせました。本体が受注単位で出しているものと同じ書き方です。描く処理は書きましたが、並べているのは締めたときに控えた値で、ここでは計算していません。

丸め方をどこから取るか

切り上げ、切り捨て、四捨五入のどれを使うかは任意とされています。店舗が決めることです。

EC-CUBEは受注明細に丸め方を持たせています。 税率ごとに違う丸め方を指定することもできる作りです。請求ではそこから拾って使いました。1つの請求の中で、同じ税率なのに受注によって丸め方が違う、という状況は想定していません。そうなっているサイトなら、先にそちらを揃えるほうが先です。

この記事で扱っていないこと

軽減税率の対象品目である旨を書けていません。 これがいちばん大きいところです。適格請求書の記載事項には取引内容が含まれますが、この請求書は明細の行が受注なので、そもそも品目が出ていません。税率ごとの区分はできていても、何を買ったかは書かれていない。この形のままで要件を満たすかどうかは確認が要ります。 品目まで載せるなら、明細を受注ではなく受注明細の単位で組み直すことになります。前回「明細の行が商品から受注に変わる」と書いた判断が、ここで跳ね返ってきました。

返品や値引きに対応していません。 返還インボイスの話は入れていません。

積上げ計算を選べません。 割戻しで固定しています。

税理士の確認を受けていません。 端数処理の根拠は国税庁のQ&A記載事項の説明を読んで書いていますが、実際に運用するなら顧問の税理士に見てもらってください。

まとめ

決めたこと理由
消費税額は締めてから1回だけ丸める一の適格請求書につき税率ごとに1回
税込の請求金額は動かさない受注ごとの請求額と合わなくなる
内訳は締めた時点で控えるあとから受注を直しても動かさない
登録番号は自分で描かない店舗情報を描く処理がすでに描いている

インボイス制度への対応というと、登録番号を出す話だと思っていました。実際に手を動かして重かったのは端数を何回丸めるかのほうです。受注をまたいで請求書を出す作りだと、本体のメソッドをそのまま足した時点で間違えます。