SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
EC-CUBE 2系での

軽減税率対応

2.11~2.13系

©2019 株式会社クロスキューブ
今回対応した時の方針

● できるだけシンプルに



● 運用の手間を減らす

○ 本来は、税金マスタを準備し、その商品が税金マスタのどの税金設定を利用
するかを指定する仕様の方が汎用性は高い。(2.13系の方式)



● 費用(工数)もなるべくかけない

やること

● 商品ごとの税率設定機能の追加

● 税率計算ロジックの変更

● 表示テンプレートの変更

商品ごとに個別の税率設定機能を追加

● データベースのdtb_productsにtax_rateを追加。



○ サイト全体のtax_rateと扱いはほぼ同じ。

○ 商品ごとのtax_rateが設定されていたらそっちで税率計算

○ 指定されていなかったらサイト全体の税率設定を使用

○ 2.13系は対応しているので不要

商品ごとに個別の税率設定機能を追加

● 商品管理画面に税率設定機能を実装。



○ 税率のフォームを追加。

○ その他Form周りやDBのI/Oに追加したtax_rateを追加

税率計算ロジックの変更

● SC_Helper_DB::sfCalcIncTax()
とかを変更

○ 〜2.12系だとフロントのSmarty
のテンプレートから呼ばれてい
る

● 2.13系だと
SC_Helper_TaxRule::sfCalcInc
Tax(), sfTax()を使用

税率計算ロジックの変更

● SC_Helper_DB::sfCalcIncTax()を使っている箇所で、商品情報の税率を渡してあげる
(2.11系)









● 2.13系はOPTION_PRODUCT_TAX_RULEを1に設定すると商品毎の税率設定が使
える。

第二引数として
$arrItems[‘tax_rate’]を追加
表示テンプレートの変更

〜2.12系だとSmartyのテンプレート上で税込み金額の計算とかしてるので面倒

$arrSiteInfo.taxを
$arrProduct.tax_rateに変更する
注意点

● 2.13系だと税率計算ロジックが散乱してるけど、使ってるのは基本
SC_Helper_TaxRuleのもの。SC_Helper_DBのとかは個別税率設定見ないので使っ
ちゃダメ



←使ってない
←使ってない
注意点

● 受注編集時は、受注日と編集した日が変わるので、いつ時点での税率を採用する
かを決める。(通常は受注日)



● 受注日で税率計算するためには、dtb_order_detailにもその時点での税率を保存し
ておくtax_rateカラムの追加(2.11系の場合)、管理画面での編集時に追加したカラ
ムの値も読み書きできる対応が必要



注意点

● 他にもPDFの帳票や、受注一覧、マイページ、受注メール等でテンプレートの変更
等が必要だったりする。



● 同じ2系でも細かいバージョンによって挙動が違ったりするので注意が必要。基本
的に2.13系は対応しているので楽(2.13系は国際版にチャレンジした経緯もあって、
国別、都道府県別の税率とかにも中途半端に対応してる)



反映はバッチで

● 税率の変更はそう頻繁におこる事では無いでの、日時指定で税率を反映させる機
能を新しく実装せずに今回のみ動くバッチ処理(SQL)等で費用を節約した。



● バッチでは、dtb_order_detailのtax_rateに旧税率を設定するのも忘れずに。




Contenu connexe

Tendances

AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪崇之 清水
 
Jbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみたJbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみたYuki Obara
 
SID331_Architecting Security and Governance Across a Multi-Account Strategy
SID331_Architecting Security and Governance Across a Multi-Account StrategySID331_Architecting Security and Governance Across a Multi-Account Strategy
SID331_Architecting Security and Governance Across a Multi-Account StrategyAmazon Web Services
 
AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)
AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS) AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)
AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS) Amazon Web Services Japan
 
他人が書いたコードのリファレンスをSphinxで作る方法
他人が書いたコードのリファレンスをSphinxで作る方法他人が書いたコードのリファレンスをSphinxで作る方法
他人が書いたコードのリファレンスをSphinxで作る方法Takeshi Sugiyama
 
AWS Black Belt Online Seminar 2016 Amazon EMR
AWS Black Belt Online Seminar 2016 Amazon EMRAWS Black Belt Online Seminar 2016 Amazon EMR
AWS Black Belt Online Seminar 2016 Amazon EMRAmazon Web Services Japan
 
20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in ServerlessAmazon Web Services Japan
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Taro Hirose
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門Muneaki Nishimura
 
20180322 AWS Black Belt Online Seminar AWS Snowball Edge
20180322 AWS Black Belt Online Seminar AWS Snowball Edge20180322 AWS Black Belt Online Seminar AWS Snowball Edge
20180322 AWS Black Belt Online Seminar AWS Snowball EdgeAmazon Web Services Japan
 
AWS WAF を活用しよう
AWS WAF を活用しようAWS WAF を活用しよう
AWS WAF を活用しようYuto Ichikawa
 
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)Amazon Web Services Japan
 
MySQLバックアップの基本
MySQLバックアップの基本MySQLバックアップの基本
MySQLバックアップの基本yoyamasaki
 
Rd gatewayによるwindowsインスタンスへの接続
Rd gatewayによるwindowsインスタンスへの接続Rd gatewayによるwindowsインスタンスへの接続
Rd gatewayによるwindowsインスタンスへの接続Amazon Web Services Japan
 

Tendances (20)

AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
 
Jbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみたJbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみた
 
Tune Up AWS Lambda
Tune Up AWS LambdaTune Up AWS Lambda
Tune Up AWS Lambda
 
Black Belt Online Seminar AWS Amazon RDS
Black Belt Online Seminar AWS Amazon RDSBlack Belt Online Seminar AWS Amazon RDS
Black Belt Online Seminar AWS Amazon RDS
 
SID331_Architecting Security and Governance Across a Multi-Account Strategy
SID331_Architecting Security and Governance Across a Multi-Account StrategySID331_Architecting Security and Governance Across a Multi-Account Strategy
SID331_Architecting Security and Governance Across a Multi-Account Strategy
 
AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)
AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS) AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)
AWS Black Belt Online Seminar Amazon Elastic Block Store (EBS)
 
他人が書いたコードのリファレンスをSphinxで作る方法
他人が書いたコードのリファレンスをSphinxで作る方法他人が書いたコードのリファレンスをSphinxで作る方法
他人が書いたコードのリファレンスをSphinxで作る方法
 
AWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon AuroraAWS Black Belt Online Seminar Amazon Aurora
AWS Black Belt Online Seminar Amazon Aurora
 
AWS Black Belt Online Seminar 2016 Amazon EMR
AWS Black Belt Online Seminar 2016 Amazon EMRAWS Black Belt Online Seminar 2016 Amazon EMR
AWS Black Belt Online Seminar 2016 Amazon EMR
 
20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門
 
20180322 AWS Black Belt Online Seminar AWS Snowball Edge
20180322 AWS Black Belt Online Seminar AWS Snowball Edge20180322 AWS Black Belt Online Seminar AWS Snowball Edge
20180322 AWS Black Belt Online Seminar AWS Snowball Edge
 
Serverless Anti-Patterns
Serverless Anti-PatternsServerless Anti-Patterns
Serverless Anti-Patterns
 
AWS WAF を活用しよう
AWS WAF を活用しようAWS WAF を活用しよう
AWS WAF を活用しよう
 
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
 
MySQLバックアップの基本
MySQLバックアップの基本MySQLバックアップの基本
MySQLバックアップの基本
 
NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例NetflixにおけるPresto/Spark活用事例
NetflixにおけるPresto/Spark活用事例
 
Rd gatewayによるwindowsインスタンスへの接続
Rd gatewayによるwindowsインスタンスへの接続Rd gatewayによるwindowsインスタンスへの接続
Rd gatewayによるwindowsインスタンスへの接続
 

Plus de Tao Sasaki

なんでECサイトで セキュリティって 重要なの?
なんでECサイトで セキュリティって 重要なの?なんでECサイトで セキュリティって 重要なの?
なんでECサイトで セキュリティって 重要なの?Tao Sasaki
 
Introduction of EC-CUBE 4.0
Introduction of EC-CUBE 4.0Introduction of EC-CUBE 4.0
Introduction of EC-CUBE 4.0Tao Sasaki
 
2014年10月 東北発表資料
2014年10月 東北発表資料2014年10月 東北発表資料
2014年10月 東北発表資料Tao Sasaki
 
concrete5とコワーキング / コワーキング カンファレンス2013
concrete5とコワーキング / コワーキング カンファレンス2013concrete5とコワーキング / コワーキング カンファレンス2013
concrete5とコワーキング / コワーキング カンファレンス2013Tao Sasaki
 
WEB TOUCH MEETING #52
WEB TOUCH MEETING #52WEB TOUCH MEETING #52
WEB TOUCH MEETING #52Tao Sasaki
 
concrete5で社内システムのお話し
concrete5で社内システムのお話しconcrete5で社内システムのお話し
concrete5で社内システムのお話しTao Sasaki
 
concrete5とC4SAのお話し
concrete5とC4SAのお話しconcrete5とC4SAのお話し
concrete5とC4SAのお話しTao Sasaki
 
Espressoじゃなくてcodaを使う理由
Espressoじゃなくてcodaを使う理由Espressoじゃなくてcodaを使う理由
Espressoじゃなくてcodaを使う理由Tao Sasaki
 
EC-CUBE東京ユーザグループ 皆様にご挨拶をかねて
EC-CUBE東京ユーザグループ 皆様にご挨拶をかねてEC-CUBE東京ユーザグループ 皆様にご挨拶をかねて
EC-CUBE東京ユーザグループ 皆様にご挨拶をかねてTao Sasaki
 

Plus de Tao Sasaki (9)

なんでECサイトで セキュリティって 重要なの?
なんでECサイトで セキュリティって 重要なの?なんでECサイトで セキュリティって 重要なの?
なんでECサイトで セキュリティって 重要なの?
 
Introduction of EC-CUBE 4.0
Introduction of EC-CUBE 4.0Introduction of EC-CUBE 4.0
Introduction of EC-CUBE 4.0
 
2014年10月 東北発表資料
2014年10月 東北発表資料2014年10月 東北発表資料
2014年10月 東北発表資料
 
concrete5とコワーキング / コワーキング カンファレンス2013
concrete5とコワーキング / コワーキング カンファレンス2013concrete5とコワーキング / コワーキング カンファレンス2013
concrete5とコワーキング / コワーキング カンファレンス2013
 
WEB TOUCH MEETING #52
WEB TOUCH MEETING #52WEB TOUCH MEETING #52
WEB TOUCH MEETING #52
 
concrete5で社内システムのお話し
concrete5で社内システムのお話しconcrete5で社内システムのお話し
concrete5で社内システムのお話し
 
concrete5とC4SAのお話し
concrete5とC4SAのお話しconcrete5とC4SAのお話し
concrete5とC4SAのお話し
 
Espressoじゃなくてcodaを使う理由
Espressoじゃなくてcodaを使う理由Espressoじゃなくてcodaを使う理由
Espressoじゃなくてcodaを使う理由
 
EC-CUBE東京ユーザグループ 皆様にご挨拶をかねて
EC-CUBE東京ユーザグループ 皆様にご挨拶をかねてEC-CUBE東京ユーザグループ 皆様にご挨拶をかねて
EC-CUBE東京ユーザグループ 皆様にご挨拶をかねて
 

EC-CUBE 2系での軽減税率対応