-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
インボイス対応 #762
インボイス対応 #762
Conversation
Codecov ReportAttention:
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #762 +/- ##
==========================================
- Coverage 55.38% 55.38% -0.01%
==========================================
Files 75 75
Lines 8908 8967 +59
==========================================
+ Hits 4934 4966 +32
- Misses 3974 4001 +27
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
3ec19cb
to
0b2ed2b
Compare
0b2ed2b
to
70717b9
Compare
archive.debian.org は遅いので cloudfront の mirror を使用する
Add php8.2 image
debian-stretch が archive へ移動したため sources.list を修正
build-args を修正
build-args を修正
build-args を修正
「税額集計と内訳出力のメソッドを分割」の修正いれますと、 例えば、以下の場合ですが合計金額とインボイスの内訳の合計金額が1円ズレます。 実際の合計金額は「8,901円」、インボイスの内訳の商品合計は8,900円(7,322円+1,578円)となり1円ズレている事になります。 ■基本情報管理>税率設定>共通税率設定>課税規則 → 「切り上げ」 設定の場合ですと 課税規則の設定で、消費税が1円高くなったり、安くなったりは当然あり得ると思うのですが、内訳の合計金額が実際の合計金額と一致している必要があると思うのですが、どうなんでしょうか? |
$result = []; | ||
foreach ($arrTaxableTotal as $rate => $total) { | ||
if ($taxable_total > 0) { | ||
$reduced_total = $total - $discount_total * $total / $taxable_total; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$reduced_total = $total - $discount_total * $total / $taxable_total; | |
$reduced_total = $total - static::roundByCalcRule($discount_total * $total / $taxable_total, $arrDefaultTaxRule['calc_rule']); |
@bbkids ご指摘ありがとうございます。 10%対象商品合計 税込1,595円 10%対象値引額 16.31713555円→16円(四捨五入) 10%対象値引後合計 1,579円 10%対象消費税(四捨五入) 144円 |
ここまで |
おっしゃる通りだと思いますので、修正案では課税規則の設定に基づくよう |
すみません、仰る通りですね。 ちょっと気になったのは、按分した値引き額を丸めるところなのですが、 ここは逆に四捨五入固定でなければならないと思うのですが、どうでしょうか? 今試して見たのですが、課税規則の設定で切り捨てを設定の場合、 |
@bbkids なるほど、あとでテストを書こうと思って四捨五入以外まで計算できていませんでした🙇♂️ |
私も先日ローカルに落としてデバッグしていて、若干気になっていました。 四捨五入にしても、16.5 + 75.5 →(端数処理)→ 17 + 76 = 93 とか、成り得ないですか? |
私も十分検証できていないので、@seasoftjapan さんの仰る通りあり得るかもしれません。 |
@seasoftjapan @bbkids 4系でも同様の修正を入れる必要がありそうですが、今回のご指摘の話は聞かないのでレアケースなのかもしれません |
ついでなので、先日もう一点若干気になった点です。 税率ごとの対象金額・税額ですが、表に収めたいという事案もあったので、そうできる余地があると良いと思いました。(デフォルトは表外で良いと思います。) 浅知恵ですが、SC_Helper_TaxRule::getTaxDetail() は配列等で返して、SC_Fpdf 側で文字列を組み上げれば良いのかなと思いました。 |
Co-authored-by: bbkids <58061209+bbkids@users.noreply.github.com>
@bbkids suggestion ありがとうございます!あとで再現テストを追加しますね |
|
||
foreach ($arrTaxableTotal as $rate => $total) { | ||
if($rate == $defaultTaxRule){ | ||
$discount[$rate] = $divide[$GTaxRule]['discount']; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$discount[$rate] = $divide[$GTaxRule]['discount']; | |
$discount[$rate] = $divide[$defaultTaxRule]['discount']; |
Fix Undefined variable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ありがとうございます!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
テストが落ちているので確認します
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Division by zero が出ていたのと、PHP5.4 で動作しないコードを修正しました
Co-authored-by: bbkids <58061209+bbkids@users.noreply.github.com>
Co-authored-by: bbkids <58061209+bbkids@users.noreply.github.com>
必要最低限の対応として、納品書のみインボイスに対応。
細心の注意を払っておりますが、集計方法、互換性等に問題ありそうでしたらご指摘ください🙇♂️
税額の集計方法は以下4系の PR に準拠
refs EC-CUBE/ec-cube#5382
data/config/config.php に以下のように登録番号を設定することで、納品書に記載可能。
(2.17系でのDBのカラム追加は避けたいため、上記のような対応としました)
納品書のサンプル
以下のPRを取り込むことでテストはすべて通ることを確認済
#767