Order Printerで自動ディスカウントまたはクーポンにより、割引された商品の金額を取得する方法を教えてください。目的は、税区分ごとの合計金額の取得するためです(以下のようなイメージ)。
8%対象商品:¥○○○○ 消費税:¥○○○
10%対象商品:¥○○○○ 消費税:¥○○○
上記を実現するため、Order Printerで下記のコードを作成しており、割引(自動ディスカウントまたはクーポン)がない場合だと問題ありません。
しかし、割引があると消費税の方は取得できましたが、対象商品の金額は割引前の金額を合計してしまい、想定通りの金額となりません。
例えば、8%商品の金額が¥5,000(税込)、10%商品の金額が¥10,440(税込)で、10%商品が20%割引だった場合は、以下のようになります。
<理想>
8%対象商品:¥5,000 消費税:¥370
10%対象商品:¥9,352 消費税:¥850
<実際>
8%対象商品:¥5,000 消費税:¥370
10%対象商品:¥10,440 消費税:¥850
{% assign tax8_total = 0 %}
{% assign tax8_tax = 0 %}
{% assign tax10_total = 0 %}
{% assign tax10_tax = 0 %}
{% for line_item in line_items %}
{% for tax in line_item.tax_lines %}
{% if tax.rate == 0.1 %}
{% assign tax10_total = tax10_total | plus: line_item.line_price %}
{% assign tax10_tax = tax10_tax | plus: tax.price %}
{% else %}
{% assign tax8_total = tax8_total | plus: line_item.line_price %}
{% assign tax8_tax = tax8_tax | plus: tax.price %}
{% endif %}
{% endfor %}
{% endfor %}
- tax8_total→消費税8%の対象商品の合計金額
- tax8_tax→消費税8%の消費税の合計金額
- tax10_total→消費税10%の対象商品の合計金額
- tax10_tax→消費税10%の消費税の合計金額
line_item.original_priceを使えば取得できると考えましたが、line_item.line_priceと同じ値が出力されるため、結果は変わりませんでした。
その他の方法も含め、税区分ごとに割引後の金額を取得する方法を教えて頂けると幸いです。