前回の「扱っていないこと」に、こう書きました。部分返品と値引きに対応していない、拾うのは対応状況が返品になった受注だけで全額が対象、実務では値引きのほうが多いと思うのでここは正直に穴です、と。

翌日に埋めます。ついでに、前日に作ったテーブルを作り直すことになりました。

前日の設計が足りなくなった

前回の返還は、締めるときに請求へぶら下げて作る形でした。締め済みの受注が返品になっていたら、その場で返還の行を起こして請求に紐づける。全額返品しか扱わないなら、これで足ります。

部分返還は違います。返す金額を人が決めるので、締めより先に存在します。 締めるときに作る形だと、置き場所がありません。

返還を請求から切り離しました。

前回今回
返還がいつできるか締めるとき返品や値引きが起きたとき
請求との関係必ず請求にぶら下がる空なら未処理、締めると埋まる
全額返品締めのときに検出締めのときに検出(変わらず)
部分返還置き場所がない管理画面から登録

受注側に持たせていた「どの請求で差し引いたか」の参照も外しました。返還の記録がその情報を持つようになったので、二重に持つ意味がなくなったためです。

前日に書いたテーブルを翌日に作り直すのは気分の良いものではありませんが、全額返品だけを見ていたときには見えなかった形です。最初から部分返還を想定していれば、たぶん最初からこうしていました。

初めて入力画面を作る

月締め請求から数えて6本目にして、初めて金額を入力させる画面を作りました。

ここまでは、締め日の欄と締めるボタン以外に入力を増やしていません。返品も、受注の対応状況を見るだけで済ませました。部分返還は、返す金額が受注のどこにも書かれていないので、聞くしかありません。

管理画面の返還の登録。対象の受注は注文番号202608030103、請求金額¥23,021、INV-202608-00026で請求済み。返還額を入力する表に、8%は返せる残り¥8,012、10%は¥15,009と出ていて、それぞれ入力欄がある。下に理由の入力欄

税率ごとに入れてもらいます。 金額を1つだけ聞いて按分する手もありますが、按分だと「8%の商品だけ返した」が表せません。適格返還請求書には税率ごとに区分した返還額が要るので、そこは分けて持つほうが素直です。

返せる残りを出す

同じ受注に何度でも登録できる作りなので、上限がないと合計が元の金額を超えられます。

税率ごとに「返せる残り」を出しました。 その受注の税込対価から、すでに登録した返還を引いた額です。画面にも出しますし、保存するときにも確かめます。¥8,012の枠に¥9,999を入れると、超えていると言って止まります。

税率を選ばせていないのも同じ理由です。選ばせると、その受注に無い税率の返還を登録できてしまいます。 並べるのは受注が持っている税率だけにしました。

締めたあと

8月20日締めで6件、¥125,153を請求しました。そのあと1件が全額返品、別の1件で10%対象を¥5,000だけ返しました。9月20日に締めるとこうなります。

管理画面の請求の明細。請求金額¥76,419(3件)、返還のカードに注文番号202608030103が種別「一部」10%で-¥5,000、注文番号202608060104が種別「全額」8%で-¥4,016と10%で-¥22,005、返還合計-¥31,021。明細は3件で合計¥107,440、返還を差し引いた請求金額¥76,419

9月に売った3件が¥107,440、返還が¥31,021、差し引いて¥76,419です。全額と一部が同じ表に並びます。 種別の列で見分けられるようにしました。

請求書はこうなります。

請求書のPDF。明細3件で合計¥107,440、その下に返還として2026/08/03 注文番号202608030103(一部)10%対象¥5,000、2026/08/06 注文番号202608060104 10%対象¥22,005 8%対象¥4,016、返還合計¥31,021

一部の返還には注文番号のうしろに「(一部)」と付けています。同じ注文番号が全額で出ているのか一部で出ているのかは、受け取る側にとって意味が違うためです。

理由は請求書に出していません。適格返還請求書の記載事項に理由は含まれていないので、管理画面で見られれば足ります。

税額は変わらず差し引いてから

前々回で決めた、税率ごとに1回だけ丸める形は変わりません。部分返還も同じように引いてから丸めます。

税率販売分返還分差し引き後消費税額
10%¥88,000¥27,005¥60,995¥5,545
8%¥19,440¥4,016¥15,424¥1,143

10%の返還¥27,005は、全額返品の¥22,005と部分返還の¥5,000を足したものです。返還の種別が増えても、税額の計算は税率ごとに足して1回丸めるだけで変わりませんでした。 ここは前々回の決め方が効いています。

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

登録した返還を画面から取り消せません。 まだ締めていない返還は請求に紐づいていないので、消す仕組みを足すのは難しくありませんが、作っていません。締めたあとに気づいた場合は、請求を取り消せば返還も未処理に戻ります。

値引きの原因が受注に残りません。 返還の理由は返還の記録に書きますが、受注を見ても分かりません。受注のメモに書くかどうかは運用の話になります。

送料や手数料の返還を分けていません。 税率ごとにまとめているだけで、何を返したかの区別は持っていません。

税理士の確認を受けていません。 記載事項の根拠は国税庁のQ&Aを読んで書いています。

まとめ

決めたこと理由
返還を請求から切り離す部分返還は締めより先に存在する
受注側の参照を外す返還の記録が同じ情報を持つ
税率ごとに入力させる按分では「8%だけ返した」が表せない
返せる残りで止める同じ受注に何度でも登録できる
一部かどうかを請求書に出す受け取る側にとって意味が違う

6本かけて、入力させたのは締め日と返還額の2つだけになりました。残りは全部、EC-CUBEがもともと持っている受注の状態から読んでいます。 それでも、人が決めるしかない金額はやはり聞くことになる。どこまで読めてどこから聞くのかの線は、作りながらでないと引けないものだと思います。