OnePica_AvaTax - Version 3.1.0

Version Notes

Implemented reduce tax calculation requests number
Implemented log/queue export with all data from database
Fixed errors/notices displaying
Fixed tax calculation for virtual/downloadable products
Fixed address normalization on checkout with multiple addresses

Download this release

Release Info

Developer Astound Commerce
Extension OnePica_AvaTax
Version 3.1.0
Comparing to
See all releases


Code changes from version 3.0.1 to 3.1.0

Files changed (24) hide show
  1. app/code/community/OnePica/AvaTax/Block/Adminhtml/Export/Log/Grid.php +13 -2
  2. app/code/community/OnePica/AvaTax/Helper/Data.php +5 -8
  3. app/code/community/OnePica/AvaTax/Helper/RequestFilter.php +159 -0
  4. app/code/community/OnePica/AvaTax/Model/Action/Calculator.php +5 -5
  5. app/code/community/OnePica/AvaTax/Model/Action/Validator.php +8 -2
  6. app/code/community/OnePica/AvaTax/Model/Export/Entity/Log.php +3 -0
  7. app/code/community/OnePica/AvaTax/Model/Observer/AdminSystemConfigChangedSectionTax.php +0 -54
  8. app/code/community/OnePica/AvaTax/Model/Observer/{ControllerActionPostdispatchCheckoutCartEstimatePost.php → ControllerActionLayoutLoadBefore.php} +10 -3
  9. app/code/community/OnePica/AvaTax/Model/Observer/ControllerActionPostdispatchCheckoutCartEstimateUpdatePost.php +0 -39
  10. app/code/community/OnePica/AvaTax/Model/Observer/ControllerActionPostdispatchCheckoutMultishippingAddressEditShipping.php +53 -0
  11. app/code/community/OnePica/AvaTax/Model/Observer/ControllerActionPredispatchCheckoutCartIndex.php +0 -39
  12. app/code/community/OnePica/AvaTax/Model/Observer/ControllerActionPredispatchCheckoutMultishippingAddressEditShippingPost.php +97 -0
  13. app/code/community/OnePica/AvaTax/Model/Observer/MultishippingSetShippingItems.php +7 -1
  14. app/code/community/OnePica/AvaTax/Model/Records/Log.php +0 -17
  15. app/code/community/OnePica/AvaTax/Model/Sales/Quote/Address/Total/Tax.php +64 -1
  16. app/code/community/OnePica/AvaTax/Model/Service/Avatax/Estimate.php +4 -2
  17. app/code/community/OnePica/AvaTax/Model/Service/Avatax16/Estimate.php +6 -3
  18. app/code/community/OnePica/AvaTax/Model/Source/Addressvalidation.php +3 -3
  19. app/code/community/OnePica/AvaTax/Model/Source/Avatax/Logtype.php +16 -0
  20. app/code/community/OnePica/AvaTax/Model/Source/Avatax16/Logtype.php +17 -0
  21. app/code/community/OnePica/AvaTax/Model/Source/Logtype.php +37 -2
  22. app/code/community/OnePica/AvaTax/etc/config.xml +10 -28
  23. app/code/community/OnePica/AvaTax/etc/system.xml +54 -1
  24. package.xml +9 -5
app/code/community/OnePica/AvaTax/Block/Adminhtml/Export/Log/Grid.php CHANGED
@@ -50,7 +50,7 @@ class OnePica_AvaTax_Block_Adminhtml_Export_Log_Grid extends OnePica_AvaTax_Bloc
50
  'log_id' => 'number',
51
  'store_id' => 'number',
52
  'level' => Mage::getModel('avatax_records/log')->getLevelOptions(),
53
- 'type' => Mage::getModel('avatax_records/log')->getTypeOptions(),
54
  'created_at' => 'datetime',
55
  )
56
  );
@@ -59,12 +59,13 @@ class OnePica_AvaTax_Block_Adminhtml_Export_Log_Grid extends OnePica_AvaTax_Bloc
59
  /**
60
  * Adds collection
61
  *
62
- * @return unknown
63
  */
64
  protected function _prepareCollection()
65
  {
66
  $collection = Mage::getModel('avatax_records/log')->getCollection();
67
  $this->setCollection($collection);
 
68
  return parent::_prepareCollection();
69
  }
70
 
@@ -78,4 +79,14 @@ class OnePica_AvaTax_Block_Adminhtml_Export_Log_Grid extends OnePica_AvaTax_Bloc
78
  {
79
  return $this->getUrl('*/*/logView', array('id' => $row->getId()));
80
  }
 
 
 
 
 
 
 
 
 
 
81
  }
50
  'log_id' => 'number',
51
  'store_id' => 'number',
52
  'level' => Mage::getModel('avatax_records/log')->getLevelOptions(),
53
+ 'type' => $this->_getLogTypeModel()->getLogTypes(),
54
  'created_at' => 'datetime',
55
  )
56
  );
59
  /**
60
  * Adds collection
61
  *
62
+ * @return Mage_Adminhtml_Block_Widget_Grid
63
  */
64
  protected function _prepareCollection()
65
  {
66
  $collection = Mage::getModel('avatax_records/log')->getCollection();
67
  $this->setCollection($collection);
68
+
69
  return parent::_prepareCollection();
70
  }
71
 
79
  {
80
  return $this->getUrl('*/*/logView', array('id' => $row->getId()));
81
  }
82
+
83
+ /**
84
+ * Get data helper
85
+ *
86
+ * @return OnePica_AvaTax_Model_Source_Logtype
87
+ */
88
+ protected function _getLogTypeModel()
89
+ {
90
+ return Mage::getModel('avatax/source_logtype');
91
+ }
92
  }
app/code/community/OnePica/AvaTax/Helper/Data.php CHANGED
@@ -1,9 +1,7 @@
1
  <?php
2
  /**
3
  * OnePica_AvaTax
4
- *
5
  * NOTICE OF LICENSE
6
- *
7
  * This source file is subject to the Open Software License (OSL 3.0), a
8
  * copy of which is available through the world-wide-web at this URL:
9
  * http://opensource.org/licenses/osl-3.0.php
@@ -33,7 +31,7 @@ class OnePica_AvaTax_Helper_Data extends Mage_Core_Helper_Abstract
33
  public function isServiceEnabled($store = null)
34
  {
35
  return ($this->_getConfigData()->getStatusServiceAction($store)
36
- != OnePica_AvaTax_Model_Service_Abstract_Config::ACTION_DISABLE);
37
  }
38
 
39
  /**
@@ -111,12 +109,12 @@ class OnePica_AvaTax_Helper_Data extends Mage_Core_Helper_Abstract
111
  */
112
  public function isAnyStoreDisabled()
113
  {
114
- $disabled = false;
115
  $storeCollection = Mage::app()->getStores();
116
 
117
  foreach ($storeCollection as $store) {
118
  $disabled |= $this->_getConfigData()->getStatusServiceAction($store->getId())
119
- == OnePica_AvaTax_Model_Service_Abstract_Config::ACTION_DISABLE;
120
  }
121
 
122
  return $disabled;
@@ -124,7 +122,6 @@ class OnePica_AvaTax_Helper_Data extends Mage_Core_Helper_Abstract
124
 
125
  /**
126
  * Create Zend_Date object with date converted to store timezone and store Locale
127
- *
128
  * This method from Mage_Core_Model_Locale.
129
  * This need for backward compatibility with older magento versions which not have 4th parameter in this method
130
  *
@@ -170,7 +167,7 @@ class OnePica_AvaTax_Helper_Data extends Mage_Core_Helper_Abstract
170
  * Round up
171
  *
172
  * @param float $value
173
- * @param int $precision
174
  * @return float
175
  */
176
  public function roundUp($value, $precision)
@@ -192,7 +189,6 @@ class OnePica_AvaTax_Helper_Data extends Mage_Core_Helper_Abstract
192
 
193
  /**
194
  * Generates client name for requests
195
- *
196
  * Parts:
197
  * - MyERP: the ERP that this connector is for (not always applicable)
198
  * - Majver: version info for the ERP (not always applicable)
@@ -219,6 +215,7 @@ class OnePica_AvaTax_Helper_Data extends Mage_Core_Helper_Abstract
219
  $part[] = OnePica_AvaTax_Model_Service_Abstract_Config::APP_NAME;
220
  $part[] = $opVerParts[0];
221
  $part[] = $opVerParts[1];
 
222
  return implode(',', $part);
223
  }
224
  }
1
  <?php
2
  /**
3
  * OnePica_AvaTax
 
4
  * NOTICE OF LICENSE
 
5
  * This source file is subject to the Open Software License (OSL 3.0), a
6
  * copy of which is available through the world-wide-web at this URL:
7
  * http://opensource.org/licenses/osl-3.0.php
31
  public function isServiceEnabled($store = null)
32
  {
33
  return ($this->_getConfigData()->getStatusServiceAction($store)
34
+ != OnePica_AvaTax_Model_Service_Abstract_Config::ACTION_DISABLE);
35
  }
36
 
37
  /**
109
  */
110
  public function isAnyStoreDisabled()
111
  {
112
+ $disabled = false;
113
  $storeCollection = Mage::app()->getStores();
114
 
115
  foreach ($storeCollection as $store) {
116
  $disabled |= $this->_getConfigData()->getStatusServiceAction($store->getId())
117
+ == OnePica_AvaTax_Model_Service_Abstract_Config::ACTION_DISABLE;
118
  }
119
 
120
  return $disabled;
122
 
123
  /**
124
  * Create Zend_Date object with date converted to store timezone and store Locale
 
125
  * This method from Mage_Core_Model_Locale.
126
  * This need for backward compatibility with older magento versions which not have 4th parameter in this method
127
  *
167
  * Round up
168
  *
169
  * @param float $value
170
+ * @param int $precision
171
  * @return float
172
  */
173
  public function roundUp($value, $precision)
189
 
190
  /**
191
  * Generates client name for requests
 
192
  * Parts:
193
  * - MyERP: the ERP that this connector is for (not always applicable)
194
  * - Majver: version info for the ERP (not always applicable)
215
  $part[] = OnePica_AvaTax_Model_Service_Abstract_Config::APP_NAME;
216
  $part[] = $opVerParts[0];
217
  $part[] = $opVerParts[1];
218
+
219
  return implode(',', $part);
220
  }
221
  }
app/code/community/OnePica/AvaTax/Helper/RequestFilter.php ADDED
@@ -0,0 +1,159 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * OnePica_AvaTax
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0), a
8
+ * copy of which is available through the world-wide-web at this URL:
9
+ * http://opensource.org/licenses/osl-3.0.php
10
+ *
11
+ * @category OnePica
12
+ * @package OnePica_AvaTax
13
+ * @author OnePica Codemaster <codemaster@onepica.com>
14
+ * @copyright Copyright (c) 2016 One Pica, Inc.
15
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
+ */
17
+
18
+ /**
19
+ * Class OnePica_AvaTax_Helper_RequestFilter
20
+ */
21
+ class OnePica_AvaTax_Helper_RequestFilter extends Mage_Core_Helper_Abstract
22
+ {
23
+ /**
24
+ * XMl path to limit get tax request on checkout onepage actions
25
+ */
26
+ const LIMIT_GET_TAX_REQUEST_ON_CHECKOUT_ONEPAGE = 'tax/avatax/limit_gettax_request_on_checkout_onepage_actions';
27
+
28
+ /**
29
+ * XML path to limit get tax request on multi shipping checkout actions
30
+ */
31
+ const LIMIT_GET_TAX_REQUEST_ON_MULTISHIPPING_CHECKOUT = 'tax/avatax/limit_gettax_request_on_multishipping_checkout_actions';
32
+
33
+ /**
34
+ * Xml path to disable get tax request on unnecessary actions
35
+ */
36
+ const DISABLE_GET_TAX_REQUEST_ON_UNNECESSARY_ACTIONS = 'tax/avatax/limit_gettax_request_on_noncheckout_actions';
37
+
38
+ /**
39
+ * Checks if request is filtered
40
+ *
41
+ * @param Mage_Core_Model_Store|int $store
42
+ * @return bool
43
+ */
44
+ public function isRequestFiltered($store)
45
+ {
46
+ $requestPath = $this->_getRequestPath();
47
+ if ($this->_isOnePageCheckoutRequestFiltered($store, $requestPath)) {
48
+ return true;
49
+ }
50
+
51
+ if ($this->_isMultishippingCheckoutRequestFiltered($store, $requestPath)) {
52
+ return true;
53
+ }
54
+
55
+ if ($this->_isFilteredNonCheckoutActions($store, $requestPath)) {
56
+ return true;
57
+ }
58
+
59
+ return false;
60
+ }
61
+
62
+ /**
63
+ * Get request path
64
+ *
65
+ * Example: module_name/controller_name/action_name
66
+ *
67
+ * @return string
68
+ */
69
+ protected function _getRequestPath()
70
+ {
71
+ return $this->_getRequest()->getModuleName()
72
+ . '/' . $this->_getRequest()->getControllerName()
73
+ . '/' . $this->_getRequest()->getActionName();
74
+ }
75
+
76
+ /**
77
+ * Checks, if one page checkout request are filtering
78
+ *
79
+ * @param Mage_Core_Model_Store|int $store
80
+ * @param string $requestPath
81
+ * @return bool
82
+ */
83
+ protected function _isOnePageCheckoutRequestFiltered($store, $requestPath)
84
+ {
85
+ return Mage::getStoreConfigFlag(self::LIMIT_GET_TAX_REQUEST_ON_CHECKOUT_ONEPAGE, $store)
86
+ && in_array($requestPath, $this->_getCheckoutActions(), true);
87
+ }
88
+
89
+ /**
90
+ * Get checkout actions
91
+ *
92
+ * @return array
93
+ */
94
+ protected function _getCheckoutActions()
95
+ {
96
+ return array(
97
+ 'checkout/onepage/index',
98
+ 'checkout/onepage/saveBilling',
99
+ 'checkout/onepage/saveShipping',
100
+ 'checkout/onepage/saveShippingMethod'
101
+ );
102
+ }
103
+
104
+ /**
105
+ * Checks, if multi shipping checkout request are filtering
106
+ *
107
+ * @param Mage_Core_Model_Store|int $store
108
+ * @param string $requestPath
109
+ * @return bool
110
+ */
111
+ protected function _isMultishippingCheckoutRequestFiltered($store, $requestPath)
112
+ {
113
+ return Mage::getStoreConfigFlag(self::LIMIT_GET_TAX_REQUEST_ON_MULTISHIPPING_CHECKOUT, $store)
114
+ && in_array($requestPath, $this->_getMultiShippingCheckoutActions(), true);
115
+ }
116
+
117
+ /**
118
+ * Get multiple checkout actions
119
+ *
120
+ * @return array
121
+ */
122
+ protected function _getMultiShippingCheckoutActions()
123
+ {
124
+ return array(
125
+ 'checkout/multishipping/index',
126
+ 'checkout/multishipping/addresses',
127
+ 'checkout/multishipping/addressesPost',
128
+ 'checkout/multishipping/shipping',
129
+ 'checkout/multishipping/shippingPost',
130
+ 'checkout/multishipping/billing'
131
+ );
132
+ }
133
+
134
+ /**
135
+ * Is filtered request on unnecessary actions
136
+ *
137
+ * @param Mage_Core_Model_Store|int $store
138
+ * @param string $requestPath
139
+ * @return bool
140
+ */
141
+ protected function _isFilteredNonCheckoutActions($store, $requestPath)
142
+ {
143
+ return Mage::getStoreConfigFlag(self::DISABLE_GET_TAX_REQUEST_ON_UNNECESSARY_ACTIONS, $store)
144
+ && in_array($requestPath, $this->_getNonCheckoutActions());
145
+ }
146
+
147
+ /**
148
+ * Get unnecessary actions
149
+ *
150
+ * @return array
151
+ */
152
+ protected function _getNonCheckoutActions()
153
+ {
154
+ return array(
155
+ 'catalog/category/view',
156
+ 'customer/account/index'
157
+ );
158
+ }
159
+ }
app/code/community/OnePica/AvaTax/Model/Action/Calculator.php CHANGED
@@ -64,6 +64,11 @@ class OnePica_AvaTax_Model_Action_Calculator extends OnePica_AvaTax_Model_Action
64
  $this->setStoreId($address->getQuote()->getStoreId());
65
  $this->_rates = $this->_getService()->getRates($address);
66
 
 
 
 
 
 
67
  return $this;
68
  }
69
 
@@ -88,11 +93,6 @@ class OnePica_AvaTax_Model_Action_Calculator extends OnePica_AvaTax_Model_Action
88
  */
89
  protected function _getRates()
90
  {
91
- if (isset($this->_rates['failure']) && ($this->_rates['failure'] === true)) {
92
- // set error flag for processing estimation errors on upper level
93
- $this->_address->getQuote()->setData('estimate_tax_error', true);
94
- }
95
-
96
  return $this->_rates;
97
  }
98
 
64
  $this->setStoreId($address->getQuote()->getStoreId());
65
  $this->_rates = $this->_getService()->getRates($address);
66
 
67
+ if (isset($this->_rates['failure']) && ($this->_rates['failure'] === true)) {
68
+ // set error flag for processing estimation errors on upper level
69
+ $this->_address->getQuote()->setData('estimate_tax_error', true);
70
+ }
71
+
72
  return $this;
73
  }
74
 
93
  */
94
  protected function _getRates()
95
  {
 
 
 
 
 
96
  return $this->_rates;
97
  }
98
 
app/code/community/OnePica/AvaTax/Model/Action/Validator.php CHANGED
@@ -239,6 +239,8 @@ class OnePica_AvaTax_Model_Action_Validator extends OnePica_AvaTax_Model_Action_
239
  */
240
  protected function _convertResponseAddress()
241
  {
 
 
242
  $street = array($this->getResponseAddress()->getLine1(), $this->getResponseAddress()->getLine2());
243
  $region = Mage::getModel('directory/region')
244
  ->loadByCode($this->getResponseAddress()->getState(), $this->getAddress()->getCountryId());
@@ -248,8 +250,12 @@ class OnePica_AvaTax_Model_Action_Validator extends OnePica_AvaTax_Model_Action_
248
  ->setRegionId($region->getId())
249
  ->setPostcode($this->getResponseAddress()->getPostalCode())
250
  ->setCountryId($this->getResponseAddress()->getCountry())
251
- ->save()
252
- ->setAddressNormalized(true);
 
 
 
 
253
 
254
  return $this;
255
  }
239
  */
240
  protected function _convertResponseAddress()
241
  {
242
+ $strOriginAddress = $this->getAddress()->format('oneline');
243
+
244
  $street = array($this->getResponseAddress()->getLine1(), $this->getResponseAddress()->getLine2());
245
  $region = Mage::getModel('directory/region')
246
  ->loadByCode($this->getResponseAddress()->getState(), $this->getAddress()->getCountryId());
250
  ->setRegionId($region->getId())
251
  ->setPostcode($this->getResponseAddress()->getPostalCode())
252
  ->setCountryId($this->getResponseAddress()->getCountry())
253
+ ->save();
254
+
255
+ $strResultAddress = $this->getAddress()->format('oneline');
256
+ if ($strOriginAddress != $strResultAddress) {
257
+ $this->getAddress()->setAddressNormalized(true);
258
+ }
259
 
260
  return $this;
261
  }
app/code/community/OnePica/AvaTax/Model/Export/Entity/Log.php CHANGED
@@ -36,6 +36,9 @@ class OnePica_AvaTax_Model_Export_Entity_Log extends OnePica_AvaTax_Model_Export
36
  'store_id',
37
  'level',
38
  'type',
 
 
 
39
  'created_at'
40
  );
41
  }
36
  'store_id',
37
  'level',
38
  'type',
39
+ 'request',
40
+ 'result',
41
+ 'additional',
42
  'created_at'
43
  );
44
  }
app/code/community/OnePica/AvaTax/Model/Observer/AdminSystemConfigChangedSectionTax.php CHANGED
@@ -95,8 +95,6 @@ class OnePica_AvaTax_Model_Observer_AdminSystemConfigChangedSectionTax extends O
95
  $errors = array_merge(
96
  $errors,
97
  $this->_sendPing($storeId),
98
- $this->_checkConnectionFields($storeId),
99
- $this->_checkSkuFields($storeId),
100
  $this->_checkSoapSupport(),
101
  $this->_checkSslSupport()
102
  );
@@ -171,58 +169,6 @@ class OnePica_AvaTax_Model_Observer_AdminSystemConfigChangedSectionTax extends O
171
  return $errors;
172
  }
173
 
174
- /**
175
- * Check connection fields
176
- *
177
- * @param int $storeId
178
- * @return array
179
- */
180
- protected function _checkConnectionFields($storeId)
181
- {
182
- $errors = array();
183
- if (!Mage::getStoreConfig('tax/avatax/url', $storeId)) {
184
- $errors[] = Mage::helper('avatax')->__('You must enter a connection URL');
185
- }
186
- if (!Mage::getStoreConfig('tax/avatax/account', $storeId)) {
187
- $errors[] = Mage::helper('avatax')->__('You must enter an account number');
188
- }
189
- if (!Mage::getStoreConfig('tax/avatax/license', $storeId)) {
190
- $errors[] = Mage::helper('avatax')->__('You must enter a license key');
191
- }
192
- if (!is_numeric(Mage::getStoreConfig('tax/avatax/log_lifetime'))) {
193
- $errors[] = Mage::helper('avatax')->__('You must enter the number of days to keep log entries');
194
- }
195
- if (!Mage::getStoreConfig('tax/avatax/company_code', $storeId)) {
196
- $errors[] = Mage::helper('avatax')->__('You must enter a company code');
197
- }
198
-
199
- return $errors;
200
- }
201
-
202
- /**
203
- * Check Sku fields
204
- *
205
- * @param int $storeId
206
- * @return array
207
- */
208
- protected function _checkSkuFields($storeId)
209
- {
210
- $errors = array();
211
- if (!$this->_getConfigHelper()->getShippingSku($storeId)) {
212
- $errors[] = Mage::helper('avatax')->__('You must enter a shipping sku');
213
- }
214
- if (!$this->_getConfigHelper()->getPositiveAdjustmentSku($storeId)) {
215
- $errors[] = Mage::helper('avatax')->__('You must enter an adjustment refund sku');
216
- }
217
- if (!$this->_getConfigHelper()->getNegativeAdjustmentSku($storeId)) {
218
- $errors[] = Mage::helper('avatax')->__('You must enter an adjustment fee sku');
219
-
220
- return $errors;
221
- }
222
-
223
- return $errors;
224
- }
225
-
226
  /**
227
  * Check SOAP support
228
  *
95
  $errors = array_merge(
96
  $errors,
97
  $this->_sendPing($storeId),
 
 
98
  $this->_checkSoapSupport(),
99
  $this->_checkSslSupport()
100
  );
169
  return $errors;
170
  }
171
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
172
  /**
173
  * Check SOAP support
174
  *
app/code/community/OnePica/AvaTax/Model/Observer/{ControllerActionPostdispatchCheckoutCartEstimatePost.php → ControllerActionLayoutLoadBefore.php} RENAMED
@@ -16,13 +16,13 @@
16
  */
17
 
18
  /**
19
- * Avatax Observer ControllerActionPostdispatchCheckoutCartEstimatePost
20
  *
21
  * @category OnePica
22
  * @package OnePica_AvaTax
23
  * @author OnePica Codemaster <codemaster@onepica.com>
24
  */
25
- class OnePica_AvaTax_Model_Observer_ControllerActionPostdispatchCheckoutCartEstimatePost
26
  extends OnePica_AvaTax_Model_Observer_Abstract
27
  {
28
  /**
@@ -33,7 +33,14 @@ class OnePica_AvaTax_Model_Observer_ControllerActionPostdispatchCheckoutCartEsti
33
  */
34
  public function execute(Varien_Event_Observer $observer)
35
  {
36
- $this->_handleTaxEstimation();
 
 
 
 
 
 
 
37
  return $this;
38
  }
39
  }
16
  */
17
 
18
  /**
19
+ * Avatax Observer ControllerActionLayoutLoadBefore
20
  *
21
  * @category OnePica
22
  * @package OnePica_AvaTax
23
  * @author OnePica Codemaster <codemaster@onepica.com>
24
  */
25
+ class OnePica_AvaTax_Model_Observer_ControllerActionLayoutLoadBefore
26
  extends OnePica_AvaTax_Model_Observer_Abstract
27
  {
28
  /**
33
  */
34
  public function execute(Varien_Event_Observer $observer)
35
  {
36
+ $action = $observer->getAction();
37
+ if ($action instanceOf Mage_Checkout_CartController
38
+ && $action->getFullActionName() == 'checkout_cart_index') {
39
+ /* @var Mage_Sales_Model_Quote $quote */
40
+ $quote = Mage::getSingleton('checkout/session')->getQuote();
41
+ $this->_addErrorMessage($quote);
42
+ }
43
+
44
  return $this;
45
  }
46
  }
app/code/community/OnePica/AvaTax/Model/Observer/ControllerActionPostdispatchCheckoutCartEstimateUpdatePost.php DELETED
@@ -1,39 +0,0 @@
1
- <?php
2
- /**
3
- * OnePica_AvaTax
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0), a
8
- * copy of which is available through the world-wide-web at this URL:
9
- * http://opensource.org/licenses/osl-3.0.php
10
- *
11
- * @category OnePica
12
- * @package OnePica_AvaTax
13
- * @author OnePica Codemaster <codemaster@onepica.com>
14
- * @copyright Copyright (c) 2015 One Pica, Inc.
15
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
- */
17
-
18
- /**
19
- * Avatax Observer ControllerActionPostdispatchCheckoutCartEstimateUpdatePost
20
- *
21
- * @category OnePica
22
- * @package OnePica_AvaTax
23
- * @author OnePica Codemaster <codemaster@onepica.com>
24
- */
25
- class OnePica_AvaTax_Model_Observer_ControllerActionPostdispatchCheckoutCartEstimateUpdatePost
26
- extends OnePica_AvaTax_Model_Observer_Abstract
27
- {
28
- /**
29
- * Add error message if tax estimation has problems when user updates estimate post
30
- *
31
- * @param Varien_Event_Observer $observer
32
- * @return $this
33
- */
34
- public function execute(Varien_Event_Observer $observer)
35
- {
36
- $this->_handleTaxEstimation();
37
- return $this;
38
- }
39
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/OnePica/AvaTax/Model/Observer/ControllerActionPostdispatchCheckoutMultishippingAddressEditShipping.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * OnePica_AvaTax
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0), a
8
+ * copy of which is available through the world-wide-web at this URL:
9
+ * http://opensource.org/licenses/osl-3.0.php
10
+ *
11
+ * @category OnePica
12
+ * @package OnePica_AvaTax
13
+ * @author OnePica Codemaster <codemaster@onepica.com>
14
+ * @copyright Copyright (c) 2015 One Pica, Inc.
15
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
+ */
17
+
18
+ /**
19
+ * Avatax Observer ControllerActionPostdispatchCheckoutMultishippingAddressEditShipping
20
+ *
21
+ * @category OnePica
22
+ * @package OnePica_AvaTax
23
+ * @author OnePica Codemaster <codemaster@onepica.com>
24
+ */
25
+ class OnePica_AvaTax_Model_Observer_ControllerActionPostdispatchCheckoutMultishippingAddressEditShipping
26
+ extends OnePica_AvaTax_Model_Observer_Abstract
27
+ {
28
+ /**
29
+ * Restore customer address from quote shipping address
30
+ *
31
+ * @param Varien_Event_Observer $observer
32
+ * @return $this
33
+ */
34
+ public function execute(Varien_Event_Observer $observer)
35
+ {
36
+ $restoreCustomerAddress = $observer->getControllerAction()->getRequest()->getParam('restore_customer_address');
37
+ $customerAddressId = $observer->getControllerAction()->getRequest()->getParam('id');
38
+ if ($restoreCustomerAddress && $customerAddressId) {
39
+ $customerAddress = Mage::getModel('checkout/type_multishipping')
40
+ ->getCustomer()
41
+ ->getAddressById($customerAddressId);
42
+ $shippingAddress = Mage::getSingleton('checkout/session')
43
+ ->getQuote()
44
+ ->getShippingAddressByCustomerAddressId($customerAddressId);
45
+
46
+ Mage::helper('core')->copyFieldset(
47
+ 'sales_convert_quote_address', 'to_customer_address',
48
+ $shippingAddress, $customerAddress
49
+ );
50
+ $customerAddress->save();
51
+ }
52
+ }
53
+ }
app/code/community/OnePica/AvaTax/Model/Observer/ControllerActionPredispatchCheckoutCartIndex.php DELETED
@@ -1,39 +0,0 @@
1
- <?php
2
- /**
3
- * OnePica_AvaTax
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0), a
8
- * copy of which is available through the world-wide-web at this URL:
9
- * http://opensource.org/licenses/osl-3.0.php
10
- *
11
- * @category OnePica
12
- * @package OnePica_AvaTax
13
- * @author OnePica Codemaster <codemaster@onepica.com>
14
- * @copyright Copyright (c) 2015 One Pica, Inc.
15
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
- */
17
-
18
- /**
19
- * Avatax Observer ControllerActionPredispatchCheckoutCartIndex
20
- *
21
- * @category OnePica
22
- * @package OnePica_AvaTax
23
- * @author OnePica Codemaster <codemaster@onepica.com>
24
- */
25
- class OnePica_AvaTax_Model_Observer_ControllerActionPredispatchCheckoutCartIndex
26
- extends OnePica_AvaTax_Model_Observer_Abstract
27
- {
28
- /**
29
- * Add error message if tax estimation has problems when user located at checkout/cart/index
30
- *
31
- * @param Varien_Event_Observer $observer
32
- * @return $this
33
- */
34
- public function execute(Varien_Event_Observer $observer)
35
- {
36
- $this->_addErrorMessage($this->_getQuote());
37
- return $this;
38
- }
39
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/OnePica/AvaTax/Model/Observer/ControllerActionPredispatchCheckoutMultishippingAddressEditShippingPost.php ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * OnePica_AvaTax
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0), a
8
+ * copy of which is available through the world-wide-web at this URL:
9
+ * http://opensource.org/licenses/osl-3.0.php
10
+ *
11
+ * @category OnePica
12
+ * @package OnePica_AvaTax
13
+ * @author OnePica Codemaster <codemaster@onepica.com>
14
+ * @copyright Copyright (c) 2015 One Pica, Inc.
15
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
16
+ */
17
+
18
+ /**
19
+ * Avatax Observer ControllerActionPredispatchCheckoutMultishippingAddressEditShippingPost
20
+ *
21
+ * @category OnePica
22
+ * @package OnePica_AvaTax
23
+ * @author OnePica Codemaster <codemaster@onepica.com>
24
+ */
25
+ class OnePica_AvaTax_Model_Observer_ControllerActionPredispatchCheckoutMultishippingAddressEditShippingPost
26
+ extends OnePica_AvaTax_Model_Observer_Abstract
27
+ {
28
+ /**
29
+ * Validates customer address during copying address to quote and
30
+ * prevent copying if address validation fails
31
+ *
32
+ * @param Varien_Event_Observer $observer
33
+ *
34
+ * @return $this
35
+ * @throws Mage_Core_Controller_Varien_Exception
36
+ */
37
+ public function execute(Varien_Event_Observer $observer)
38
+ {
39
+ try
40
+ {
41
+ /* @var $quote Mage_Sales_Model_Quote */
42
+ $quote = Mage::getSingleton('checkout/session')->getQuote();
43
+ $storeId = $quote->getStoreId();
44
+
45
+ $customerAddressId = $observer->getControllerAction()->getRequest()->getParam('id');
46
+ if ($customerAddressId) {
47
+ //make a copy of current editable quote shipping address for validation
48
+ $customerAddress = Mage::getModel('checkout/type_multishipping')
49
+ ->getCustomer()
50
+ ->getAddressById($customerAddressId);
51
+ $shippingAddress = clone $quote->getShippingAddressByCustomerAddressId($customerAddressId);
52
+ $shippingAddress->importCustomerAddress($customerAddress);
53
+
54
+ //perform quote shipping address validation
55
+ $errors = array();
56
+ $normalized = false;
57
+
58
+ $message = Mage::getStoreConfig('tax/avatax/validate_address_message', $storeId);
59
+
60
+ if ($shippingAddress->validate() !== true) {
61
+ $errors[] = sprintf($message, $shippingAddress->format('oneline'));
62
+ }
63
+ if ($shippingAddress->getAddressNormalized()) {
64
+ $normalized = true;
65
+ }
66
+
67
+ $session = Mage::getSingleton('checkout/session');
68
+ if ($normalized) {
69
+ $session->addNotice(Mage::getStoreConfig('tax/avatax/multiaddress_normalize_message', $storeId));
70
+ }
71
+
72
+ if (!empty($errors)) {
73
+ throw new OnePica_AvaTax_Exception(implode('<br />', $errors));
74
+ }
75
+ }
76
+ }
77
+ catch (OnePica_AvaTax_Exception $e)
78
+ {
79
+ //clear all messages
80
+ Mage::getSingleton('customer/session')->getMessages(true);
81
+ //add validation error message
82
+ Mage::getSingleton('customer/session')->addError($e->getMessage());
83
+
84
+ //perform forward
85
+ $params = $observer->getControllerAction()->getRequest()->getParams();
86
+ $exception = new Mage_Core_Controller_Varien_Exception();
87
+ $exception->prepareForward(
88
+ 'editShipping', null, null,
89
+ array_merge(
90
+ $params, array('restore_customer_address' => true)
91
+ )
92
+ );
93
+ throw $exception;
94
+ }
95
+ return $this;
96
+ }
97
+ }
app/code/community/OnePica/AvaTax/Model/Observer/MultishippingSetShippingItems.php CHANGED
@@ -22,7 +22,8 @@
22
  * @package OnePica_AvaTax
23
  * @author OnePica Codemaster <codemaster@onepica.com>
24
  */
25
- class OnePica_AvaTax_Model_Observer_MultishippingSetShippingItems extends OnePica_AvaTax_Model_Observer_Abstract
 
26
  {
27
  /**
28
  * Validate addresses when multishipping checkout on set shipping items
@@ -33,6 +34,11 @@ class OnePica_AvaTax_Model_Observer_MultishippingSetShippingItems extends OnePic
33
  */
34
  public function execute(Varien_Event_Observer $observer)
35
  {
 
 
 
 
 
36
  /* @var $quote Mage_Sales_Model_Quote */
37
  $quote = $observer->getEvent()->getQuote();
38
  $storeId = $quote->getStoreId();
22
  * @package OnePica_AvaTax
23
  * @author OnePica Codemaster <codemaster@onepica.com>
24
  */
25
+ class OnePica_AvaTax_Model_Observer_MultishippingSetShippingItems
26
+ extends OnePica_AvaTax_Model_Observer_Abstract
27
  {
28
  /**
29
  * Validate addresses when multishipping checkout on set shipping items
34
  */
35
  public function execute(Varien_Event_Observer $observer)
36
  {
37
+ // skip validation if customer wants to add new address
38
+ if (Mage::app()->getRequest()->getParam('new_address')) {
39
+ return $this;
40
+ }
41
+
42
  /* @var $quote Mage_Sales_Model_Quote */
43
  $quote = $observer->getEvent()->getQuote();
44
  $storeId = $quote->getStoreId();
app/code/community/OnePica/AvaTax/Model/Records/Log.php CHANGED
@@ -68,23 +68,6 @@ class OnePica_AvaTax_Model_Records_Log extends Mage_Core_Model_Abstract
68
  return $this;
69
  }
70
 
71
- /**
72
- * Get type options
73
- *
74
- * @return array
75
- */
76
- public function getTypeOptions()
77
- {
78
- $result = array();
79
- $storeId = Mage::app()->getStore()->getId();
80
- $types = Mage::helper('avatax')->getLogType($storeId);
81
- foreach ($types as $value) {
82
- $result[$value] = $value;
83
- }
84
-
85
- return $result;
86
- }
87
-
88
  /**
89
  * Get level options
90
  *
68
  return $this;
69
  }
70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  /**
72
  * Get level options
73
  *
app/code/community/OnePica/AvaTax/Model/Sales/Quote/Address/Total/Tax.php CHANGED
@@ -61,8 +61,13 @@ class OnePica_AvaTax_Model_Sales_Quote_Address_Total_Tax extends Mage_Sales_Mode
61
 
62
  $store = $address->getQuote()->getStore();
63
 
 
 
64
  //Added check for calculating tax for regions filtered in the admin
65
- if (!$this->_isAddressActionable($address) || !$address->hasItems()) {
 
 
 
66
  return $this;
67
  }
68
 
@@ -230,6 +235,7 @@ class OnePica_AvaTax_Model_Sales_Quote_Address_Total_Tax extends Mage_Sales_Mode
230
  {
231
  if ($address->getAddressType() == Mage_Sales_Model_Quote_Address::TYPE_SHIPPING
232
  || $address->getUseForShipping()
 
233
  ) {
234
  $shippingItem = new Varien_Object();
235
  $shippingItem->setId(Mage::helper('avatax/config')->getShippingSku($store->getId()));
@@ -334,6 +340,26 @@ class OnePica_AvaTax_Model_Sales_Quote_Address_Total_Tax extends Mage_Sales_Mode
334
  return $this;
335
  }
336
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
337
  /**
338
  * Reset address values
339
  *
@@ -518,6 +544,18 @@ class OnePica_AvaTax_Model_Sales_Quote_Address_Total_Tax extends Mage_Sales_Mode
518
  return Mage::helper('avatax');
519
  }
520
 
 
 
 
 
 
 
 
 
 
 
 
 
521
  /* BELOW ARE MAGE CORE PROPERTIES AND METHODS ADDED FOR OLDER VERSION COMPATABILITY */
522
 
523
  /**
@@ -587,4 +625,29 @@ class OnePica_AvaTax_Model_Sales_Quote_Address_Total_Tax extends Mage_Sales_Mode
587
 
588
  return $this->_address;
589
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
590
  }
61
 
62
  $store = $address->getQuote()->getStore();
63
 
64
+ $this->_resetItemsValues($address);
65
+
66
  //Added check for calculating tax for regions filtered in the admin
67
+ if (!$this->_isAddressActionable($address)
68
+ || !$address->hasItems()
69
+ || $this->_isFilteredRequest($store)
70
+ ) {
71
  return $this;
72
  }
73
 
235
  {
236
  if ($address->getAddressType() == Mage_Sales_Model_Quote_Address::TYPE_SHIPPING
237
  || $address->getUseForShipping()
238
+ || $this->_isBillingUseForShipping()
239
  ) {
240
  $shippingItem = new Varien_Object();
241
  $shippingItem->setId(Mage::helper('avatax/config')->getShippingSku($store->getId()));
340
  return $this;
341
  }
342
 
343
+ /**
344
+ * Reset items values
345
+ *
346
+ * @param \Mage_Sales_Model_Quote_Address $address
347
+ * @return $this
348
+ */
349
+ protected function _resetItemsValues(Mage_Sales_Model_Quote_Address $address)
350
+ {
351
+ /* @var $item Mage_Sales_Model_Quote_Item */
352
+ foreach ($address->getAllItems() as $item) {
353
+ $item->setTaxAmount(0);
354
+ $item->setBaseTaxAmount(0);
355
+ $item->setTaxPercent(0);
356
+
357
+ $item->setGwBaseTaxAmount(0);
358
+ $item->setGwTaxAmount(0);
359
+ }
360
+
361
+ return $this;
362
+ }
363
  /**
364
  * Reset address values
365
  *
544
  return Mage::helper('avatax');
545
  }
546
 
547
+ /**
548
+ * Is billing address use for shipping
549
+ *
550
+ * @return bool
551
+ */
552
+ protected function _isBillingUseForShipping()
553
+ {
554
+ $data = Mage::app()->getRequest()->getPost('billing', array());
555
+
556
+ return isset($data['use_for_shipping']) ? (bool)$data['use_for_shipping'] : false;
557
+ }
558
+
559
  /* BELOW ARE MAGE CORE PROPERTIES AND METHODS ADDED FOR OLDER VERSION COMPATABILITY */
560
 
561
  /**
625
 
626
  return $this->_address;
627
  }
628
+
629
+ /**
630
+ * Checks if is filtered request
631
+ *
632
+ * @param Mage_Core_Model_Store|int $store
633
+ * @return bool
634
+ */
635
+ protected function _isFilteredRequest($store)
636
+ {
637
+ if ($this->_getRequestFilterHelper()->isRequestFiltered($store)) {
638
+ return true;
639
+ }
640
+
641
+ return false;
642
+ }
643
+
644
+ /**
645
+ * Get request filter helper
646
+ *
647
+ * @return OnePica_AvaTax_Helper_RequestFilter
648
+ */
649
+ protected function _getRequestFilterHelper()
650
+ {
651
+ return Mage::helper('avatax/requestFilter');
652
+ }
653
  }
app/code/community/OnePica/AvaTax/Model/Service/Avatax/Estimate.php CHANGED
@@ -227,7 +227,9 @@ class OnePica_AvaTax_Model_Service_Avatax_Estimate
227
  $lineNumber = count($this->_lines);
228
  $storeId = $address->getQuote()->getStore()->getId();
229
  $taxClass = Mage::helper('tax')->getShippingTaxClass($storeId);
230
- $shippingAmount = (float)$address->getBaseShippingAmount();
 
 
231
 
232
  if ($this->_getTaxDataHelper()->applyTaxAfterDiscount($storeId)) {
233
  $shippingAmount -= (float)$address->getBaseShippingDiscountAmount();
@@ -236,7 +238,7 @@ class OnePica_AvaTax_Model_Service_Avatax_Estimate
236
  $line = new Line();
237
  $line->setNo($lineNumber);
238
  $shippingSku = $this->_getConfigHelper()->getShippingSku($storeId);
239
- $line->setItemCode($shippingSku ? $shippingSku : 'Shipping');
240
  $line->setDescription('Shipping costs');
241
  $line->setTaxCode($taxClass);
242
  $line->setQty(1);
227
  $lineNumber = count($this->_lines);
228
  $storeId = $address->getQuote()->getStore()->getId();
229
  $taxClass = Mage::helper('tax')->getShippingTaxClass($storeId);
230
+ $shippingAmount = max(
231
+ 0.0, (float)$address->getBaseShippingAmount()
232
+ );
233
 
234
  if ($this->_getTaxDataHelper()->applyTaxAfterDiscount($storeId)) {
235
  $shippingAmount -= (float)$address->getBaseShippingDiscountAmount();
238
  $line = new Line();
239
  $line->setNo($lineNumber);
240
  $shippingSku = $this->_getConfigHelper()->getShippingSku($storeId);
241
+ $line->setItemCode($shippingSku ?: 'Shipping');
242
  $line->setDescription('Shipping costs');
243
  $line->setTaxCode($taxClass);
244
  $line->setQty(1);
app/code/community/OnePica/AvaTax/Model/Service/Avatax16/Estimate.php CHANGED
@@ -352,7 +352,7 @@ class OnePica_AvaTax_Model_Service_Avatax16_Estimate extends OnePica_AvaTax_Mode
352
  /**
353
  * Adds shipping cost to request as item
354
  *
355
- * @param Mage_Sales_Model_Quote_Address
356
  * @return int
357
  */
358
  protected function _addShipping($address)
@@ -360,7 +360,9 @@ class OnePica_AvaTax_Model_Service_Avatax16_Estimate extends OnePica_AvaTax_Mode
360
  $lineNumber = $this->_getNewLineCode();
361
  $storeId = $address->getQuote()->getStore()->getId();
362
  $taxClass = Mage::helper('tax')->getShippingTaxClass($storeId);
363
- $shippingAmount = (float) $address->getBaseShippingAmount();
 
 
364
 
365
  if ($this->_getTaxDataHelper()->applyTaxAfterDiscount($storeId)) {
366
  $shippingAmount -= (float)$address->getBaseShippingDiscountAmount();
@@ -369,7 +371,7 @@ class OnePica_AvaTax_Model_Service_Avatax16_Estimate extends OnePica_AvaTax_Mode
369
  $line = $this->_getNewDocumentRequestLineObject();
370
  $line->setLineCode($lineNumber);
371
  $shippingSku = $this->_getConfigHelper()->getShippingSku($storeId);
372
- $line->setItemCode($shippingSku ? $shippingSku : self::DEFAULT_SHIPPING_ITEMS_SKU);
373
  $line->setItemDescription(self::DEFAULT_SHIPPING_ITEMS_DESCRIPTION);
374
  $line->setAvalaraGoodsAndServicesType($taxClass);
375
  $line->setNumberOfItems(1);
@@ -385,6 +387,7 @@ class OnePica_AvaTax_Model_Service_Avatax16_Estimate extends OnePica_AvaTax_Mode
385
  $this->_lines[$lineNumber] = $line;
386
  $this->_setLinesToRequest();
387
  $this->_lineToLineId[$lineNumber] = $shippingSku;
 
388
  return $lineNumber;
389
  }
390
 
352
  /**
353
  * Adds shipping cost to request as item
354
  *
355
+ * @param Mage_Sales_Model_Quote_Address $address
356
  * @return int
357
  */
358
  protected function _addShipping($address)
360
  $lineNumber = $this->_getNewLineCode();
361
  $storeId = $address->getQuote()->getStore()->getId();
362
  $taxClass = Mage::helper('tax')->getShippingTaxClass($storeId);
363
+ $shippingAmount = max(
364
+ 0.0, (float) $address->getBaseShippingAmount()
365
+ );
366
 
367
  if ($this->_getTaxDataHelper()->applyTaxAfterDiscount($storeId)) {
368
  $shippingAmount -= (float)$address->getBaseShippingDiscountAmount();
371
  $line = $this->_getNewDocumentRequestLineObject();
372
  $line->setLineCode($lineNumber);
373
  $shippingSku = $this->_getConfigHelper()->getShippingSku($storeId);
374
+ $line->setItemCode($shippingSku ?: self::DEFAULT_SHIPPING_ITEMS_SKU);
375
  $line->setItemDescription(self::DEFAULT_SHIPPING_ITEMS_DESCRIPTION);
376
  $line->setAvalaraGoodsAndServicesType($taxClass);
377
  $line->setNumberOfItems(1);
387
  $this->_lines[$lineNumber] = $line;
388
  $this->_setLinesToRequest();
389
  $this->_lineToLineId[$lineNumber] = $shippingSku;
390
+
391
  return $lineNumber;
392
  }
393
 
app/code/community/OnePica/AvaTax/Model/Source/Addressvalidation.php CHANGED
@@ -49,15 +49,15 @@ class OnePica_AvaTax_Model_Source_Addressvalidation
49
  return array(
50
  array(
51
  'value' => self::DISABLED,
52
- 'label' => Mage::helper('avatax')->__('Disabled')
53
  ),
54
  array(
55
  'value' => self::ENABLED_PREVENT_ORDER,
56
- 'label' => Mage::helper('avatax')->__('Enabled + Prevent Order')
57
  ),
58
  array(
59
  'value' => self::ENABLED_ALLOW_ORDER,
60
- 'label' => Mage::helper('avatax')->__('Enabled + Allow Order')
61
  )
62
  );
63
  }
49
  return array(
50
  array(
51
  'value' => self::DISABLED,
52
+ 'label' => Mage::helper('avatax')->__('Disable')
53
  ),
54
  array(
55
  'value' => self::ENABLED_PREVENT_ORDER,
56
+ 'label' => Mage::helper('avatax')->__('Enable + Prevent Order')
57
  ),
58
  array(
59
  'value' => self::ENABLED_ALLOW_ORDER,
60
+ 'label' => Mage::helper('avatax')->__('Enable + Allow Order')
61
  )
62
  );
63
  }
app/code/community/OnePica/AvaTax/Model/Source/Avatax/Logtype.php CHANGED
@@ -79,4 +79,20 @@ class OnePica_AvaTax_Model_Source_Avatax_Logtype
79
  )
80
  );
81
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  }
79
  )
80
  );
81
  }
82
+
83
+ /**
84
+ * Get log types array
85
+ *
86
+ * @return array
87
+ */
88
+ public function getLogTypes()
89
+ {
90
+ return array(
91
+ self::FILTER => self::FILTER,
92
+ self::GET_TAX => self::GET_TAX,
93
+ self::PING => self::PING,
94
+ self::QUEUE => self::QUEUE,
95
+ self::VALIDATE => self::VALIDATE,
96
+ );
97
+ }
98
  }
app/code/community/OnePica/AvaTax/Model/Source/Avatax16/Logtype.php CHANGED
@@ -88,4 +88,21 @@ class OnePica_AvaTax_Model_Source_Avatax16_Logtype
88
  )
89
  );
90
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  }
88
  )
89
  );
90
  }
91
+
92
+ /**
93
+ * Get log types array
94
+ *
95
+ * @return array
96
+ */
97
+ public function getLogTypes()
98
+ {
99
+ return array(
100
+ self::PING => self::PING,
101
+ self::QUEUE => self::QUEUE,
102
+ self::FILTER => self::FILTER,
103
+ self::VALIDATE => self::VALIDATE,
104
+ self::CALCULATION => self::CALCULATION,
105
+ self::TRANSACTION => self::TRANSACTION
106
+ );
107
+ }
108
  }
app/code/community/OnePica/AvaTax/Model/Source/Logtype.php CHANGED
@@ -26,19 +26,54 @@ class OnePica_AvaTax_Model_Source_Logtype
26
  {
27
  /**
28
  * Gets the list of type for the admin config dropdown
 
29
  * @return array
30
  * @throws OnePica_AvaTax_Exception
31
  */
32
  public function toOptionArray()
33
  {
34
- $activeService = Mage::helper('avatax/config')->getActiveService(Mage::app()->getStore());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  if (!$activeService) {
36
  throw new OnePica_AvaTax_Exception('Service source model is not defined.');
37
  }
 
38
  $model = Mage::getModel('avatax/source_' . $activeService . '_logtype');
 
39
  if (!$model) {
40
  throw new OnePica_AvaTax_Exception('Could not found source model ' . $activeService);
41
  }
42
- return $model->toArray();
 
 
 
 
 
 
 
 
 
 
 
43
  }
44
  }
26
  {
27
  /**
28
  * Gets the list of type for the admin config dropdown
29
+ *
30
  * @return array
31
  * @throws OnePica_AvaTax_Exception
32
  */
33
  public function toOptionArray()
34
  {
35
+ return $this->_getLogTypeModel()->toArray();
36
+ }
37
+
38
+ /**
39
+ * Get log types array
40
+ *
41
+ * @return array
42
+ */
43
+ public function getLogTypes()
44
+ {
45
+ return $this->_getLogTypeModel()->getLogTypes();
46
+ }
47
+
48
+ /**
49
+ * Get LogType source model
50
+ *
51
+ * @return false|OnePica_AvaTax_Model_Source_Avatax16_Logtype|OnePica_AvaTax_Model_Source_Avatax_Logtype
52
+ * @throws \OnePica_AvaTax_Exception
53
+ */
54
+ protected function _getLogTypeModel()
55
+ {
56
+ $activeService = $this->_getConfigHelper()->getActiveService(Mage::app()->getStore());
57
  if (!$activeService) {
58
  throw new OnePica_AvaTax_Exception('Service source model is not defined.');
59
  }
60
+
61
  $model = Mage::getModel('avatax/source_' . $activeService . '_logtype');
62
+
63
  if (!$model) {
64
  throw new OnePica_AvaTax_Exception('Could not found source model ' . $activeService);
65
  }
66
+
67
+ return $model;
68
+ }
69
+
70
+ /**
71
+ * Get config helper
72
+ *
73
+ * @return OnePica_AvaTax_Helper_Config
74
+ */
75
+ protected function _getConfigHelper()
76
+ {
77
+ return Mage::helper('avatax/config');
78
  }
79
  }
app/code/community/OnePica/AvaTax/etc/config.xml CHANGED
@@ -19,7 +19,7 @@
19
  <config>
20
  <modules>
21
  <OnePica_AvaTax>
22
- <version>3.0.1.10</version>
23
  </OnePica_AvaTax>
24
  </modules>
25
  <global>
@@ -198,6 +198,15 @@
198
  </avatax>
199
  </observers>
200
  </controller_front_init_before>
 
 
 
 
 
 
 
 
 
201
  <default>
202
  <observers>
203
  <avatax>
@@ -234,33 +243,6 @@
234
  </avatax>
235
  </observers>
236
  </controller_action_predispatch_checkout_multishipping_index>
237
- <controller_action_predispatch_checkout_cart_index>
238
- <observers>
239
- <avatax>
240
- <type>singleton</type>
241
- <class>avatax/observer_controllerActionPredispatchCheckoutCartIndex</class>
242
- <method>execute</method>
243
- </avatax>
244
- </observers>
245
- </controller_action_predispatch_checkout_cart_index>
246
- <controller_action_postdispatch_checkout_cart_estimatePost>
247
- <observers>
248
- <avatax>
249
- <type>singleton</type>
250
- <class>avatax/observer_controllerActionPostdispatchCheckoutCartEstimatePost</class>
251
- <method>execute</method>
252
- </avatax>
253
- </observers>
254
- </controller_action_postdispatch_checkout_cart_estimatePost>
255
- <controller_action_postdispatch_checkout_cart_estimateUpdatePost>
256
- <observers>
257
- <avatax>
258
- <type>singleton</type>
259
- <class>avatax/observer_controllerActionPostdispatchCheckoutCartEstimateUpdatePost</class>
260
- <method>execute</method>
261
- </avatax>
262
- </observers>
263
- </controller_action_postdispatch_checkout_cart_estimateUpdatePost>
264
  <sales_model_service_quote_submit_before>
265
  <observers>
266
  <avatax>
19
  <config>
20
  <modules>
21
  <OnePica_AvaTax>
22
+ <version>3.1.0.2</version>
23
  </OnePica_AvaTax>
24
  </modules>
25
  <global>
198
  </avatax>
199
  </observers>
200
  </controller_front_init_before>
201
+ <controller_action_layout_load_before>
202
+ <observers>
203
+ <avatax>
204
+ <type>singleton</type>
205
+ <class>avatax/observer_controllerActionLayoutLoadBefore</class>
206
+ <method>execute</method>
207
+ </avatax>
208
+ </observers>
209
+ </controller_action_layout_load_before>
210
  <default>
211
  <observers>
212
  <avatax>
243
  </avatax>
244
  </observers>
245
  </controller_action_predispatch_checkout_multishipping_index>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246
  <sales_model_service_quote_submit_before>
247
  <observers>
248
  <avatax>
app/code/community/OnePica/AvaTax/etc/system.xml CHANGED
@@ -53,6 +53,7 @@
53
  <show_in_default>1</show_in_default>
54
  <show_in_website>1</show_in_website>
55
  <show_in_store>1</show_in_store>
 
56
  </url>
57
  <account translate="label">
58
  <label>Account Number</label>
@@ -61,6 +62,7 @@
61
  <show_in_default>1</show_in_default>
62
  <show_in_website>1</show_in_website>
63
  <show_in_store>1</show_in_store>
 
64
  </account>
65
  <license translate="label">
66
  <label>Key</label>
@@ -69,6 +71,7 @@
69
  <show_in_default>1</show_in_default>
70
  <show_in_website>1</show_in_website>
71
  <show_in_store>1</show_in_store>
 
72
  </license>
73
  <company_code translate="label comment">
74
  <label>Company Code</label>
@@ -78,6 +81,7 @@
78
  <show_in_default>1</show_in_default>
79
  <show_in_website>1</show_in_website>
80
  <show_in_store>1</show_in_store>
 
81
  </company_code>
82
  <taxable_country translate="label">
83
  <label>Taxable Country</label>
@@ -88,6 +92,7 @@
88
  <show_in_default>1</show_in_default>
89
  <show_in_website>1</show_in_website>
90
  <show_in_store>1</show_in_store>
 
91
  </taxable_country>
92
  <region_filter_mode translate="label comment">
93
  <label>Filter Requests by Region</label>
@@ -107,6 +112,7 @@
107
  <show_in_default>1</show_in_default>
108
  <show_in_website>1</show_in_website>
109
  <show_in_store>1</show_in_store>
 
110
  <depends>
111
  <region_filter_mode separator="|">
112
  <value>1|2</value>
@@ -138,6 +144,7 @@
138
  <show_in_default>1</show_in_default>
139
  <show_in_website>0</show_in_website>
140
  <show_in_store>0</show_in_store>
 
141
  </log_lifetime>
142
  <queue_success_lifetime translate="label comment">
143
  <label>Successful Queue Lifetime</label>
@@ -147,6 +154,7 @@
147
  <show_in_default>1</show_in_default>
148
  <show_in_website>0</show_in_website>
149
  <show_in_store>0</show_in_store>
 
150
  </queue_success_lifetime>
151
  <queue_failed_lifetime translate="label comment">
152
  <label>Failed Queue Lifetime</label>
@@ -156,6 +164,7 @@
156
  <show_in_default>1</show_in_default>
157
  <show_in_website>0</show_in_website>
158
  <show_in_store>0</show_in_store>
 
159
  </queue_failed_lifetime>
160
 
161
  <log_type_list>
@@ -166,6 +175,7 @@
166
  <show_in_default>1</show_in_default>
167
  <show_in_website>0</show_in_website>
168
  <show_in_store>0</show_in_store>
 
169
  </log_type_list>
170
 
171
  <log_export>
@@ -203,6 +213,7 @@
203
  <show_in_default>1</show_in_default>
204
  <show_in_website>1</show_in_website>
205
  <show_in_store>1</show_in_store>
 
206
  </shipping_sku>
207
  <gw_order_sku translate="label comment">
208
  <label>Gift Wrap Order Sku</label>
@@ -212,6 +223,7 @@
212
  <show_in_default>1</show_in_default>
213
  <show_in_website>1</show_in_website>
214
  <show_in_store>1</show_in_store>
 
215
  </gw_order_sku>
216
  <gw_items_sku translate="label comment">
217
  <label>Gift Wrap Items Sku</label>
@@ -221,6 +233,7 @@
221
  <show_in_default>1</show_in_default>
222
  <show_in_website>1</show_in_website>
223
  <show_in_store>1</show_in_store>
 
224
  </gw_items_sku>
225
  <gw_printed_card_sku translate="label comment">
226
  <label>Gift Wrap Printed Card Sku</label>
@@ -230,6 +243,7 @@
230
  <show_in_default>1</show_in_default>
231
  <show_in_website>1</show_in_website>
232
  <show_in_store>1</show_in_store>
 
233
  </gw_printed_card_sku>
234
  <adjustment_positive_sku translate="label comment">
235
  <label>Adjustment Refund Sku</label>
@@ -239,6 +253,7 @@
239
  <show_in_default>1</show_in_default>
240
  <show_in_website>1</show_in_website>
241
  <show_in_store>1</show_in_store>
 
242
  </adjustment_positive_sku>
243
  <adjustment_negative_sku translate="label comment">
244
  <label>Adjustment Fee Sku</label>
@@ -248,6 +263,7 @@
248
  <show_in_default>1</show_in_default>
249
  <show_in_website>1</show_in_website>
250
  <show_in_store>1</show_in_store>
 
251
  </adjustment_negative_sku>
252
  <sales_person_code translate="label comment">
253
  <label>Sales Person Code</label>
@@ -417,13 +433,14 @@
417
  <show_in_store>1</show_in_store>
418
  </title_request_settings>
419
  <field_required_list>
420
- <label>Required Fileds</label>
421
  <frontend_type>multiselect</frontend_type>
422
  <source_model>avatax/source_fieldlist</source_model>
423
  <sort_order>350</sort_order>
424
  <show_in_default>1</show_in_default>
425
  <show_in_website>1</show_in_website>
426
  <show_in_store>1</show_in_store>
 
427
  </field_required_list>
428
  <field_rule>
429
  <label>Field Rule</label>
@@ -478,6 +495,42 @@
478
  <show_in_website>0</show_in_website>
479
  <show_in_store>0</show_in_store>
480
  </error_notification_toolbar>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
481
  </fields>
482
  </avatax>
483
  <classes>
53
  <show_in_default>1</show_in_default>
54
  <show_in_website>1</show_in_website>
55
  <show_in_store>1</show_in_store>
56
+ <validate>required-entry</validate>
57
  </url>
58
  <account translate="label">
59
  <label>Account Number</label>
62
  <show_in_default>1</show_in_default>
63
  <show_in_website>1</show_in_website>
64
  <show_in_store>1</show_in_store>
65
+ <validate>required-entry</validate>
66
  </account>
67
  <license translate="label">
68
  <label>Key</label>
71
  <show_in_default>1</show_in_default>
72
  <show_in_website>1</show_in_website>
73
  <show_in_store>1</show_in_store>
74
+ <validate>required-entry</validate>
75
  </license>
76
  <company_code translate="label comment">
77
  <label>Company Code</label>
81
  <show_in_default>1</show_in_default>
82
  <show_in_website>1</show_in_website>
83
  <show_in_store>1</show_in_store>
84
+ <validate>required-entry</validate>
85
  </company_code>
86
  <taxable_country translate="label">
87
  <label>Taxable Country</label>
92
  <show_in_default>1</show_in_default>
93
  <show_in_website>1</show_in_website>
94
  <show_in_store>1</show_in_store>
95
+ <can_be_empty>1</can_be_empty>
96
  </taxable_country>
97
  <region_filter_mode translate="label comment">
98
  <label>Filter Requests by Region</label>
112
  <show_in_default>1</show_in_default>
113
  <show_in_website>1</show_in_website>
114
  <show_in_store>1</show_in_store>
115
+ <can_be_empty>1</can_be_empty>
116
  <depends>
117
  <region_filter_mode separator="|">
118
  <value>1|2</value>
144
  <show_in_default>1</show_in_default>
145
  <show_in_website>0</show_in_website>
146
  <show_in_store>0</show_in_store>
147
+ <validate>required-entry</validate>
148
  </log_lifetime>
149
  <queue_success_lifetime translate="label comment">
150
  <label>Successful Queue Lifetime</label>
154
  <show_in_default>1</show_in_default>
155
  <show_in_website>0</show_in_website>
156
  <show_in_store>0</show_in_store>
157
+ <validate>required-entry</validate>
158
  </queue_success_lifetime>
159
  <queue_failed_lifetime translate="label comment">
160
  <label>Failed Queue Lifetime</label>
164
  <show_in_default>1</show_in_default>
165
  <show_in_website>0</show_in_website>
166
  <show_in_store>0</show_in_store>
167
+ <validate>required-entry</validate>
168
  </queue_failed_lifetime>
169
 
170
  <log_type_list>
175
  <show_in_default>1</show_in_default>
176
  <show_in_website>0</show_in_website>
177
  <show_in_store>0</show_in_store>
178
+ <can_be_empty>1</can_be_empty>
179
  </log_type_list>
180
 
181
  <log_export>
213
  <show_in_default>1</show_in_default>
214
  <show_in_website>1</show_in_website>
215
  <show_in_store>1</show_in_store>
216
+ <validate>required-entry</validate>
217
  </shipping_sku>
218
  <gw_order_sku translate="label comment">
219
  <label>Gift Wrap Order Sku</label>
223
  <show_in_default>1</show_in_default>
224
  <show_in_website>1</show_in_website>
225
  <show_in_store>1</show_in_store>
226
+ <validate>required-entry</validate>
227
  </gw_order_sku>
228
  <gw_items_sku translate="label comment">
229
  <label>Gift Wrap Items Sku</label>
233
  <show_in_default>1</show_in_default>
234
  <show_in_website>1</show_in_website>
235
  <show_in_store>1</show_in_store>
236
+ <validate>required-entry</validate>
237
  </gw_items_sku>
238
  <gw_printed_card_sku translate="label comment">
239
  <label>Gift Wrap Printed Card Sku</label>
243
  <show_in_default>1</show_in_default>
244
  <show_in_website>1</show_in_website>
245
  <show_in_store>1</show_in_store>
246
+ <validate>required-entry</validate>
247
  </gw_printed_card_sku>
248
  <adjustment_positive_sku translate="label comment">
249
  <label>Adjustment Refund Sku</label>
253
  <show_in_default>1</show_in_default>
254
  <show_in_website>1</show_in_website>
255
  <show_in_store>1</show_in_store>
256
+ <validate>required-entry</validate>
257
  </adjustment_positive_sku>
258
  <adjustment_negative_sku translate="label comment">
259
  <label>Adjustment Fee Sku</label>
263
  <show_in_default>1</show_in_default>
264
  <show_in_website>1</show_in_website>
265
  <show_in_store>1</show_in_store>
266
+ <validate>required-entry</validate>
267
  </adjustment_negative_sku>
268
  <sales_person_code translate="label comment">
269
  <label>Sales Person Code</label>
433
  <show_in_store>1</show_in_store>
434
  </title_request_settings>
435
  <field_required_list>
436
+ <label>Required Fields</label>
437
  <frontend_type>multiselect</frontend_type>
438
  <source_model>avatax/source_fieldlist</source_model>
439
  <sort_order>350</sort_order>
440
  <show_in_default>1</show_in_default>
441
  <show_in_website>1</show_in_website>
442
  <show_in_store>1</show_in_store>
443
+ <can_be_empty>1</can_be_empty>
444
  </field_required_list>
445
  <field_rule>
446
  <label>Field Rule</label>
495
  <show_in_website>0</show_in_website>
496
  <show_in_store>0</show_in_store>
497
  </error_notification_toolbar>
498
+ <title_limit_gettax_request translate="label">
499
+ <label><![CDATA[<strong>Limit tax calculation requests</strong>]]></label>
500
+ <frontend_type>label</frontend_type>
501
+ <sort_order>450</sort_order>
502
+ <show_in_default>1</show_in_default>
503
+ <show_in_website>1</show_in_website>
504
+ <show_in_store>1</show_in_store>
505
+ </title_limit_gettax_request>
506
+ <limit_gettax_request_on_checkout_onepage_actions translate="label comment">
507
+ <label>Limit tax calculation requests on OneStep checkout</label>
508
+ <comment>Pay Attention. If any custom checkout (like OneStep Checkout) or some modification is used, this may not work properly and is recommended to be disabled.</comment>
509
+ <frontend_type>select</frontend_type>
510
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
511
+ <sort_order>460</sort_order>
512
+ <show_in_default>1</show_in_default>
513
+ <show_in_website>1</show_in_website>
514
+ <show_in_store>1</show_in_store>
515
+ </limit_gettax_request_on_checkout_onepage_actions>
516
+ <limit_gettax_request_on_multishipping_checkout_actions translate="label">
517
+ <label>Limit tax calculation requests on Multi-Address Checkout</label>
518
+ <frontend_type>select</frontend_type>
519
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
520
+ <sort_order>470</sort_order>
521
+ <show_in_default>1</show_in_default>
522
+ <show_in_website>1</show_in_website>
523
+ <show_in_store>1</show_in_store>
524
+ </limit_gettax_request_on_multishipping_checkout_actions>
525
+ <limit_gettax_request_on_noncheckout_actions translate="label">
526
+ <label>Disable tax calculation requests on non-checkout actions</label>
527
+ <frontend_type>select</frontend_type>
528
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
529
+ <sort_order>480</sort_order>
530
+ <show_in_default>1</show_in_default>
531
+ <show_in_website>1</show_in_website>
532
+ <show_in_store>1</show_in_store>
533
+ </limit_gettax_request_on_noncheckout_actions>
534
  </fields>
535
  </avatax>
536
  <classes>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>OnePica_AvaTax</name>
4
- <version>3.0.1</version>
5
  <stability>stable</stability>
6
  <license>Open Software License (OSL 3.0)</license>
7
  <channel>community</channel>
@@ -18,11 +18,15 @@ Released as a commercial extension, this software will not work unless you have
18
  &#xD;
19
  &#xD;
20
  At One Pica (www.onepica.com), we strive to build increasingly scalable and flexible enterprise systems for all of our clients, large and small. We want to give back to this community both to promote its success and as a sign of our gratitude. Please feel free to contact us on ways we can improve this extension or extend on this framework.</description>
21
- <notes>Fixed tax calculation for bundle products</notes>
 
 
 
 
22
  <authors><author><name>Rostyslav Redko</name><user>marketing</user><email>avalara@onepica.com</email></author></authors>
23
- <date>2016-03-23</date>
24
- <time>10:14:52</time>
25
- <contents><target name="magecommunity"><dir name="OnePica"><dir name="AvaTax"><dir name="Block"><dir name="Adminhtml"><dir name="Export"><dir name="Abstract"><file name="Grid.php" hash="5f96ca490c5f7bd3fac23e30b00336e5"/></dir><dir name="Log"><file name="Grid.php" hash="311c55d8bc770e6d6aa6f377c2eee6fd"/><file name="View.php" hash="097d82a3e2b1a8820d335a63f212451b"/></dir><dir name="Queue"><file name="Grid.php" hash="1ef8ba9bf3e0870ea6dc50bb202a0b91"/></dir></dir><dir name="Notification"><file name="Toolbar.php" hash="26f7e382432289c3ff07647141cf9324"/></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Export.php" hash="3e019b9551b95c71f4cfd67a14d62a27"/></dir></dir></dir></dir><dir name="Tax"><dir name="Class"><dir name="Edit"><file name="Form.php" hash="0e78c592366ee2746f3891cf91a388d3"/></dir><file name="Grid.php" hash="d731eb160457b8a22cfcd28682a1c485"/></dir></dir></dir><dir name="Checkout"><dir name="Onepage"><dir name="Shipping"><dir name="Method"><file name="Available.php" hash="a0bdc5f63955148cf7e755c8803e01de"/></dir></dir></dir></dir></dir><file name="Exception.php" hash="fc752f8da808a402baae2425c4072d22"/><dir name="Helper"><file name="Address.php" hash="df731a75957cf712d0b1410b1d831dd6"/><file name="Calculation.php" hash="3a3bcbd4a33a061700c495a14afd8b3a"/><file name="Config.php" hash="b7a48f682638fca9b53e2db1460e45f4"/><file name="Data.php" hash="111f31427c4cc0d77830643b7271b08c"/><file name="Errors.php" hash="1fc34a932db296ecd1617a4e50e150d7"/><dir name="GiftWrapping"><file name="Data.php" hash="a336949d2849baa874f280c7a16316f5"/></dir><file name="Lib.php" hash="ce05e31b4aba7ba84bfc016df8c2a559"/><dir name="Tax"><file name="Data.php" hash="ce4688b06cabe61ac43993fc77a175ca"/></dir></dir><dir name="Model"><dir name="Action"><file name="Abstract.php" hash="de2bc126be0cfe69ffe6af60a8307d16"/><file name="Calculator.php" hash="5c5776e4f6cd95f0daf3d4fa9d45224f"/><file name="Creditmemo.php" hash="23639271a8fad749a3ee3a13fc8b0b27"/><file name="Invoice.php" hash="20458660bda4a277c0677b1406feb481"/><file name="Ping.php" hash="7e08308fff72493e0cb75b9244551de6"/><file name="Validator.php" hash="595d79c22f3027b89498b5c004b8be2b"/></dir><dir name="Admin"><file name="Session.php" hash="e3dc3353c7eebf4e17c22ea4039585c5"/></dir><dir name="Adminhtml"><file name="Config.php" hash="388f532f03fa8dacc9fde122a2fe0c64"/><dir name="Sales"><dir name="Order"><file name="Create.php" hash="2a1b42b629b8da1373e11860c4a2c8c0"/></dir></dir></dir><dir name="Export"><dir name="Adapter"><file name="Abstract.php" hash="840c8b87acd97646572bba9bb3b8f5ea"/><file name="Sql.php" hash="0e9bedb400f411785311f78ebbf676da"/></dir><dir name="Entity"><file name="Abstract.php" hash="d38a2293452c31e92f81bf5be59c3e1c"/><file name="Log.php" hash="a1dd28eee3e72d1a4ef7bddd865ddbae"/><file name="Queue.php" hash="14a97c283aa74f97982ab71160017aa3"/></dir></dir><file name="Export.php" hash="b94613b678b413d6268b07d314ba122e"/><dir name="Observer"><file name="Abstract.php" hash="4cef8e34c047b97e34ab08b0c937082c"/><file name="AdminSystemConfigChangedSectionTax.php" hash="e0e703abb46b48185dc6dda2944b89cc"/><file name="CheckoutSubmitAllAfter.php" hash="4ee09c54a9098b568dac726964d782c0"/><file name="CheckoutTypeMultishippingCreateOrdersSingle.php" hash="eeaffffddd4e2ce387325dfb58381a77"/><file name="CleanLog.php" hash="4043bb0a3df982b756bfb1dfab5d56de"/><file name="ControllerActionLayoutGenerateXmlBefore.php" hash="d533cdc23c1749c87bccdb1e8fd7f947"/><file name="ControllerActionPostdispatchCheckoutCartEstimatePost.php" hash="5b2facd906e8fb33a49f23c7f3fe36b7"/><file name="ControllerActionPostdispatchCheckoutCartEstimateUpdatePost.php" hash="4006ae1c1074915312301260ed88925c"/><file name="ControllerActionPostdispatchCheckoutOnepageSaveShippingMethod.php" hash="0b600e585f4b008e457995676019c2b4"/><file name="ControllerActionPredispatchAdminhtmlSalesOrderCreateLoadBlock.php" hash="07ef318adffde6bba762da8300e17324"/><file name="ControllerActionPredispatchCheckoutCartEstimatePost.php" hash="2b2cce8f619488fd795a027b80d20d2a"/><file name="ControllerActionPredispatchCheckoutCartIndex.php" hash="ec46c279439967df90395882a5804de1"/><file name="ControllerActionPredispatchCheckoutMultishippingIndex.php" hash="d6d7a1d0272c51f3ec4cacbce8574da3"/><file name="ControllerActionPredispatchCheckoutOnepageIndex.php" hash="01c4280273e34a2f82ed6764792f3568"/><file name="LoadAvaTaxExternalLib.php" hash="0b10ed2f15ef8202362f4828fad15262"/><file name="MultishippingSetShippingItems.php" hash="e4a1f3c4e1506797692a7b7d2dc23217"/><file name="ProcessQueue.php" hash="35375793d039f6848e7b2af05e0eef41"/><file name="SalesModelServiceQuoteSubmitAfter.php" hash="6499cfe8e1c9176b12af58c0bce331eb"/><file name="SalesModelServiceQuoteSubmitBefore.php" hash="4e67278a1c20a969f8709237f817b6e0"/><file name="SalesOrderCreditmemoRefund.php" hash="3e9049e39b53ec06b8aa1ab274d1e00d"/><file name="SalesOrderCreditmemoSaveAfter.php" hash="a01af2f4a66912383b772be42fddbdea"/><file name="SalesOrderInvoicePay.php" hash="ac7884c312f986d123912f01346b031a"/><file name="SalesOrderInvoiceSaveAfter.php" hash="00279b77e0a3bbac120b9248d6f9223d"/><file name="SalesQuoteCollectTotalsBefore.php" hash="c0ae978e4895cec8a1b4c1ec2a3a5522"/></dir><dir name="Records"><file name="Log.php" hash="32926db85023ad21ea6179bf4ad77ef4"/><dir name="Mysql4"><dir name="Log"><file name="Collection.php" hash="29db8163f4dda862ff822ddffd04554d"/></dir><file name="Log.php" hash="d6fb7997768b7e0f1b39363fd4de5917"/><dir name="Queue"><file name="Collection.php" hash="11bba1561c81f39695f091b94bd81560"/></dir><file name="Queue.php" hash="12ba62949dab080c6dc6ae7fcbbf4838"/></dir><dir name="Queue"><file name="Process.php" hash="82d837f47b78b4a037938dd88dfe3217"/></dir><file name="Queue.php" hash="2906b0c99e686f2e85169cbd49c8af2e"/></dir><dir name="Sales"><dir name="Quote"><dir name="Address"><dir name="Total"><file name="Tax.php" hash="4d1e38d489de55c889e206ffd42c39a0"/></dir></dir><file name="Address.php" hash="7a9717d123bba20ce14144b80d1da5da"/></dir></dir><dir name="Service"><dir name="Abstract"><file name="Config.php" hash="2b5ebe4312f82b0c13b03db2c261964f"/><file name="Tools.php" hash="8338336a7dccd05c3956f93363a35d6d"/></dir><file name="Abstract.php" hash="29cee53a912adeb0f682bc931972823d"/><dir name="Avatax"><file name="Abstract.php" hash="629fc49a518505a87f1548c3b29ef666"/><file name="Address.php" hash="5f6d2257e4132a436dff7cc0cc08eb67"/><file name="Config.php" hash="25198070b781c8ce632b4f3d3c3b21e0"/><file name="Estimate.php" hash="1d401a859b2362203c517e692e5147f2"/><file name="Invoice.php" hash="856a2a33ee05d1f58bd5cde0171b3254"/><file name="Ping.php" hash="8dd09babe7e8b206564544b2ace9a661"/><file name="Tax.php" hash="3002e239f7f5a84f3377d288861cf4d2"/></dir><file name="Avatax.php" hash="b6fa49f95a3ab05546bd597689a14ed7"/><dir name="Avatax16"><file name="Abstract.php" hash="9b061b6d7bebc7539efa4a33789c23e2"/><file name="Address.php" hash="834681944f93504537e26217f9690cd5"/><file name="Config.php" hash="34c888b2db0c2c72bfea6ddad0dbf053"/><file name="Estimate.php" hash="0a56014549d00c2658ee3c9f0a08d6cc"/><file name="Invoice.php" hash="dd62073b8f573932c3ee9c5cb8fffe0b"/><file name="Ping.php" hash="853a6c8078296263adc241befc5eaa92"/><file name="Tax.php" hash="0680fb53318af5eac219909162657037"/></dir><file name="Avatax16.php" hash="cd3743c413edb08904781900c0064eaf"/><dir name="Exception"><file name="Address.php" hash="2519f1a2b302db97337c933d99a6d116"/><file name="Commitfailure.php" hash="7f0c5a5bf9242651d2542336d0b4cb96"/><file name="Unbalanced.php" hash="43595e010b314e8a91dd0fef4fad96c2"/></dir><dir name="Result"><file name="Address.php" hash="7a711e27f7f5e478a8a290a1880586f6"/><file name="AddressValidate.php" hash="62d14d7f4147b83001ef7f64726276c1"/><file name="Creditmemo.php" hash="8b1ac1eda1a522c70bca574b938c6359"/><file name="Invoice.php" hash="83f157b7fd24e5e6c0b51f6a162ee316"/></dir></dir><file name="Service.php" hash="7fda34c9ce1db70ae9757561d505a5b7"/><file name="Session.php" hash="429142089e75418a702e70edc56374cf"/><dir name="Source"><file name="Actions.php" hash="b5392f0820f15c3159e76ea67148992a"/><file name="Addressvalidation.php" hash="9f2315018910f7336ad894156d49d9b9"/><dir name="Avatax"><file name="Actions.php" hash="c72aa0df9013c6d5c5fddc0c4b4027b0"/><file name="Logtype.php" hash="6fde0a0dda9a7884bb13484ffa244409"/><file name="Url.php" hash="cff45c6a590360711867112533b068d8"/></dir><dir name="Avatax16"><file name="Actions.php" hash="86b7d4067faad9478f9b61101d0fd6ae"/><file name="Buyertype.php" hash="6b029a7bbacc0eda36ed4fbb6f6e467b"/><file name="Logtype.php" hash="09ddc0a3106e206e90ed45d8a2539d78"/><file name="Url.php" hash="ef6524ae8f04b9cc63f0f6e8ba4e63ea"/><file name="Usetype.php" hash="107c03d384fb6a8b990e4c16f49fab87"/></dir><file name="Customercodeformat.php" hash="cfcfcbaa27ed29add072324816da0c9d"/><file name="Error.php" hash="7f5495a2f295ded2d0a30f2f7108d009"/><file name="Fieldlist.php" hash="18987603d4d58130959a8ac76716ed08"/><file name="Logmode.php" hash="24d61da578a3b4adb896fea7d4d4d8ec"/><file name="Logtype.php" hash="25dce563940ac9763e642e3e96365043"/><file name="Onerrorfrontend.php" hash="ef4154ae563d8157c1083f20e0adf563"/><dir name="Regionfilter"><file name="List.php" hash="d73ebe7197a2c6cfa45d52775d6f0977"/><file name="Mode.php" hash="2216d28bf9adba614025538cc62a49b6"/></dir><file name="Url.php" hash="794ec57a2b350931f70e95eb6677c253"/></dir><dir name="Tax"><file name="Calculation.php" hash="8b3ad0ace3967a13364d1475e286b70c"/><file name="Config.php" hash="dfb1ff41c23ed30dc29013dd73a89896"/></dir><dir name="Total"><dir name="Quote"><dir name="Tax"><file name="Giftwrapping.php" hash="7b264455ac9084a751468ef6dbc36fe5"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="AvaTax"><file name="ExportController.php" hash="ead5ebea03db8f885d0ec6114dcb185c"/><file name="GridController.php" hash="5c7e822890a6feaec2db348e6c5a19e1"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="aca07ae89478c72fd1d2d41228c28b8e"/><file name="config.xml" hash="7a5da0ea3fce370c91d9f433851a4006"/><file name="system-avatax16-disabled.xml" hash="b24027def3daab9000047bf7fee41c4f"/><file name="system-avatax16.xml" hash="b5a9543409521633ceec2af4d9c5d1b7"/><file name="system-disabled.xml" hash="f0643182c8bd62674ae091104d6e500e"/><file name="system.xml" hash="5b78ba9932b776c2ce49692d0e51c58c"/></dir><dir name="sql"><dir name="avatax_records_setup"><file name="mysql4-data-upgrade-2.2.0-2.2.1.php" hash="260d1c57754ebadba00d8ccdbb0ec996"/><file name="mysql4-install-0.1.0.php" hash="3d16899179b36bfde69609a99a2faae6"/><file name="mysql4-upgrade-0.1.4-0.1.5.php" hash="94d0cf2fc0e9bbe2de2829198ce3026f"/><file name="mysql4-upgrade-1.0.1-2.0.0.php" hash="905d7519328cdb1c46bba4221288c41c"/><file name="mysql4-upgrade-2.5.0.0-2.5.0.1.php" hash="4b439957397049bbe01d458fd7cfe0a2"/><file name="mysql4-upgrade-3.0.0.1-3.0.0.2.php" hash="46caa743f17221575b4a639b262a9275"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="OnePica_AvaTax.xml" hash="07fd9423811b4dc084060d6131b889d7"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="onepica"><file name="avatax.xml" hash="de338ca651fcce096d089b2bbbcc1374"/></dir></dir><dir name="template"><dir name="onepica"><dir name="avatax"><dir name="log"><file name="view.phtml" hash="df14eee805bbedd484cf500dbf2335ed"/></dir><dir name="notification"><file name="toolbar.phtml" hash="fd368e043843df76ec3a74290b87dc3e"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="onepica"><file name="avatax.xml" hash="38c6ce2165f6ccfd6641eb1487faad39"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir><dir name="en_US"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir><dir name="es_ES"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir><dir name="fr_FR"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir><dir name="nl_NL"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir><dir name="pt_BR"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir><dir name="zh_CN"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir></target><target name="magelib"><dir name="AvaTax"><file name="AvaTax.php" hash="46bf3fb7795482b7494b2fdc266af3bc"/><dir name="classes"><file name="ATConfig.class.php" hash="dd1c39643f677e0c3b612c549686812c"/><file name="ATObject.class.php" hash="83359fd7639c98449836dc11d08c899d"/><file name="Address.class.php" hash="68bf4fe1306a60e672b7345a0dc7fcc6"/><file name="AddressServiceSoap.class.php" hash="c59bf4a586da207611f7bace4f08c880"/><file name="AddressType.class.php" hash="62c9ff3c533aaf5ad1fd4de95702be40"/><file name="AdjustTaxRequest.class.php" hash="47dbfa8044ca893bf214d8e71ab4864e"/><file name="AdjustTaxResult.class.php" hash="cf63aa5b7c3b52b3ec86695c4cdf0fcc"/><file name="ApplyPaymentRequest.class.php" hash="69d69dff63cbd284d8aea62247142692"/><file name="ApplyPaymentResult.class.php" hash="0e37bda0f1221c2ed2432717a2d8cc08"/><dir name="AvaCert2Svc"><file name="AvaCert2Soap.class.php" hash="0567793d9e4e496b45c3e8a0459f944a"/><file name="Certificate.class.php" hash="dd3f0dd2a2b03c97552f9dbd5c6463ba"/><file name="CertificateGetRequest.class.php" hash="4c11fd111cab99fa4dbc2c2250e0f3ad"/><file name="CertificateGetResult.class.php" hash="6a95a06e71bd13839c6142bba08bfba5"/><file name="CertificateImageGetRequest.class.php" hash="32f61011abe3d1c74ea7fc209e3e4224"/><file name="CertificateImageGetResult.class.php" hash="beda0f1fd54951b84b7dd77ead92bda3"/><file name="CertificateJurisdiction.class.php" hash="e666d572fb34d17fcd91127a50616195"/><file name="CertificateRequest.class.php" hash="7b76dc3675e507975ae6cf01abfa6059"/><file name="CertificateRequestGetRequest.class.php" hash="0cf2fafae88f795a754d75291947cb56"/><file name="CertificateRequestGetResult.class.php" hash="eceffe3acec787506649669b1b5edcf7"/><file name="CertificateRequestInitiateRequest.class.php" hash="148a5c4c881c885be863f403582b4974"/><file name="CertificateRequestInitiateResult.class.php" hash="a7a55cb398cd2fb9f0e11b8c6b09498d"/><file name="CertificateRequestStage.class.php" hash="92dec7da28f83f1a419d9573e6cec1fa"/><file name="CertificateRequestStatus.class.php" hash="a5d5c1629ce4f5ee0c18a8924204ca22"/><file name="CertificateStatus.class.php" hash="6ae43ab57ae9df37d07ac4203270c25e"/><file name="CertificateUsage.class.php" hash="bad34570daa7679b267f1288bf0a371f"/><file name="CommunicationMode.class.php" hash="71d2743c1d2afffe11d2903e89ff9c0e"/><file name="Customer.class.php" hash="e9f13f38f75cb4e1b845c55e6f26a5ab"/><file name="CustomerSaveRequest.class.php" hash="58ff71b04bb3a308b7f0199c6fae1e56"/><file name="CustomerSaveResult.class.php" hash="98cf79bdb7c0558963670b21e66b7d85"/><file name="FormatType.class.php" hash="714d183d3d365a07ef606d1211c732b0"/><file name="RequestType.class.php" hash="6144c2731baaf67400ea34e50440c1df"/><file name="ReviewStatus.class.php" hash="0dd208ecbf6b45196f51f304b1d48b03"/></dir><file name="AvalaraSoapClient.class.php" hash="dd605cefabb4396ef1b46b6d23b439b5"/><file name="BaseResult.class.php" hash="85d2c23ecc62bf4b828d04f405f83d37"/><dir name="BatchSvc"><file name="AuditMessage.class.php" hash="798d8169506357af02e6912b4bca9148"/><file name="AvaTaxBatchSvc.php" hash="8d65fd4a02cd4fc1104aa9c24b35e4fb"/><file name="BaseResult.class.php" hash="727ef623b821e95a73cf6d1eda891379"/><file name="Batch.class.php" hash="c028822bcf2a4f1fae6fc7dca76f247a"/><file name="BatchDelete.class.php" hash="0bcff09309ccad969d65c2d27fa63dda"/><file name="BatchDeleteResponse.class.php" hash="46afd464673459efb54ccaf509d37eef"/><file name="BatchFetch.class.php" hash="74f96ecc3c2df87271d60c4c969e43f8"/><file name="BatchFetchResponse.class.php" hash="b2acf63deea2c0fd374f80745b60fef5"/><file name="BatchFetchResult.class.php" hash="83d8de067f4bd59acafe4cd065f90163"/><file name="BatchFile.class.php" hash="65cee20383c8040fac1d4c45bbe757dd"/><file name="BatchFileDelete.class.php" hash="01d0bc10cb0ada43a9a00ca0efffef17"/><file name="BatchFileDeleteResponse.class.php" hash="b4e7881d26b7071303650973144f418b"/><file name="BatchFileFetch.class.php" hash="c5e91b8073fb756545d0f74803fdf3d6"/><file name="BatchFileFetchResponse.class.php" hash="c37ce819a975cdae5e7a82432b4b2334"/><file name="BatchFileFetchResult.class.php" hash="6bc54523d34356a83cdc4ecd2f696ea5"/><file name="BatchFileSave.class.php" hash="8434b0ffdd1fba4991535248ee3d618e"/><file name="BatchFileSaveResponse.class.php" hash="d52f79b42467b59f2177359f8a73cd3a"/><file name="BatchFileSaveResult.class.php" hash="19d3a2f20ccc42e80759b280842cf03c"/><file name="BatchProcess.class.php" hash="44d9efe13d01fce15bd444e5729b320c"/><file name="BatchProcessRequest.class.php" hash="04684b987c6d77319cc6881941091de9"/><file name="BatchProcessResponse.class.php" hash="c22b08c125eefc4006495c55984ed91e"/><file name="BatchProcessResult.class.php" hash="f9cac2270aafae49fc0892ea729c3713"/><file name="BatchSave.class.php" hash="d3a397348b905d49a0c91be780f3ec04"/><file name="BatchSaveResponse.class.php" hash="4c3088b85590fd697b5686aa1dddd89e"/><file name="BatchSaveResult.class.php" hash="7ea7fe3dc7d580711f6b52d991c43dce"/><file name="BatchSvc.class.php" hash="fa903f70b06d1e3b86384f2b6fb60616"/><file name="DeleteRequest.class.php" hash="43f945ef1e59ef02494df6df6ec3d1b6"/><file name="DeleteResult.class.php" hash="f7d64582f1182ae0337d6d84a5f60e8d"/><file name="FetchRequest.class.php" hash="7271317a8909672261ea0e00867e810b"/><file name="FilterRequest.class.php" hash="3c1eaec68f84531931a3cd6143533576"/><file name="FilterResult.class.php" hash="f4c0eeac0153b735ec589fcff7accd86"/><file name="IsAuthorized.class.php" hash="8339a2b249d954efaaf64f10665976fc"/><file name="IsAuthorizedResponse.class.php" hash="613c91f36370dc38ca07b83a29f2a45f"/><file name="IsAuthorizedResult.class.php" hash="65f9665508a5e7f33e4aee2835a9806e"/><file name="Message.class.php" hash="576327c8d9cd74bd96d9ccd62a2daa5b"/><file name="Ping.class.php" hash="3a2246f5557a5279fa260c65b36a9b44"/><file name="PingResponse.class.php" hash="b9f5e8b43382ee605d93768db8af1805"/><file name="PingResult.class.php" hash="2e05acfe74aad28003ad7d8ed102c3c6"/><file name="Profile.class.php" hash="a16a4819018dd8510ddab8feb9ee0f7e"/><file name="SeverityLevel.class.php" hash="5736530f3b5fd0cd932c783418563647"/></dir><file name="BoundaryLevel.class.php" hash="e9c2f2e3173e44fa8351f2a6dbb578fe"/><file name="CancelCode.class.php" hash="fd0b8ad2865e8fcf622b1faafc677527"/><file name="CancelTaxRequest.class.php" hash="08a114e32ec9eda9268ec337f79cb86f"/><file name="CancelTaxResult.class.php" hash="687be65bab85e6c6e8f99764c0475d9b"/><file name="CommitTaxRequest.class.php" hash="66ef55bc094d233b75e36b029995aed7"/><file name="CommitTaxResult.class.php" hash="ef90276817207e63e4e96ea518618f50"/><file name="DetailLevel.class.php" hash="2439f7137a4f9f52e28a6b321c4bcf16"/><file name="DocStatus.class.php" hash="9e3384a0f2ace05fa67fe05eba295fcd"/><file name="DocumentType.class.php" hash="94b4509b914d638a94f946b5518b8993"/><file name="DynamicSoapClient.class.php" hash="5bb36f2d4db3955ae059488eb9511ca9"/><file name="Enum.class.php" hash="d3ff4c898aff49f3c425042433826257"/><file name="GetTaxHistoryRequest.class.php" hash="3ed4c54de1e015f476ce7aa58c802468"/><file name="GetTaxHistoryResult.class.php" hash="7e8209e1f64df52b538927312b1bd934"/><file name="GetTaxRequest.class.php" hash="a3343ef6a1e27e48c9a75aa9e02777c4"/><file name="GetTaxResult.class.php" hash="7e2b7415a018fd76b62ab49637833533"/><file name="IsAuthorizedResult.class.php" hash="58164457677a61e93309f788fe61dc0c"/><file name="JurisdictionType.class.php" hash="a345fe5db379af87a6f7ec833ff86586"/><file name="Line.class.php" hash="7fefbd0230ee2fe8a8e6468abf338b80"/><file name="Message.class.php" hash="073be6cbcccacf2d1d55a04c045eab63"/><file name="PingResult.class.php" hash="18f88589588f08b619488c926cf5547c"/><file name="PostTaxRequest.class.php" hash="be8ea4ee2fddb10b62cb1be7e38179e3"/><file name="PostTaxResult.class.php" hash="bf2ee0b1293301ee00ac9b8b8390e780"/><file name="ReconcileTaxHistoryRequest.class.php" hash="41f2cfe04495612a9c293b1bc19220ce"/><file name="ReconcileTaxHistoryResult.class.php" hash="dd20684e0e017f56c98e29297180a0d7"/><file name="SearchTaxHistoryResult.class.php" hash="e3171e00482f7c2c0ed9753ffd05cd14"/><file name="ServiceMode.class.php" hash="0c66b3e25f4466461cebf32735e207e0"/><file name="SeverityLevel.class.php" hash="68fc81e651fe7f01c81b43b0d28ff0dc"/><file name="TaxDetail.class.php" hash="56065f8ea68505152b23e41238b80dfb"/><file name="TaxLine.class.php" hash="05376f01ad9a14f438ad0f1d5d423b61"/><file name="TaxOverride.class.php" hash="94d28efa3cdf58a87ba45a313ce93fc7"/><file name="TaxOverrideType.class.php" hash="d23f90c9ac639954c8fcee57ba763b21"/><file name="TaxRequest.class.php" hash="7339016da0c3cbe51843767987e7fbed"/><file name="TaxServiceSoap.class.php" hash="bc7e4eb0e66dd1bd956e19e0da337171"/><file name="TaxType.class.php" hash="ee87ecc8721076f0cda67fe1cc5b0db7"/><file name="TextCase.class.php" hash="8fb2eccc49eacdc1a4f5624c0716a750"/><file name="ValidAddress.class.php" hash="2f8eebcd379208198cd38632f1e34b0a"/><file name="ValidateRequest.class.php" hash="98faedd50b2f4ea7ffb9d53ab1ca116c"/><file name="ValidateResult.class.php" hash="23de6a26defed9324ddcdcedfd2228bf"/><dir name="wsdl"><file name="Address.wsdl" hash="37ac1778f42147b548e09c8bb39b3cfc"/><file name="AvaCert2Svc.wsdl" hash="60da5aa0484ce00b82d7675ea3fd6454"/><file name="AvaCertSvc.wsdl" hash="25d03720f7018ea027c3345ec2c69c8e"/><file name="BatchSvc.wsdl" hash="798a715e28b9751b01666a29554135f7"/><file name="Tax.wsdl" hash="051420912d3e0b2489ae250c47059166"/></dir></dir><file name="functions.php" hash="57734d162b59cbc65933d25bf3950270"/></dir><dir name="OnePica"><dir name="AvaTax16"><dir name="AddressResolution"><file name="PingResponse.php" hash="42cf1ee8601e559d025b009ecb7201b3"/><file name="ResolveSingleAddressResponse.php" hash="7305c3bbe38e5c440678361847c43e84"/><file name="TaxAuthority.php" hash="86b3584391c9ef8af8ffeda1b7162637"/></dir><file name="AddressResolution.php" hash="3acfa74ff528a1d50d539a756614137c"/><dir name="Calculation"><dir name="ListItemResponse"><dir name="CalculatedTaxSummary"><dir name="TaxByType"><file name="Details.php" hash="53ffdc3b1df7f9ffbe1418d863b279f9"/></dir><file name="TaxByType.php" hash="182d258bad391e4b82406d43dcf9eaca"/></dir><file name="CalculatedTaxSummary.php" hash="d4ae2eeb74d7641db65226f76ee965de"/><file name="Header.php" hash="846a2ef2aa31b271b864b908e43f59e5"/><file name="Line.php" hash="974554064e6a61a4e2b9ab6db5e2fd34"/><file name="ProcessingInfo.php" hash="6ea7c0a0c86036c648ef4e0476eea99e"/></dir><file name="ListItemResponse.php" hash="bbdc204f0d848e992119280761d8d7cc"/><file name="ListResponse.php" hash="2d15f8cdf48993d8ab90938cd4d37190"/></dir><file name="Calculation.php" hash="5311fefa3e82c63ef725f32f84a04aab"/><file name="Config.php" hash="5eb6a3001370bca29d977fe9b24800ea"/><dir name="Document"><dir name="Part"><dir name="Feedback"><file name="LatencyData.php" hash="4f5c765cf6d028bcb4107b01f2e5b807"/></dir><file name="Feedback.php" hash="fac9eb4e3478fc4386567cd41668e1e1"/><dir name="Location"><file name="Address.php" hash="15ee70c3901080d53cef56cd63d4cf57"/><file name="LatLong.php" hash="97b968fdca26d5a8f5602e4f28162190"/></dir><file name="Location.php" hash="6054bcad769a7d7287445aa590ef2a2d"/></dir><file name="Part.php" hash="b1ef99e465e25df5338080610daa977d"/><dir name="Request"><file name="Header.php" hash="92bac296417f904a70287dc55dee9d1c"/><file name="Line.php" hash="0acdeea9894a70410cb64398e90ab7d0"/></dir><file name="Request.php" hash="1440ad02232e98d286ce37f696a086a7"/><dir name="Response"><dir name="CalculatedTaxSummary"><dir name="TaxByType"><file name="Details.php" hash="b0bf6211fa2744285d3b42cd8660c8e5"/></dir><file name="TaxByType.php" hash="6a427c932fe5b60588864fcf5a0c81f2"/></dir><file name="CalculatedTaxSummary.php" hash="86c0321b176d6c52222f6d688408b87c"/><file name="Header.php" hash="787e68feae0eacc4b0359f66cd180cd1"/><dir name="Line"><dir name="CalculatedTax"><file name="Details.php" hash="5a80a57a785b7e4d9b2ce6c946319279"/><file name="TaxByType.php" hash="3267edf3a25c9313dc7f838da7669add"/></dir><file name="CalculatedTax.php" hash="f47fc24daeb236106e52c6309bc1f3e5"/></dir><file name="Line.php" hash="a068c319dfcdc79f63b8ad1291eaf3b2"/><file name="ProcessingInfo.php" hash="b175ab3cffde010db67a666a0ac1f6c6"/></dir><file name="Response.php" hash="b0d922b0a0ff81d9c690828e7149bc29"/></dir><file name="Exception.php" hash="62f3fb8c7fee6758dbf00e9a90053dde"/><dir name="IO"><file name="CaseInsensitiveArray.php" hash="5ff9551b29e56f6fe92ee4f802a983f3"/><file name="Curl.php" hash="90f0df8763a82d597fc0f93deaa13249"/></dir><file name="ResourceAbstract.php" hash="86bb4526bc73b7cf63d675c1f6eaac44"/><file name="TaxService.php" hash="03f1799cd82cd95e5412d4a2ac915361"/><dir name="Transaction"><file name="ListItemResponse.php" hash="3cbe80a9923a0b25e2350c4c6daaa3fc"/><file name="ListResponse.php" hash="491506f6f1e4044e14f1c43b2082a03a"/><file name="TransitionTransactionStateResponse.php" hash="7b9e0beb239ff0679a360d1d14945fba"/></dir><file name="Transaction.php" hash="282113bda5b0abe544fd58c844c9ee87"/></dir><file name="autoload.php" hash="997d00ba2d67253ec64a95c89c92c36b"/></dir></target></contents>
26
  <compatible/>
27
  <dependencies><required><php><min>5.2.3</min><max>6.0.0</max></php><extension><name>Core</name><min/><max/></extension><extension><name>curl</name><min/><max/></extension><extension><name>soap</name><min/><max/></extension></required></dependencies>
28
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>OnePica_AvaTax</name>
4
+ <version>3.1.0</version>
5
  <stability>stable</stability>
6
  <license>Open Software License (OSL 3.0)</license>
7
  <channel>community</channel>
18
  &#xD;
19
  &#xD;
20
  At One Pica (www.onepica.com), we strive to build increasingly scalable and flexible enterprise systems for all of our clients, large and small. We want to give back to this community both to promote its success and as a sign of our gratitude. Please feel free to contact us on ways we can improve this extension or extend on this framework.</description>
21
+ <notes>Implemented reduce tax calculation requests number&#xD;
22
+ Implemented log/queue export with all data from database&#xD;
23
+ Fixed errors/notices displaying&#xD;
24
+ Fixed tax calculation for virtual/downloadable products&#xD;
25
+ Fixed address normalization on checkout with multiple addresses</notes>
26
  <authors><author><name>Rostyslav Redko</name><user>marketing</user><email>avalara@onepica.com</email></author></authors>
27
+ <date>2016-03-29</date>
28
+ <time>14:38:29</time>
29
+ <contents><target name="magecommunity"><dir name="OnePica"><dir name="AvaTax"><dir name="Block"><dir name="Adminhtml"><dir name="Export"><dir name="Abstract"><file name="Grid.php" hash="5f96ca490c5f7bd3fac23e30b00336e5"/></dir><dir name="Log"><file name="Grid.php" hash="3a87a71f7f51b3247a0717f0b3f8abf0"/><file name="View.php" hash="097d82a3e2b1a8820d335a63f212451b"/></dir><dir name="Queue"><file name="Grid.php" hash="1ef8ba9bf3e0870ea6dc50bb202a0b91"/></dir></dir><dir name="Notification"><file name="Toolbar.php" hash="26f7e382432289c3ff07647141cf9324"/></dir><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Export.php" hash="3e019b9551b95c71f4cfd67a14d62a27"/></dir></dir></dir></dir><dir name="Tax"><dir name="Class"><dir name="Edit"><file name="Form.php" hash="0e78c592366ee2746f3891cf91a388d3"/></dir><file name="Grid.php" hash="d731eb160457b8a22cfcd28682a1c485"/></dir></dir></dir><dir name="Checkout"><dir name="Onepage"><dir name="Shipping"><dir name="Method"><file name="Available.php" hash="a0bdc5f63955148cf7e755c8803e01de"/></dir></dir></dir></dir></dir><file name="Exception.php" hash="fc752f8da808a402baae2425c4072d22"/><dir name="Helper"><file name="Address.php" hash="df731a75957cf712d0b1410b1d831dd6"/><file name="Calculation.php" hash="3a3bcbd4a33a061700c495a14afd8b3a"/><file name="Config.php" hash="b7a48f682638fca9b53e2db1460e45f4"/><file name="Data.php" hash="447fc46dcdc7ff5b97ed69125845f8a3"/><file name="Errors.php" hash="1fc34a932db296ecd1617a4e50e150d7"/><dir name="GiftWrapping"><file name="Data.php" hash="a336949d2849baa874f280c7a16316f5"/></dir><file name="Lib.php" hash="ce05e31b4aba7ba84bfc016df8c2a559"/><file name="RequestFilter.php" hash="6806cce9e1ff8ed7b821c4501ee15499"/><dir name="Tax"><file name="Data.php" hash="ce4688b06cabe61ac43993fc77a175ca"/></dir></dir><dir name="Model"><dir name="Action"><file name="Abstract.php" hash="de2bc126be0cfe69ffe6af60a8307d16"/><file name="Calculator.php" hash="3d189195c43305879bd351334a8811e9"/><file name="Creditmemo.php" hash="23639271a8fad749a3ee3a13fc8b0b27"/><file name="Invoice.php" hash="20458660bda4a277c0677b1406feb481"/><file name="Ping.php" hash="7e08308fff72493e0cb75b9244551de6"/><file name="Validator.php" hash="003f31bbb0a381b770f71f8b2de7f214"/></dir><dir name="Admin"><file name="Session.php" hash="e3dc3353c7eebf4e17c22ea4039585c5"/></dir><dir name="Adminhtml"><file name="Config.php" hash="388f532f03fa8dacc9fde122a2fe0c64"/><dir name="Sales"><dir name="Order"><file name="Create.php" hash="2a1b42b629b8da1373e11860c4a2c8c0"/></dir></dir></dir><dir name="Export"><dir name="Adapter"><file name="Abstract.php" hash="840c8b87acd97646572bba9bb3b8f5ea"/><file name="Sql.php" hash="0e9bedb400f411785311f78ebbf676da"/></dir><dir name="Entity"><file name="Abstract.php" hash="d38a2293452c31e92f81bf5be59c3e1c"/><file name="Log.php" hash="7788a9f5bfa13e39d98c9a9ac72508e2"/><file name="Queue.php" hash="14a97c283aa74f97982ab71160017aa3"/></dir></dir><file name="Export.php" hash="b94613b678b413d6268b07d314ba122e"/><dir name="Observer"><file name="Abstract.php" hash="4cef8e34c047b97e34ab08b0c937082c"/><file name="AdminSystemConfigChangedSectionTax.php" hash="d2d68bef7a9ef50be4c58b4498f81cb1"/><file name="CheckoutSubmitAllAfter.php" hash="4ee09c54a9098b568dac726964d782c0"/><file name="CheckoutTypeMultishippingCreateOrdersSingle.php" hash="eeaffffddd4e2ce387325dfb58381a77"/><file name="CleanLog.php" hash="4043bb0a3df982b756bfb1dfab5d56de"/><file name="ControllerActionLayoutGenerateXmlBefore.php" hash="d533cdc23c1749c87bccdb1e8fd7f947"/><file name="ControllerActionLayoutLoadBefore.php" hash="d2308911f499841ba9c449045b3e4220"/><file name="ControllerActionPostdispatchCheckoutMultishippingAddressEditShipping.php" hash="646fa503d7277c363b4613692f978d12"/><file name="ControllerActionPostdispatchCheckoutOnepageSaveShippingMethod.php" hash="0b600e585f4b008e457995676019c2b4"/><file name="ControllerActionPredispatchAdminhtmlSalesOrderCreateLoadBlock.php" hash="07ef318adffde6bba762da8300e17324"/><file name="ControllerActionPredispatchCheckoutCartEstimatePost.php" hash="2b2cce8f619488fd795a027b80d20d2a"/><file name="ControllerActionPredispatchCheckoutMultishippingAddressEditShippingPost.php" hash="3c0e54aaeec84c7a780f9159d17bf345"/><file name="ControllerActionPredispatchCheckoutMultishippingIndex.php" hash="d6d7a1d0272c51f3ec4cacbce8574da3"/><file name="ControllerActionPredispatchCheckoutOnepageIndex.php" hash="01c4280273e34a2f82ed6764792f3568"/><file name="LoadAvaTaxExternalLib.php" hash="0b10ed2f15ef8202362f4828fad15262"/><file name="MultishippingSetShippingItems.php" hash="b39fa0fb0579f5143d34f159048f39c3"/><file name="ProcessQueue.php" hash="35375793d039f6848e7b2af05e0eef41"/><file name="SalesModelServiceQuoteSubmitAfter.php" hash="6499cfe8e1c9176b12af58c0bce331eb"/><file name="SalesModelServiceQuoteSubmitBefore.php" hash="4e67278a1c20a969f8709237f817b6e0"/><file name="SalesOrderCreditmemoRefund.php" hash="3e9049e39b53ec06b8aa1ab274d1e00d"/><file name="SalesOrderCreditmemoSaveAfter.php" hash="a01af2f4a66912383b772be42fddbdea"/><file name="SalesOrderInvoicePay.php" hash="ac7884c312f986d123912f01346b031a"/><file name="SalesOrderInvoiceSaveAfter.php" hash="00279b77e0a3bbac120b9248d6f9223d"/><file name="SalesQuoteCollectTotalsBefore.php" hash="c0ae978e4895cec8a1b4c1ec2a3a5522"/></dir><dir name="Records"><file name="Log.php" hash="58e639c307610488a609c3aa39c38514"/><dir name="Mysql4"><dir name="Log"><file name="Collection.php" hash="29db8163f4dda862ff822ddffd04554d"/></dir><file name="Log.php" hash="d6fb7997768b7e0f1b39363fd4de5917"/><dir name="Queue"><file name="Collection.php" hash="11bba1561c81f39695f091b94bd81560"/></dir><file name="Queue.php" hash="12ba62949dab080c6dc6ae7fcbbf4838"/></dir><dir name="Queue"><file name="Process.php" hash="82d837f47b78b4a037938dd88dfe3217"/></dir><file name="Queue.php" hash="2906b0c99e686f2e85169cbd49c8af2e"/></dir><dir name="Sales"><dir name="Quote"><dir name="Address"><dir name="Total"><file name="Tax.php" hash="680493de15a25919bf5ddff14b8a01fb"/></dir></dir><file name="Address.php" hash="7a9717d123bba20ce14144b80d1da5da"/></dir></dir><dir name="Service"><dir name="Abstract"><file name="Config.php" hash="2b5ebe4312f82b0c13b03db2c261964f"/><file name="Tools.php" hash="8338336a7dccd05c3956f93363a35d6d"/></dir><file name="Abstract.php" hash="29cee53a912adeb0f682bc931972823d"/><dir name="Avatax"><file name="Abstract.php" hash="629fc49a518505a87f1548c3b29ef666"/><file name="Address.php" hash="5f6d2257e4132a436dff7cc0cc08eb67"/><file name="Config.php" hash="25198070b781c8ce632b4f3d3c3b21e0"/><file name="Estimate.php" hash="f5d14571bf2fdbbf87873d50c52abbd9"/><file name="Invoice.php" hash="856a2a33ee05d1f58bd5cde0171b3254"/><file name="Ping.php" hash="8dd09babe7e8b206564544b2ace9a661"/><file name="Tax.php" hash="3002e239f7f5a84f3377d288861cf4d2"/></dir><file name="Avatax.php" hash="b6fa49f95a3ab05546bd597689a14ed7"/><dir name="Avatax16"><file name="Abstract.php" hash="9b061b6d7bebc7539efa4a33789c23e2"/><file name="Address.php" hash="834681944f93504537e26217f9690cd5"/><file name="Config.php" hash="34c888b2db0c2c72bfea6ddad0dbf053"/><file name="Estimate.php" hash="441aaa66270e9a820774710776894b71"/><file name="Invoice.php" hash="dd62073b8f573932c3ee9c5cb8fffe0b"/><file name="Ping.php" hash="853a6c8078296263adc241befc5eaa92"/><file name="Tax.php" hash="0680fb53318af5eac219909162657037"/></dir><file name="Avatax16.php" hash="cd3743c413edb08904781900c0064eaf"/><dir name="Exception"><file name="Address.php" hash="2519f1a2b302db97337c933d99a6d116"/><file name="Commitfailure.php" hash="7f0c5a5bf9242651d2542336d0b4cb96"/><file name="Unbalanced.php" hash="43595e010b314e8a91dd0fef4fad96c2"/></dir><dir name="Result"><file name="Address.php" hash="7a711e27f7f5e478a8a290a1880586f6"/><file name="AddressValidate.php" hash="62d14d7f4147b83001ef7f64726276c1"/><file name="Creditmemo.php" hash="8b1ac1eda1a522c70bca574b938c6359"/><file name="Invoice.php" hash="83f157b7fd24e5e6c0b51f6a162ee316"/></dir></dir><file name="Service.php" hash="7fda34c9ce1db70ae9757561d505a5b7"/><file name="Session.php" hash="429142089e75418a702e70edc56374cf"/><dir name="Source"><file name="Actions.php" hash="b5392f0820f15c3159e76ea67148992a"/><file name="Addressvalidation.php" hash="c8430082f4ae4c22c533e586e5652506"/><dir name="Avatax"><file name="Actions.php" hash="c72aa0df9013c6d5c5fddc0c4b4027b0"/><file name="Logtype.php" hash="0bdc9563eeaa30b7c4ae301a79613375"/><file name="Url.php" hash="cff45c6a590360711867112533b068d8"/></dir><dir name="Avatax16"><file name="Actions.php" hash="86b7d4067faad9478f9b61101d0fd6ae"/><file name="Buyertype.php" hash="6b029a7bbacc0eda36ed4fbb6f6e467b"/><file name="Logtype.php" hash="4e3447c8b79faf0ca20e66d9a66d29df"/><file name="Url.php" hash="ef6524ae8f04b9cc63f0f6e8ba4e63ea"/><file name="Usetype.php" hash="107c03d384fb6a8b990e4c16f49fab87"/></dir><file name="Customercodeformat.php" hash="cfcfcbaa27ed29add072324816da0c9d"/><file name="Error.php" hash="7f5495a2f295ded2d0a30f2f7108d009"/><file name="Fieldlist.php" hash="18987603d4d58130959a8ac76716ed08"/><file name="Logmode.php" hash="24d61da578a3b4adb896fea7d4d4d8ec"/><file name="Logtype.php" hash="2bd6decac6b972549d4bdfe2c8968d51"/><file name="Onerrorfrontend.php" hash="ef4154ae563d8157c1083f20e0adf563"/><dir name="Regionfilter"><file name="List.php" hash="d73ebe7197a2c6cfa45d52775d6f0977"/><file name="Mode.php" hash="2216d28bf9adba614025538cc62a49b6"/></dir><file name="Url.php" hash="794ec57a2b350931f70e95eb6677c253"/></dir><dir name="Tax"><file name="Calculation.php" hash="8b3ad0ace3967a13364d1475e286b70c"/><file name="Config.php" hash="dfb1ff41c23ed30dc29013dd73a89896"/></dir><dir name="Total"><dir name="Quote"><dir name="Tax"><file name="Giftwrapping.php" hash="7b264455ac9084a751468ef6dbc36fe5"/></dir></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="AvaTax"><file name="ExportController.php" hash="ead5ebea03db8f885d0ec6114dcb185c"/><file name="GridController.php" hash="5c7e822890a6feaec2db348e6c5a19e1"/></dir></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="aca07ae89478c72fd1d2d41228c28b8e"/><file name="config.xml" hash="54998e9c25522c635578584b19fb31a8"/><file name="system-avatax16-disabled.xml" hash="b24027def3daab9000047bf7fee41c4f"/><file name="system-avatax16.xml" hash="b5a9543409521633ceec2af4d9c5d1b7"/><file name="system-disabled.xml" hash="f0643182c8bd62674ae091104d6e500e"/><file name="system.xml" hash="40adba09489f034471446a20a1cf4ae6"/></dir><dir name="sql"><dir name="avatax_records_setup"><file name="mysql4-data-upgrade-2.2.0-2.2.1.php" hash="260d1c57754ebadba00d8ccdbb0ec996"/><file name="mysql4-install-0.1.0.php" hash="3d16899179b36bfde69609a99a2faae6"/><file name="mysql4-upgrade-0.1.4-0.1.5.php" hash="94d0cf2fc0e9bbe2de2829198ce3026f"/><file name="mysql4-upgrade-1.0.1-2.0.0.php" hash="905d7519328cdb1c46bba4221288c41c"/><file name="mysql4-upgrade-2.5.0.0-2.5.0.1.php" hash="4b439957397049bbe01d458fd7cfe0a2"/><file name="mysql4-upgrade-3.0.0.1-3.0.0.2.php" hash="46caa743f17221575b4a639b262a9275"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="OnePica_AvaTax.xml" hash="07fd9423811b4dc084060d6131b889d7"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="onepica"><file name="avatax.xml" hash="de338ca651fcce096d089b2bbbcc1374"/></dir></dir><dir name="template"><dir name="onepica"><dir name="avatax"><dir name="log"><file name="view.phtml" hash="df14eee805bbedd484cf500dbf2335ed"/></dir><dir name="notification"><file name="toolbar.phtml" hash="fd368e043843df76ec3a74290b87dc3e"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="onepica"><file name="avatax.xml" hash="38c6ce2165f6ccfd6641eb1487faad39"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="de_DE"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir><dir name="en_US"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir><dir name="es_ES"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir><dir name="fr_FR"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir><dir name="nl_NL"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir><dir name="pt_BR"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir><dir name="zh_CN"><file name="OnePica_AvaTax.csv" hash="43d2dee74aee6f15abd471a65b4f407c"/></dir></target><target name="magelib"><dir name="AvaTax"><file name="AvaTax.php" hash="46bf3fb7795482b7494b2fdc266af3bc"/><dir name="classes"><file name="ATConfig.class.php" hash="dd1c39643f677e0c3b612c549686812c"/><file name="ATObject.class.php" hash="83359fd7639c98449836dc11d08c899d"/><file name="Address.class.php" hash="68bf4fe1306a60e672b7345a0dc7fcc6"/><file name="AddressServiceSoap.class.php" hash="c59bf4a586da207611f7bace4f08c880"/><file name="AddressType.class.php" hash="62c9ff3c533aaf5ad1fd4de95702be40"/><file name="AdjustTaxRequest.class.php" hash="47dbfa8044ca893bf214d8e71ab4864e"/><file name="AdjustTaxResult.class.php" hash="cf63aa5b7c3b52b3ec86695c4cdf0fcc"/><file name="ApplyPaymentRequest.class.php" hash="69d69dff63cbd284d8aea62247142692"/><file name="ApplyPaymentResult.class.php" hash="0e37bda0f1221c2ed2432717a2d8cc08"/><dir name="AvaCert2Svc"><file name="AvaCert2Soap.class.php" hash="0567793d9e4e496b45c3e8a0459f944a"/><file name="Certificate.class.php" hash="dd3f0dd2a2b03c97552f9dbd5c6463ba"/><file name="CertificateGetRequest.class.php" hash="4c11fd111cab99fa4dbc2c2250e0f3ad"/><file name="CertificateGetResult.class.php" hash="6a95a06e71bd13839c6142bba08bfba5"/><file name="CertificateImageGetRequest.class.php" hash="32f61011abe3d1c74ea7fc209e3e4224"/><file name="CertificateImageGetResult.class.php" hash="beda0f1fd54951b84b7dd77ead92bda3"/><file name="CertificateJurisdiction.class.php" hash="e666d572fb34d17fcd91127a50616195"/><file name="CertificateRequest.class.php" hash="7b76dc3675e507975ae6cf01abfa6059"/><file name="CertificateRequestGetRequest.class.php" hash="0cf2fafae88f795a754d75291947cb56"/><file name="CertificateRequestGetResult.class.php" hash="eceffe3acec787506649669b1b5edcf7"/><file name="CertificateRequestInitiateRequest.class.php" hash="148a5c4c881c885be863f403582b4974"/><file name="CertificateRequestInitiateResult.class.php" hash="a7a55cb398cd2fb9f0e11b8c6b09498d"/><file name="CertificateRequestStage.class.php" hash="92dec7da28f83f1a419d9573e6cec1fa"/><file name="CertificateRequestStatus.class.php" hash="a5d5c1629ce4f5ee0c18a8924204ca22"/><file name="CertificateStatus.class.php" hash="6ae43ab57ae9df37d07ac4203270c25e"/><file name="CertificateUsage.class.php" hash="bad34570daa7679b267f1288bf0a371f"/><file name="CommunicationMode.class.php" hash="71d2743c1d2afffe11d2903e89ff9c0e"/><file name="Customer.class.php" hash="e9f13f38f75cb4e1b845c55e6f26a5ab"/><file name="CustomerSaveRequest.class.php" hash="58ff71b04bb3a308b7f0199c6fae1e56"/><file name="CustomerSaveResult.class.php" hash="98cf79bdb7c0558963670b21e66b7d85"/><file name="FormatType.class.php" hash="714d183d3d365a07ef606d1211c732b0"/><file name="RequestType.class.php" hash="6144c2731baaf67400ea34e50440c1df"/><file name="ReviewStatus.class.php" hash="0dd208ecbf6b45196f51f304b1d48b03"/></dir><file name="AvalaraSoapClient.class.php" hash="dd605cefabb4396ef1b46b6d23b439b5"/><file name="BaseResult.class.php" hash="85d2c23ecc62bf4b828d04f405f83d37"/><dir name="BatchSvc"><file name="AuditMessage.class.php" hash="798d8169506357af02e6912b4bca9148"/><file name="AvaTaxBatchSvc.php" hash="8d65fd4a02cd4fc1104aa9c24b35e4fb"/><file name="BaseResult.class.php" hash="727ef623b821e95a73cf6d1eda891379"/><file name="Batch.class.php" hash="c028822bcf2a4f1fae6fc7dca76f247a"/><file name="BatchDelete.class.php" hash="0bcff09309ccad969d65c2d27fa63dda"/><file name="BatchDeleteResponse.class.php" hash="46afd464673459efb54ccaf509d37eef"/><file name="BatchFetch.class.php" hash="74f96ecc3c2df87271d60c4c969e43f8"/><file name="BatchFetchResponse.class.php" hash="b2acf63deea2c0fd374f80745b60fef5"/><file name="BatchFetchResult.class.php" hash="83d8de067f4bd59acafe4cd065f90163"/><file name="BatchFile.class.php" hash="65cee20383c8040fac1d4c45bbe757dd"/><file name="BatchFileDelete.class.php" hash="01d0bc10cb0ada43a9a00ca0efffef17"/><file name="BatchFileDeleteResponse.class.php" hash="b4e7881d26b7071303650973144f418b"/><file name="BatchFileFetch.class.php" hash="c5e91b8073fb756545d0f74803fdf3d6"/><file name="BatchFileFetchResponse.class.php" hash="c37ce819a975cdae5e7a82432b4b2334"/><file name="BatchFileFetchResult.class.php" hash="6bc54523d34356a83cdc4ecd2f696ea5"/><file name="BatchFileSave.class.php" hash="8434b0ffdd1fba4991535248ee3d618e"/><file name="BatchFileSaveResponse.class.php" hash="d52f79b42467b59f2177359f8a73cd3a"/><file name="BatchFileSaveResult.class.php" hash="19d3a2f20ccc42e80759b280842cf03c"/><file name="BatchProcess.class.php" hash="44d9efe13d01fce15bd444e5729b320c"/><file name="BatchProcessRequest.class.php" hash="04684b987c6d77319cc6881941091de9"/><file name="BatchProcessResponse.class.php" hash="c22b08c125eefc4006495c55984ed91e"/><file name="BatchProcessResult.class.php" hash="f9cac2270aafae49fc0892ea729c3713"/><file name="BatchSave.class.php" hash="d3a397348b905d49a0c91be780f3ec04"/><file name="BatchSaveResponse.class.php" hash="4c3088b85590fd697b5686aa1dddd89e"/><file name="BatchSaveResult.class.php" hash="7ea7fe3dc7d580711f6b52d991c43dce"/><file name="BatchSvc.class.php" hash="fa903f70b06d1e3b86384f2b6fb60616"/><file name="DeleteRequest.class.php" hash="43f945ef1e59ef02494df6df6ec3d1b6"/><file name="DeleteResult.class.php" hash="f7d64582f1182ae0337d6d84a5f60e8d"/><file name="FetchRequest.class.php" hash="7271317a8909672261ea0e00867e810b"/><file name="FilterRequest.class.php" hash="3c1eaec68f84531931a3cd6143533576"/><file name="FilterResult.class.php" hash="f4c0eeac0153b735ec589fcff7accd86"/><file name="IsAuthorized.class.php" hash="8339a2b249d954efaaf64f10665976fc"/><file name="IsAuthorizedResponse.class.php" hash="613c91f36370dc38ca07b83a29f2a45f"/><file name="IsAuthorizedResult.class.php" hash="65f9665508a5e7f33e4aee2835a9806e"/><file name="Message.class.php" hash="576327c8d9cd74bd96d9ccd62a2daa5b"/><file name="Ping.class.php" hash="3a2246f5557a5279fa260c65b36a9b44"/><file name="PingResponse.class.php" hash="b9f5e8b43382ee605d93768db8af1805"/><file name="PingResult.class.php" hash="2e05acfe74aad28003ad7d8ed102c3c6"/><file name="Profile.class.php" hash="a16a4819018dd8510ddab8feb9ee0f7e"/><file name="SeverityLevel.class.php" hash="5736530f3b5fd0cd932c783418563647"/></dir><file name="BoundaryLevel.class.php" hash="e9c2f2e3173e44fa8351f2a6dbb578fe"/><file name="CancelCode.class.php" hash="fd0b8ad2865e8fcf622b1faafc677527"/><file name="CancelTaxRequest.class.php" hash="08a114e32ec9eda9268ec337f79cb86f"/><file name="CancelTaxResult.class.php" hash="687be65bab85e6c6e8f99764c0475d9b"/><file name="CommitTaxRequest.class.php" hash="66ef55bc094d233b75e36b029995aed7"/><file name="CommitTaxResult.class.php" hash="ef90276817207e63e4e96ea518618f50"/><file name="DetailLevel.class.php" hash="2439f7137a4f9f52e28a6b321c4bcf16"/><file name="DocStatus.class.php" hash="9e3384a0f2ace05fa67fe05eba295fcd"/><file name="DocumentType.class.php" hash="94b4509b914d638a94f946b5518b8993"/><file name="DynamicSoapClient.class.php" hash="5bb36f2d4db3955ae059488eb9511ca9"/><file name="Enum.class.php" hash="d3ff4c898aff49f3c425042433826257"/><file name="GetTaxHistoryRequest.class.php" hash="3ed4c54de1e015f476ce7aa58c802468"/><file name="GetTaxHistoryResult.class.php" hash="7e8209e1f64df52b538927312b1bd934"/><file name="GetTaxRequest.class.php" hash="a3343ef6a1e27e48c9a75aa9e02777c4"/><file name="GetTaxResult.class.php" hash="7e2b7415a018fd76b62ab49637833533"/><file name="IsAuthorizedResult.class.php" hash="58164457677a61e93309f788fe61dc0c"/><file name="JurisdictionType.class.php" hash="a345fe5db379af87a6f7ec833ff86586"/><file name="Line.class.php" hash="7fefbd0230ee2fe8a8e6468abf338b80"/><file name="Message.class.php" hash="073be6cbcccacf2d1d55a04c045eab63"/><file name="PingResult.class.php" hash="18f88589588f08b619488c926cf5547c"/><file name="PostTaxRequest.class.php" hash="be8ea4ee2fddb10b62cb1be7e38179e3"/><file name="PostTaxResult.class.php" hash="bf2ee0b1293301ee00ac9b8b8390e780"/><file name="ReconcileTaxHistoryRequest.class.php" hash="41f2cfe04495612a9c293b1bc19220ce"/><file name="ReconcileTaxHistoryResult.class.php" hash="dd20684e0e017f56c98e29297180a0d7"/><file name="SearchTaxHistoryResult.class.php" hash="e3171e00482f7c2c0ed9753ffd05cd14"/><file name="ServiceMode.class.php" hash="0c66b3e25f4466461cebf32735e207e0"/><file name="SeverityLevel.class.php" hash="68fc81e651fe7f01c81b43b0d28ff0dc"/><file name="TaxDetail.class.php" hash="56065f8ea68505152b23e41238b80dfb"/><file name="TaxLine.class.php" hash="05376f01ad9a14f438ad0f1d5d423b61"/><file name="TaxOverride.class.php" hash="94d28efa3cdf58a87ba45a313ce93fc7"/><file name="TaxOverrideType.class.php" hash="d23f90c9ac639954c8fcee57ba763b21"/><file name="TaxRequest.class.php" hash="7339016da0c3cbe51843767987e7fbed"/><file name="TaxServiceSoap.class.php" hash="bc7e4eb0e66dd1bd956e19e0da337171"/><file name="TaxType.class.php" hash="ee87ecc8721076f0cda67fe1cc5b0db7"/><file name="TextCase.class.php" hash="8fb2eccc49eacdc1a4f5624c0716a750"/><file name="ValidAddress.class.php" hash="2f8eebcd379208198cd38632f1e34b0a"/><file name="ValidateRequest.class.php" hash="98faedd50b2f4ea7ffb9d53ab1ca116c"/><file name="ValidateResult.class.php" hash="23de6a26defed9324ddcdcedfd2228bf"/><dir name="wsdl"><file name="Address.wsdl" hash="37ac1778f42147b548e09c8bb39b3cfc"/><file name="AvaCert2Svc.wsdl" hash="60da5aa0484ce00b82d7675ea3fd6454"/><file name="AvaCertSvc.wsdl" hash="25d03720f7018ea027c3345ec2c69c8e"/><file name="BatchSvc.wsdl" hash="798a715e28b9751b01666a29554135f7"/><file name="Tax.wsdl" hash="051420912d3e0b2489ae250c47059166"/></dir></dir><file name="functions.php" hash="57734d162b59cbc65933d25bf3950270"/></dir><dir name="OnePica"><dir name="AvaTax16"><dir name="AddressResolution"><file name="PingResponse.php" hash="42cf1ee8601e559d025b009ecb7201b3"/><file name="ResolveSingleAddressResponse.php" hash="7305c3bbe38e5c440678361847c43e84"/><file name="TaxAuthority.php" hash="86b3584391c9ef8af8ffeda1b7162637"/></dir><file name="AddressResolution.php" hash="3acfa74ff528a1d50d539a756614137c"/><dir name="Calculation"><dir name="ListItemResponse"><dir name="CalculatedTaxSummary"><dir name="TaxByType"><file name="Details.php" hash="53ffdc3b1df7f9ffbe1418d863b279f9"/></dir><file name="TaxByType.php" hash="182d258bad391e4b82406d43dcf9eaca"/></dir><file name="CalculatedTaxSummary.php" hash="d4ae2eeb74d7641db65226f76ee965de"/><file name="Header.php" hash="846a2ef2aa31b271b864b908e43f59e5"/><file name="Line.php" hash="974554064e6a61a4e2b9ab6db5e2fd34"/><file name="ProcessingInfo.php" hash="6ea7c0a0c86036c648ef4e0476eea99e"/></dir><file name="ListItemResponse.php" hash="bbdc204f0d848e992119280761d8d7cc"/><file name="ListResponse.php" hash="2d15f8cdf48993d8ab90938cd4d37190"/></dir><file name="Calculation.php" hash="5311fefa3e82c63ef725f32f84a04aab"/><file name="Config.php" hash="5eb6a3001370bca29d977fe9b24800ea"/><dir name="Document"><dir name="Part"><dir name="Feedback"><file name="LatencyData.php" hash="4f5c765cf6d028bcb4107b01f2e5b807"/></dir><file name="Feedback.php" hash="fac9eb4e3478fc4386567cd41668e1e1"/><dir name="Location"><file name="Address.php" hash="15ee70c3901080d53cef56cd63d4cf57"/><file name="LatLong.php" hash="97b968fdca26d5a8f5602e4f28162190"/></dir><file name="Location.php" hash="6054bcad769a7d7287445aa590ef2a2d"/></dir><file name="Part.php" hash="b1ef99e465e25df5338080610daa977d"/><dir name="Request"><file name="Header.php" hash="92bac296417f904a70287dc55dee9d1c"/><file name="Line.php" hash="0acdeea9894a70410cb64398e90ab7d0"/></dir><file name="Request.php" hash="1440ad02232e98d286ce37f696a086a7"/><dir name="Response"><dir name="CalculatedTaxSummary"><dir name="TaxByType"><file name="Details.php" hash="b0bf6211fa2744285d3b42cd8660c8e5"/></dir><file name="TaxByType.php" hash="6a427c932fe5b60588864fcf5a0c81f2"/></dir><file name="CalculatedTaxSummary.php" hash="86c0321b176d6c52222f6d688408b87c"/><file name="Header.php" hash="787e68feae0eacc4b0359f66cd180cd1"/><dir name="Line"><dir name="CalculatedTax"><file name="Details.php" hash="5a80a57a785b7e4d9b2ce6c946319279"/><file name="TaxByType.php" hash="3267edf3a25c9313dc7f838da7669add"/></dir><file name="CalculatedTax.php" hash="f47fc24daeb236106e52c6309bc1f3e5"/></dir><file name="Line.php" hash="a068c319dfcdc79f63b8ad1291eaf3b2"/><file name="ProcessingInfo.php" hash="b175ab3cffde010db67a666a0ac1f6c6"/></dir><file name="Response.php" hash="b0d922b0a0ff81d9c690828e7149bc29"/></dir><file name="Exception.php" hash="62f3fb8c7fee6758dbf00e9a90053dde"/><dir name="IO"><file name="CaseInsensitiveArray.php" hash="5ff9551b29e56f6fe92ee4f802a983f3"/><file name="Curl.php" hash="90f0df8763a82d597fc0f93deaa13249"/></dir><file name="ResourceAbstract.php" hash="86bb4526bc73b7cf63d675c1f6eaac44"/><file name="TaxService.php" hash="03f1799cd82cd95e5412d4a2ac915361"/><dir name="Transaction"><file name="ListItemResponse.php" hash="3cbe80a9923a0b25e2350c4c6daaa3fc"/><file name="ListResponse.php" hash="491506f6f1e4044e14f1c43b2082a03a"/><file name="TransitionTransactionStateResponse.php" hash="7b9e0beb239ff0679a360d1d14945fba"/></dir><file name="Transaction.php" hash="282113bda5b0abe544fd58c844c9ee87"/></dir><file name="autoload.php" hash="997d00ba2d67253ec64a95c89c92c36b"/></dir></target></contents>
30
  <compatible/>
31
  <dependencies><required><php><min>5.2.3</min><max>6.0.0</max></php><extension><name>Core</name><min/><max/></extension><extension><name>curl</name><min/><max/></extension><extension><name>soap</name><min/><max/></extension></required></dependencies>
32
  </package>