Index: branches/version-2_12-dev/data/class/SC_CartSession.php
===================================================================
--- branches/version-2_12-dev/data/class/SC_CartSession.php	(revision 22215)
+++ branches/version-2_12-dev/data/class/SC_CartSession.php	(revision 22218)
@@ -626,4 +626,8 @@
         $results['deliv_fee'] = 0;
 
+        $arrInfo = SC_Helper_DB_Ex::sfGetBasisData();
+        $results['order_tax_rate'] = $arrInfo['tax'];
+        $results['order_tax_rule'] = $arrInfo['tax_rule'];
+
         // 商品ごとの送料を加算
         if (OPTION_PRODUCT_DELIV_FEE == 1) {
Index: branches/version-2_12-dev/data/class/helper/SC_Helper_DB.php
===================================================================
--- branches/version-2_12-dev/data/class/helper/SC_Helper_DB.php	(revision 22215)
+++ branches/version-2_12-dev/data/class/helper/SC_Helper_DB.php	(revision 22218)
@@ -1410,6 +1410,8 @@
         // 店舗基本情報を取得
         $CONF = SC_Helper_DB_Ex::sfGetBasisData();
-
-        return SC_Utils_Ex::sfCalcIncTax($price, $CONF['tax'], $CONF['tax_rule']);
+        $tax      = $tax      === null ? $CONF['tax']      : $tax;
+        $tax_rule = $tax_rule === null ? $CONF['tax_rule'] : $tax_rule;
+
+        return SC_Utils_Ex::sfCalcIncTax($price, $tax, $tax_rule);
     }
 
Index: branches/version-2_12-dev/data/class/helper/SC_Helper_Purchase.php
===================================================================
--- branches/version-2_12-dev/data/class/helper/SC_Helper_Purchase.php	(revision 22215)
+++ branches/version-2_12-dev/data/class/helper/SC_Helper_Purchase.php	(revision 22218)
@@ -857,4 +857,6 @@
             $arrDetail[$i]['price'] = $item['price'];
             $arrDetail[$i]['quantity'] = $item['quantity'];
+            $arrDetail[$i]['tax_rate'] = $orderParams['order_tax_rate'];
+            $arrDetail[$i]['tax_rule'] = $orderParams['order_tax_rule'];
 
             // 在庫の減少処理
@@ -993,4 +995,6 @@
             T2.quantity,
             T2.point_rate,
+            T2.tax_rate,
+            T2.tax_rule,
 __EOS__;
         if ($has_order_status) {
Index: branches/version-2_12-dev/data/class/SC_Fpdf.php
===================================================================
--- branches/version-2_12-dev/data/class/SC_Fpdf.php	(revision 22215)
+++ branches/version-2_12-dev/data/class/SC_Fpdf.php	(revision 22218)
@@ -178,5 +178,5 @@
 
             // 税込金額（単価）
-            $data[1] = SC_Helper_DB_Ex::sfCalcIncTax($this->arrDisp['price'][$i]);
+            $data[1] = SC_Helper_DB_Ex::sfCalcIncTax($this->arrDisp['price'][$i], $this->arrDisp['tax_rate'][$i], $this->arrDisp['tax_rule'][$i]);
 
             // 小計（商品毎）
@@ -331,5 +331,5 @@
     function lfGetOrderDetail($order_id) {
         $objQuery =& SC_Query_Ex::getSingletonInstance();
-        $col = 'product_id, product_class_id, product_code, product_name, classcategory_name1, classcategory_name2, price, quantity, point_rate';
+        $col = 'product_id, product_class_id, product_code, product_name, classcategory_name1, classcategory_name2, price, quantity, point_rate, tax_rate, tax_rule';
         $where = 'order_id = ?';
         $objQuery->setOrder('order_detail_id');
Index: branches/version-2_12-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php
===================================================================
--- branches/version-2_12-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php	(revision 22215)
+++ branches/version-2_12-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php	(revision 22218)
@@ -98,4 +98,6 @@
         $this->arrDeliv = SC_Helper_DB_Ex::sfGetIDValueList('dtb_deliv', 'deliv_id', 'name');
 
+        $this->arrInfo = SC_Helper_DB_Ex::sfGetBasisData();
+
         $this->httpCacheControl('nocache');
     }
@@ -261,5 +263,4 @@
         $this->arrDelivTime = $objPurchase->getDelivTime($objFormParam->getValue('deliv_id'));
         $this->tpl_onload .= $this->getAnchorKey($objFormParam);
-        $this->arrInfo = SC_Helper_DB_Ex::sfGetBasisData();
         if ($arrValuesBefore['payment_id'])
             $this->arrPayment[$arrValuesBefore['payment_id']] = $arrValuesBefore['payment_method'];
@@ -330,4 +331,6 @@
         $objFormParam->addParam('規格名1', 'classcategory_name1');
         $objFormParam->addParam('規格名2', 'classcategory_name2');
+        $objFormParam->addParam('税率', 'tax_rate');
+        $objFormParam->addParam('課税規則', 'tax_rule');
         $objFormParam->addParam('メモ', 'note', MTEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK'));
         $objFormParam->addParam('削除用項番', 'delete_no', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'));
@@ -351,4 +354,6 @@
         $objFormParam->addParam('入金日', 'payment_date');
         $objFormParam->addParam('端末種別', 'device_type_id');
+        $objFormParam->addParam('税率', 'order_tax_rate');
+        $objFormParam->addParam('課税規則', 'order_tax_rule');
 
         // 複数情報
@@ -577,7 +582,7 @@
         for ($i = 0; $i < $max; $i++) {
             // 小計の計算
-            $subtotal += SC_Helper_DB_Ex::sfCalcIncTax($arrValues['price'][$i]) * $arrValues['quantity'][$i];
+            $subtotal += SC_Helper_DB_Ex::sfCalcIncTax($arrValues['price'][$i], $arrValues['tax_rate'][$i], $arrValues['tax_rule'][$i]) * $arrValues['quantity'][$i];
             // 小計の計算
-            $totaltax += SC_Helper_DB_Ex::sfTax($arrValues['price'][$i]) * $arrValues['quantity'][$i];
+            $totaltax += SC_Utils_Ex::sfTax($arrValues['price'][$i], $arrValues['tax_rate'][$i], $arrValues['tax_rule'][$i]) * $arrValues['quantity'][$i];
             // 加算ポイントの計算
             $totalpoint += SC_Utils_Ex::sfPrePoint($arrValues['price'][$i], $arrValues['point_rate'][$i]) * $arrValues['quantity'][$i];
@@ -672,4 +677,6 @@
                 'classcategory_name1',
                 'classcategory_name2',
+                'tax_rate',
+                'tax_rule'
         ));
 
@@ -808,4 +815,6 @@
             $arrProduct['quantity'] = 1;
             $arrProduct['price'] = $arrProduct['price02'];
+            $arrProduct['tax_rate'] = $objFormParam->getValue('order_tax_rate') == '' ? $this->arrInfo['tax']      : $objFormParam->getValue('order_tax_rate');
+            $arrProduct['tax_rule'] = $objFormParam->getValue('order_tax_rule') == '' ? $this->arrInfo['tax_rule'] : $objFormParam->getValue('order_tax_rule');
             $arrProduct['product_name'] = $arrProduct['name'];
 
@@ -813,5 +822,5 @@
                 'product_id', 'product_class_id', 'product_type_id', 'point_rate',
                 'product_code', 'product_name', 'classcategory_name1', 'classcategory_name2',
-                'quantity', 'price',
+                'quantity', 'price', 'tax_rate', 'tax_rule'
             );
             foreach ($arrUpdateKeys as $key) {
@@ -850,5 +859,5 @@
             'product_id', 'product_class_id', 'product_type_id', 'point_rate',
             'product_code', 'product_name', 'classcategory_name1', 'classcategory_name2',
-            'quantity', 'price',
+            'quantity', 'price', 'tax_rate', 'tax_rule'
         );
         foreach ($arrDeleteKeys as $key) {
Index: branches/version-2_12-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Disp.php
===================================================================
--- branches/version-2_12-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Disp.php	(revision 22215)
+++ branches/version-2_12-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Disp.php	(revision 22218)
@@ -194,4 +194,6 @@
         $objFormParam->addParam('メモ', 'note', MTEXT_LEN, 'KVa', array('MAX_LENGTH_CHECK'));
         $objFormParam->addParam('削除用項番', 'delete_no', INT_LEN, 'n', array('MAX_LENGTH_CHECK', 'NUM_CHECK'));
+        $objFormParam->addParam('消費税率', 'tax_rate');
+        $objFormParam->addParam('課税規則', 'tax_rule');
 
         // DB読込用
