Taxjar_Salestaxautomation - Version 2.1.2

Version Notes

* Fix calculations with associated items sharing the same product ID in configurable/bundled products.
* Fix calculations fallback for earlier versions of Magento CE before 1.8.
* Add tax by line item rather than subtotal to prevent rounding issues.
* Fix nexus check for international locations.

Download this release

Release Info

Developer TaxJar
Extension Taxjar_Salestaxautomation
Version 2.1.2
Comparing to
See all releases


Code changes from version 2.1.1 to 2.1.2

app/code/community/Taxjar/SalesTax/Block/Adminhtml/Tax/Nexus/Edit/Form.php CHANGED
@@ -106,9 +106,7 @@ class Taxjar_SalesTax_Block_Adminhtml_Tax_Nexus_Edit_Form extends Mage_Adminhtml
106
  array(
107
  'name' => 'region_id',
108
  'label' => Mage::helper('taxjar')->__('State/Region'),
109
- 'class' => 'required-entry',
110
- 'values' => $regions,
111
- 'required' => true
112
  )
113
  );
114
 
106
  array(
107
  'name' => 'region_id',
108
  'label' => Mage::helper('taxjar')->__('State/Region'),
109
+ 'values' => $regions
 
 
110
  )
111
  );
112
 
app/code/community/Taxjar/SalesTax/Model/Debug.php CHANGED
@@ -49,7 +49,7 @@ class Taxjar_SalesTax_Model_Debug
49
  $states = unserialize(Mage::getStoreConfig('tax/taxjar/states'));
50
  $apiUser = Mage::getModel('api/user');
51
  $existingUserId = $apiUser->load('taxjar', 'username')->getUserId();
52
- $pluginVersion = '2.1.1';
53
  $phpMemory = @ini_get('memory_limit');
54
  $phpVersion = @phpversion();
55
  $magentoVersion = Mage::getVersion();
49
  $states = unserialize(Mage::getStoreConfig('tax/taxjar/states'));
50
  $apiUser = Mage::getModel('api/user');
51
  $existingUserId = $apiUser->load('taxjar', 'username')->getUserId();
52
+ $pluginVersion = '2.1.2';
53
  $phpMemory = @ini_get('memory_limit');
54
  $phpVersion = @phpversion();
55
  $magentoVersion = Mage::getVersion();
app/code/community/Taxjar/SalesTax/Model/Sales/Total/Quote/Tax.php CHANGED
@@ -50,11 +50,6 @@ class Taxjar_SalesTax_Model_Sales_Total_Quote_Tax extends Mage_Tax_Model_Sales_T
50
  } else {
51
  $shippingTaxAmount = 0;
52
  }
53
-
54
- $taxAmount = $rates['amount_to_collect'] - $shippingTaxAmount;
55
-
56
- $this->_addAmount($store->convertPrice($taxAmount));
57
- $this->_addBaseAmount($taxAmount);
58
 
59
  $this->_addAmount($store->convertPrice($shippingTaxAmount));
60
  $this->_addBaseAmount($shippingTaxAmount);
@@ -64,70 +59,19 @@ class Taxjar_SalesTax_Model_Sales_Total_Quote_Tax extends Mage_Tax_Model_Sales_T
64
 
65
  if (count($items) > 0) {
66
  foreach ($items as $item) {
67
- $itemTax = $smartCalcs->getResponseLineItem($item->getProductId());
68
 
69
  if (isset($itemTax)) {
 
 
70
  $item->setTaxPercent($itemTax['combined_tax_rate'] * 100);
71
  $item->setTaxAmount($store->convertPrice($itemTax['tax_collectable']));
72
- $item->setBaseTaxAmount($itemTax['tax_collectable']);
73
  }
74
  }
75
  }
76
  } else {
77
- $this->_store = $address->getQuote()->getStore();
78
- $customer = $address->getQuote()->getCustomer();
79
- if ($customer) {
80
- $this->_calculator->setCustomer($customer);
81
- }
82
-
83
- if (!$address->getAppliedTaxesReset()) {
84
- $address->setAppliedTaxes(array());
85
- }
86
-
87
- $items = $this->_getAddressItems($address);
88
- if (!count($items)) {
89
- return $this;
90
- }
91
- $request = $this->_calculator->getRateRequest(
92
- $address,
93
- $address->getQuote()->getBillingAddress(),
94
- $address->getQuote()->getCustomerTaxClassId(),
95
- $this->_store
96
- );
97
-
98
- if ($this->_config->priceIncludesTax($this->_store)) {
99
- if ($this->_helper->isCrossBorderTradeEnabled($this->_store)) {
100
- $this->_areTaxRequestsSimilar = true;
101
- } else {
102
- $this->_areTaxRequestsSimilar = $this->_calculator->compareRequests(
103
- $this->_calculator->getRateOriginRequest($this->_store),
104
- $request
105
- );
106
- }
107
- }
108
-
109
- switch ($this->_config->getAlgorithm($this->_store)) {
110
- case Mage_Tax_Model_Calculation::CALC_UNIT_BASE:
111
- $this->_unitBaseCalculation($address, $request);
112
- break;
113
- case Mage_Tax_Model_Calculation::CALC_ROW_BASE:
114
- $this->_rowBaseCalculation($address, $request);
115
- break;
116
- case Mage_Tax_Model_Calculation::CALC_TOTAL_BASE:
117
- $this->_totalBaseCalculation($address, $request);
118
- break;
119
- default:
120
- break;
121
- }
122
-
123
- $this->_addAmount($address->getExtraTaxAmount());
124
- $this->_addBaseAmount($address->getBaseExtraTaxAmount());
125
- $this->_calculateShippingTax($address, $request);
126
-
127
- $this->_processHiddenTaxes();
128
-
129
- //round total amounts in address
130
- $this->_roundTotals($address);
131
  }
132
 
133
  return $this;
50
  } else {
51
  $shippingTaxAmount = 0;
52
  }
 
 
 
 
 
53
 
54
  $this->_addAmount($store->convertPrice($shippingTaxAmount));
55
  $this->_addBaseAmount($shippingTaxAmount);
59
 
60
  if (count($items) > 0) {
61
  foreach ($items as $item) {
62
+ $itemTax = $smartCalcs->getResponseLineItem($item->getId());
63
 
64
  if (isset($itemTax)) {
65
+ $this->_addAmount($store->convertPrice($itemTax['tax_collectable']));
66
+ $this->_addBaseAmount($itemTax['tax_collectable']);
67
  $item->setTaxPercent($itemTax['combined_tax_rate'] * 100);
68
  $item->setTaxAmount($store->convertPrice($itemTax['tax_collectable']));
69
+ $item->setBaseTaxAmount($itemTax['tax_collectable']);
70
  }
71
  }
72
  }
73
  } else {
74
+ return parent::collect($address);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  }
76
 
77
  return $this;
app/code/community/Taxjar/SalesTax/Model/Smartcalcs.php CHANGED
@@ -43,11 +43,11 @@ class Taxjar_SalesTax_Model_Smartcalcs
43
  return;
44
  }
45
 
46
- if (!$address->getRegionCode() || !$address->getPostcode()) {
47
  return;
48
  }
49
 
50
- if (!$this->_hasNexus($address->getRegionCode())) {
51
  return;
52
  }
53
 
@@ -130,16 +130,16 @@ class Taxjar_SalesTax_Model_Smartcalcs
130
  *
131
  * @return array
132
  */
133
- public function getResponseLineItem($productId)
134
  {
135
  if ($this->_response) {
136
  $responseBody = json_decode($this->_response->getBody(), true);
137
 
138
  if (isset($responseBody['tax']['breakdown']['line_items'])) {
139
  $lineItems = $responseBody['tax']['breakdown']['line_items'];
140
- $matchedKey = array_search($productId, Mage::helper('taxjar')->array_column($lineItems, 'id'));
141
 
142
- if (isset($lineItems[$matchedKey])) {
143
  return $lineItems[$matchedKey];
144
  }
145
  }
@@ -150,17 +150,28 @@ class Taxjar_SalesTax_Model_Smartcalcs
150
  * Verify if nexus is triggered for location
151
  *
152
  * @param string $regionCode
 
153
  * @return bool
154
  */
155
- private function _hasNexus($regionCode)
156
  {
157
- $nexusInRegion = Mage::getModel('taxjar/tax_nexus')->getCollection()->addFieldToFilter('region_code', $regionCode);
158
-
159
- if ($nexusInRegion->getSize()) {
160
- return true;
 
 
 
 
161
  } else {
162
- return false;
 
 
 
 
163
  }
 
 
164
  }
165
 
166
  /**
@@ -176,20 +187,22 @@ class Taxjar_SalesTax_Model_Smartcalcs
176
 
177
  if (count($items) > 0) {
178
  foreach ($items as $item) {
179
- $id = $item->getProductId();
180
  $quantity = $item->getQty();
181
  $taxClass = Mage::getModel('tax/class')->load($item->getProduct()->getTaxClassId());
182
  $taxCode = $taxClass->getTjSalestaxCode();
183
  $unitPrice = (float) $item->getPrice();
184
  $discount = (float) $item->getDiscountAmount();
185
 
186
- array_push($lineItems, array(
187
- 'id' => $id,
188
- 'quantity' => $quantity,
189
- 'product_tax_code' => $taxCode,
190
- 'unit_price' => $unitPrice,
191
- 'discount' => $discount,
192
- ));
 
 
193
  }
194
  }
195
 
43
  return;
44
  }
45
 
46
+ if (!$address->getPostcode()) {
47
  return;
48
  }
49
 
50
+ if (!$this->_hasNexus($address->getRegionCode(), $address->getCountry())) {
51
  return;
52
  }
53
 
130
  *
131
  * @return array
132
  */
133
+ public function getResponseLineItem($id)
134
  {
135
  if ($this->_response) {
136
  $responseBody = json_decode($this->_response->getBody(), true);
137
 
138
  if (isset($responseBody['tax']['breakdown']['line_items'])) {
139
  $lineItems = $responseBody['tax']['breakdown']['line_items'];
140
+ $matchedKey = array_search($id, Mage::helper('taxjar')->array_column($lineItems, 'id'));
141
 
142
+ if (isset($lineItems[$matchedKey]) && $matchedKey !== false) {
143
  return $lineItems[$matchedKey];
144
  }
145
  }
150
  * Verify if nexus is triggered for location
151
  *
152
  * @param string $regionCode
153
+ * @param string $country
154
  * @return bool
155
  */
156
+ private function _hasNexus($regionCode, $country)
157
  {
158
+ $nexusCollection = Mage::getModel('taxjar/tax_nexus')->getCollection();
159
+
160
+ if ($country == 'US') {
161
+ $nexusInRegion = $nexusCollection->addFieldToFilter('region_code', $regionCode);
162
+
163
+ if ($nexusInRegion->getSize()) {
164
+ return true;
165
+ }
166
  } else {
167
+ $nexusInCountry = $nexusCollection->addFieldToFilter('country_id', $country);
168
+
169
+ if ($nexusInCountry->getSize()) {
170
+ return true;
171
+ }
172
  }
173
+
174
+ return false;
175
  }
176
 
177
  /**
187
 
188
  if (count($items) > 0) {
189
  foreach ($items as $item) {
190
+ $id = $item->getId();
191
  $quantity = $item->getQty();
192
  $taxClass = Mage::getModel('tax/class')->load($item->getProduct()->getTaxClassId());
193
  $taxCode = $taxClass->getTjSalestaxCode();
194
  $unitPrice = (float) $item->getPrice();
195
  $discount = (float) $item->getDiscountAmount();
196
 
197
+ if ($unitPrice) {
198
+ array_push($lineItems, array(
199
+ 'id' => $id,
200
+ 'quantity' => $quantity,
201
+ 'product_tax_code' => $taxCode,
202
+ 'unit_price' => $unitPrice,
203
+ 'discount' => $discount,
204
+ ));
205
+ }
206
  }
207
  }
208
 
app/code/community/Taxjar/SalesTax/Model/Tax/Nexus.php CHANGED
@@ -153,10 +153,6 @@ class Taxjar_SalesTax_Model_Tax_Nexus extends Mage_Core_Model_Abstract
153
  $errors[] = Mage::helper('taxjar')->__('Country can\'t be empty');
154
  }
155
 
156
- if (!Zend_Validate::is($this->getRegionId(), 'NotEmpty')) {
157
- $errors[] = Mage::helper('taxjar')->__('State/region can\'t be empty');
158
- }
159
-
160
  if (!Zend_Validate::is($this->getPostcode(), 'NotEmpty')) {
161
  $errors[] = Mage::helper('taxjar')->__('Zip/Post Code can\'t be empty');
162
  }
153
  $errors[] = Mage::helper('taxjar')->__('Country can\'t be empty');
154
  }
155
 
 
 
 
 
156
  if (!Zend_Validate::is($this->getPostcode(), 'NotEmpty')) {
157
  $errors[] = Mage::helper('taxjar')->__('Zip/Post Code can\'t be empty');
158
  }
app/code/community/Taxjar/SalesTax/etc/config.xml CHANGED
@@ -19,7 +19,7 @@
19
  <config>
20
  <modules>
21
  <Taxjar_SalesTax>
22
- <version>2.1.1</version>
23
  </Taxjar_SalesTax>
24
  </modules>
25
  <global>
19
  <config>
20
  <modules>
21
  <Taxjar_SalesTax>
22
+ <version>2.1.2</version>
23
  </Taxjar_SalesTax>
24
  </modules>
25
  <global>
package.xml CHANGED
@@ -1,20 +1,21 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Taxjar_Salestaxautomation</name>
4
- <version>2.1.1</version>
5
  <stability>stable</stability>
6
- <license>MIT</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Easily collect sales tax without altering your Magento store&#x2019;s checkout experience or performance.</summary>
10
  <description>TaxJar for Magento allows you to quickly calculate sales tax at checkout using our SmartCalcs API and zip-based rates as a backup.</description>
11
- <notes>* Fix nexus upgrade script for v2.0.1 users.&#xD;
12
- * Purge nexus addresses on disconnect for switching accounts.&#xD;
13
- * Package nexus address template form.phtml.</notes>
 
14
  <authors><author><name>TaxJar</name><user>taxjar</user><email>support@taxjar.com</email></author></authors>
15
- <date>2016-06-16</date>
16
- <time>17:25:41</time>
17
- <contents><target name="magecommunity"><dir name="Taxjar"><dir name="SalesTax"><dir name="Block"><dir name="Adminhtml"><file name="Backup.php" hash="97933cb0f04c30baab4af5af24412f8d"/><file name="Enabled.php" hash="29462c876c8ea67c21a6f4d799b53925"/><file name="Multiselect.php" hash="a1a7ea16e85cbc27b3014a2cc7d24c95"/><dir name="Tax"><dir name="Class"><dir name="Edit"><file name="Form.php" hash="655e276e44ad233b055eee8965391088"/></dir><file name="Grid.php" hash="a52bbe41bc9255bf54720ab4142bfaa7"/></dir><dir name="Nexus"><dir name="Edit"><file name="Form.php" hash="d4f40eea98055fe60409863066c72454"/></dir><file name="Edit.php" hash="e8bffbb5bc4ff17c368543c2508c00a5"/><file name="Grid.php" hash="ccb748472a7a20ae0f5f0e3df58d5edf"/></dir><file name="Nexus.php" hash="65d93fb5dbfa747b2d59a5f521863fc6"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="d19f2af9ff020d2e0d31369cf43eac50"/></dir><dir name="Model"><file name="Calculation.php" hash="89c05ee42f8316563ea610f11b53a26d"/><file name="Categories.php" hash="934947240f1a1c7ae7b9ba323aacabd6"/><file name="Client.php" hash="1bda5172a54d2f7c7ef290a9d71a8f37"/><file name="Comment.php" hash="07bf5fbd4fe084233f11dc64a3b6de43"/><file name="Configuration.php" hash="c59b69931392eb896e4d0c46b7d2e38b"/><file name="Debug.php" hash="daa0e463a9d0717fed5edf05905ca35f"/><dir name="Import"><file name="Comment.php" hash="958de1f883a6f67f1fa1c26d5d67e3ec"/><file name="Rate.php" hash="00ad69812c8d2f31915cac959483c1eb"/><file name="Rule.php" hash="597ff0e337b4e04e43660b4d4f05d0e0"/></dir><dir name="Observer"><file name="AdminMenuItems.php" hash="f62dbedd59e82f6b556c832064859ded"/><file name="AdminNotifications.php" hash="462c1210a649d81a2a49db7c03d7f293"/><file name="ConfigChanged.php" hash="9a916f26f223c22cda229c2e61a3d119"/><file name="ConfigReview.php" hash="d1ae83a4e074e034440f3074724bdefb"/><file name="ImportData.php" hash="ca21015ca41f8352fe015b4a82fc428d"/><file name="ImportRates.php" hash="95cbcd73ed1914bdfc3459631308d35d"/><file name="SalesQuoteCollectTotalsBefore.php" hash="37c28ddaf8a27d548bf463fff1aa7da1"/></dir><dir name="Resource"><dir name="Tax"><dir name="Nexus"><file name="Collection.php" hash="75cae3600991518db909a08d5031ff6a"/></dir><file name="Nexus.php" hash="b43e437c89ed549c9ec20af2841dfb1b"/></dir></dir><dir name="Sales"><dir name="Total"><dir name="Quote"><file name="Tax.php" hash="71399362c1f7d057626f6658f15bbe38"/></dir></dir></dir><file name="Smartcalcs.php" hash="f997c65ecd55042e4f3b23d7c47738d0"/><dir name="Tax"><dir name="Class"><dir name="Source"><file name="Customer.php" hash="9f2941032dc80219f9def35de5c5afc8"/><file name="Product.php" hash="3e0d0826d3d43e8a7c63f2e2e44b810a"/></dir></dir><file name="Nexus.php" hash="7e559a59d41feb796c6a19550badb6c6"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Tax"><file name="NexusController.php" hash="cc61d7e6dd1adc53996513d549c757bd"/></dir><file name="TaxjarController.php" hash="4aa4178a4f810c199de947b13223fdab"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="b88bc6bfb95dfbd8f5343ae0128dbe11"/><file name="config.xml" hash="de3ffdc9f9b1be5c4cb8c34a43b632c6"/><file name="system.xml" hash="7307753f550f490112ded20317c1a07d"/></dir><dir name="sql"><dir name="salestax_setup"><file name="install-1.6.0.php" hash="9d400004ec642113a8cc907fe5d33960"/><file name="upgrade-2.0.1-2.1.0.php" hash="f4571be5edfe2a7d6a54a0e239792907"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Taxjar_SalesTax.xml" hash="552596be5ec12440753bf69ed6005747"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="taxjar"><dir name="nexus"><file name="form.phtml" hash="e5b3ac4950aa351f9bd0876f3adcf136"/></dir></dir></dir></dir></dir></dir></target></contents>
18
  <compatible/>
19
  <dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
20
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Taxjar_Salestaxautomation</name>
4
+ <version>2.1.2</version>
5
  <stability>stable</stability>
6
+ <license>OSL-3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Easily collect sales tax without altering your Magento store&#x2019;s checkout experience or performance.</summary>
10
  <description>TaxJar for Magento allows you to quickly calculate sales tax at checkout using our SmartCalcs API and zip-based rates as a backup.</description>
11
+ <notes>* Fix calculations with associated items sharing the same product ID in configurable/bundled products.&#xD;
12
+ * Fix calculations fallback for earlier versions of Magento CE before 1.8.&#xD;
13
+ * Add tax by line item rather than subtotal to prevent rounding issues.&#xD;
14
+ * Fix nexus check for international locations.</notes>
15
  <authors><author><name>TaxJar</name><user>taxjar</user><email>support@taxjar.com</email></author></authors>
16
+ <date>2016-06-24</date>
17
+ <time>23:14:57</time>
18
+ <contents><target name="magecommunity"><dir name="Taxjar"><dir name="SalesTax"><dir name="Block"><dir name="Adminhtml"><file name="Backup.php" hash="97933cb0f04c30baab4af5af24412f8d"/><file name="Enabled.php" hash="29462c876c8ea67c21a6f4d799b53925"/><file name="Multiselect.php" hash="a1a7ea16e85cbc27b3014a2cc7d24c95"/><dir name="Tax"><dir name="Class"><dir name="Edit"><file name="Form.php" hash="655e276e44ad233b055eee8965391088"/></dir><file name="Grid.php" hash="a52bbe41bc9255bf54720ab4142bfaa7"/></dir><dir name="Nexus"><dir name="Edit"><file name="Form.php" hash="7f192c00ce3630910e40a120f90d3fa6"/></dir><file name="Edit.php" hash="e8bffbb5bc4ff17c368543c2508c00a5"/><file name="Grid.php" hash="ccb748472a7a20ae0f5f0e3df58d5edf"/></dir><file name="Nexus.php" hash="65d93fb5dbfa747b2d59a5f521863fc6"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="d19f2af9ff020d2e0d31369cf43eac50"/></dir><dir name="Model"><file name="Calculation.php" hash="89c05ee42f8316563ea610f11b53a26d"/><file name="Categories.php" hash="934947240f1a1c7ae7b9ba323aacabd6"/><file name="Client.php" hash="1bda5172a54d2f7c7ef290a9d71a8f37"/><file name="Comment.php" hash="07bf5fbd4fe084233f11dc64a3b6de43"/><file name="Configuration.php" hash="c59b69931392eb896e4d0c46b7d2e38b"/><file name="Debug.php" hash="8cb4df29a5898e28d1f306c4ed224b56"/><dir name="Import"><file name="Comment.php" hash="958de1f883a6f67f1fa1c26d5d67e3ec"/><file name="Rate.php" hash="00ad69812c8d2f31915cac959483c1eb"/><file name="Rule.php" hash="597ff0e337b4e04e43660b4d4f05d0e0"/></dir><dir name="Observer"><file name="AdminMenuItems.php" hash="f62dbedd59e82f6b556c832064859ded"/><file name="AdminNotifications.php" hash="462c1210a649d81a2a49db7c03d7f293"/><file name="ConfigChanged.php" hash="9a916f26f223c22cda229c2e61a3d119"/><file name="ConfigReview.php" hash="d1ae83a4e074e034440f3074724bdefb"/><file name="ImportData.php" hash="ca21015ca41f8352fe015b4a82fc428d"/><file name="ImportRates.php" hash="95cbcd73ed1914bdfc3459631308d35d"/><file name="SalesQuoteCollectTotalsBefore.php" hash="37c28ddaf8a27d548bf463fff1aa7da1"/></dir><dir name="Resource"><dir name="Tax"><dir name="Nexus"><file name="Collection.php" hash="75cae3600991518db909a08d5031ff6a"/></dir><file name="Nexus.php" hash="b43e437c89ed549c9ec20af2841dfb1b"/></dir></dir><dir name="Sales"><dir name="Total"><dir name="Quote"><file name="Tax.php" hash="385d9e5622f30297f83c025c02cca2ac"/></dir></dir></dir><file name="Smartcalcs.php" hash="acd9bf32449dd416e0d79fe322f0e0c0"/><dir name="Tax"><dir name="Class"><dir name="Source"><file name="Customer.php" hash="9f2941032dc80219f9def35de5c5afc8"/><file name="Product.php" hash="3e0d0826d3d43e8a7c63f2e2e44b810a"/></dir></dir><file name="Nexus.php" hash="df4d5c4247d3a590647a91a25dda338b"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Tax"><file name="NexusController.php" hash="cc61d7e6dd1adc53996513d549c757bd"/></dir><file name="TaxjarController.php" hash="4aa4178a4f810c199de947b13223fdab"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="b88bc6bfb95dfbd8f5343ae0128dbe11"/><file name="config.xml" hash="de2ffbd59ae15382074417b1b364040d"/><file name="system.xml" hash="7307753f550f490112ded20317c1a07d"/></dir><dir name="sql"><dir name="salestax_setup"><file name="install-1.6.0.php" hash="9d400004ec642113a8cc907fe5d33960"/><file name="upgrade-2.0.1-2.1.0.php" hash="f4571be5edfe2a7d6a54a0e239792907"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Taxjar_SalesTax.xml" hash="552596be5ec12440753bf69ed6005747"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="taxjar"><dir name="nexus"><file name="form.phtml" hash="e5b3ac4950aa351f9bd0876f3adcf136"/></dir></dir></dir></dir></dir></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
21
  </package>