前回の「扱っていないこと」に、こう書きました。部分返品と値引きに対応していない、拾うのは対応状況が返品になった受注だけで全額が対象、実務では値引きのほうが多いと思うのでここは正直に穴です、と。
翌日に埋めます。ついでに、前日に作ったテーブルを作り直すことになりました。
前日の設計が足りなくなった
前回の返還は、締めるときに請求へぶら下げて作る形でした。締め済みの受注が返品になっていたら、その場で返還の行を起こして請求に紐づける。全額返品しか扱わないなら、これで足ります。
部分返還は違います。返す金額を人が決めるので、締めより先に存在します。 締めるときに作る形だと、置き場所がありません。
返還を請求から切り離しました。
| 前回 | 今回 | |
|---|---|---|
| 返還がいつできるか | 締めるとき | 返品や値引きが起きたとき |
| 請求との関係 | 必ず請求にぶら下がる | 空なら未処理、締めると埋まる |
| 全額返品 | 締めのときに検出 | 締めのときに検出(変わらず) |
| 部分返還 | 置き場所がない | 管理画面から登録 |
受注側に持たせていた「どの請求で差し引いたか」の参照も外しました。返還の記録がその情報を持つようになったので、二重に持つ意味がなくなったためです。
前日に書いたテーブルを翌日に作り直すのは気分の良いものではありませんが、全額返品だけを見ていたときには見えなかった形です。最初から部分返還を想定していれば、たぶん最初からこうしていました。
初めて入力画面を作る
月締め請求から数えて6本目にして、初めて金額を入力させる画面を作りました。
ここまでは、締め日の欄と締めるボタン以外に入力を増やしていません。返品も、受注の対応状況を見るだけで済ませました。部分返還は、返す金額が受注のどこにも書かれていないので、聞くしかありません。

税率ごとに入れてもらいます。 金額を1つだけ聞いて按分する手もありますが、按分だと「8%の商品だけ返した」が表せません。適格返還請求書には税率ごとに区分した返還額が要るので、そこは分けて持つほうが素直です。
返せる残りを出す
同じ受注に何度でも登録できる作りなので、上限がないと合計が元の金額を超えられます。
税率ごとに「返せる残り」を出しました。 その受注の税込対価から、すでに登録した返還を引いた額です。画面にも出しますし、保存するときにも確かめます。¥8,012の枠に¥9,999を入れると、超えていると言って止まります。
税率を選ばせていないのも同じ理由です。選ばせると、その受注に無い税率の返還を登録できてしまいます。 並べるのは受注が持っている税率だけにしました。
締めたあと
8月20日締めで6件、¥125,153を請求しました。そのあと1件が全額返品、別の1件で10%対象を¥5,000だけ返しました。9月20日に締めるとこうなります。

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

一部の返還には注文番号のうしろに「(一部)」と付けています。同じ注文番号が全額で出ているのか一部で出ているのかは、受け取る側にとって意味が違うためです。
理由は請求書に出していません。適格返還請求書の記載事項に理由は含まれていないので、管理画面で見られれば足ります。
税額は変わらず差し引いてから
前々回で決めた、税率ごとに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がもともと持っている受注の状態から読んでいます。 それでも、人が決めるしかない金額はやはり聞くことになる。どこまで読めてどこから聞くのかの線は、作りながらでないと引けないものだと思います。