Version Notes
Fixed issue with VAT calculations when 'all inclusive' VAT setting was used.
Download this release
Release Info
| Developer | Ronald Kas |
| Extension | EBoekhouden_Export |
| Version | 4.1.26 |
| Comparing to | |
| See all releases | |
Code changes from version 4.1.25 to 4.1.26
app/code/community/Eboekhouden/Export/Model/Export/Sales.php
CHANGED
|
@@ -386,7 +386,7 @@ class Eboekhouden_Export_Model_Export_Sales
|
|
| 386 |
&& 0 < $oContainer->getBaseDiscountAmount()
|
| 387 |
&& $fDiscountLeft >= 0.01 )
|
| 388 |
{
|
| 389 |
-
// There is discount applied on the order but not on the
|
| 390 |
// and there is discount left. That discount must be for the shipping, so let's add it.
|
| 391 |
$oShippingItem->setBaseDiscountAmount($fDiscountLeft);
|
| 392 |
}
|
|
@@ -608,8 +608,18 @@ class Eboekhouden_Export_Model_Export_Sales
|
|
| 608 |
if ( $this->_oTaxConfig->applyTaxAfterDiscount() )
|
| 609 |
{
|
| 610 |
// Apply Tax after Discount
|
| 611 |
-
|
| 612 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 613 |
}
|
| 614 |
else
|
| 615 |
{
|
|
@@ -632,7 +642,7 @@ class Eboekhouden_Export_Model_Export_Sales
|
|
| 632 |
$iGbRekening = false;
|
| 633 |
$iCostcenter = false;
|
| 634 |
$sProductId = $oItem->getProductId();
|
| 635 |
-
|
| 636 |
if (!empty($sProductId))
|
| 637 |
{
|
| 638 |
if ( preg_match( '|^weee_(.+)$|', $sProductId, $aMatch ) )
|
|
@@ -644,7 +654,7 @@ class Eboekhouden_Export_Model_Export_Sales
|
|
| 644 |
{
|
| 645 |
$sComment .= $oItem->getTitle().': ';
|
| 646 |
}
|
| 647 |
-
|
| 648 |
if ('shipping' == $sProductId)
|
| 649 |
{
|
| 650 |
$iGbRekening = $aSettings['sShipLedgerAcc'];
|
|
@@ -718,17 +728,29 @@ class Eboekhouden_Export_Model_Export_Sales
|
|
| 718 |
$iResult = false;
|
| 719 |
$iStoreId = $oOrder->getStoreId();
|
| 720 |
$iCustomerId = $oOrder->getCustomerId();
|
| 721 |
-
|
| 722 |
-
|
| 723 |
-
if (!empty($iCustomerId))
|
| 724 |
{
|
| 725 |
$oCustomer = Mage::getModel('customer/customer')->load($iCustomerId);
|
| 726 |
-
|
| 727 |
-
$iCustomerGroupId = $oCustomer->getGroupId();
|
| 728 |
}
|
| 729 |
-
|
| 730 |
-
|
| 731 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 732 |
return $iResult;
|
| 733 |
}
|
| 734 |
|
|
@@ -768,11 +790,23 @@ class Eboekhouden_Export_Model_Export_Sales
|
|
| 768 |
$fVatPercent = 0;
|
| 769 |
if ( !empty($fTempPriceEx)
|
| 770 |
&& is_numeric($fTempPriceEx)
|
| 771 |
-
&& 0 != 1 * $fTempPriceEx
|
| 772 |
-
)
|
| 773 |
{
|
| 774 |
$fVatPercent = 100 * $fTempTaxAmount / $fTempPriceEx;
|
| 775 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 776 |
}
|
| 777 |
$fVatPercent = floatval($fVatPercent);
|
| 778 |
$fVatPercent = $this->_vatPercRound($fVatPercent);
|
|
@@ -889,10 +923,14 @@ class Eboekhouden_Export_Model_Export_Sales
|
|
| 889 |
{
|
| 890 |
$sVatCode = 'LAAG_VERK';
|
| 891 |
}
|
| 892 |
-
|
| 893 |
{
|
| 894 |
$sVatCode = 'HOOG_VERK';
|
| 895 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 896 |
}
|
| 897 |
|
| 898 |
return $sVatCode;
|
| 386 |
&& 0 < $oContainer->getBaseDiscountAmount()
|
| 387 |
&& $fDiscountLeft >= 0.01 )
|
| 388 |
{
|
| 389 |
+
// There is discount applied on the order but not on the shipping cost
|
| 390 |
// and there is discount left. That discount must be for the shipping, so let's add it.
|
| 391 |
$oShippingItem->setBaseDiscountAmount($fDiscountLeft);
|
| 392 |
}
|
| 608 |
if ( $this->_oTaxConfig->applyTaxAfterDiscount() )
|
| 609 |
{
|
| 610 |
// Apply Tax after Discount
|
| 611 |
+
if ( $this->_oTaxConfig->discountTax() )
|
| 612 |
+
{
|
| 613 |
+
// Apply Discount On Prices: Including Tax
|
| 614 |
+
$fDiscountAmountEx = $fDiscountAmount / $fVatFactor;
|
| 615 |
+
}
|
| 616 |
+
else
|
| 617 |
+
{
|
| 618 |
+
// Apply Discount On Prices: Excluding Tax
|
| 619 |
+
$fDiscountAmountEx = $fDiscountAmount;
|
| 620 |
+
}
|
| 621 |
+
$fPriceIn = ( $oItem->getBaseRowTotal() - $fDiscountAmountEx ) * $fVatFactor;
|
| 622 |
+
$sComment .= ' ['.$fPriceIn.' = ('.$oItem->getBaseRowTotal().' - '.$fDiscountAmountEx.') * '.$fVatFactor.'] ';
|
| 623 |
}
|
| 624 |
else
|
| 625 |
{
|
| 642 |
$iGbRekening = false;
|
| 643 |
$iCostcenter = false;
|
| 644 |
$sProductId = $oItem->getProductId();
|
| 645 |
+
|
| 646 |
if (!empty($sProductId))
|
| 647 |
{
|
| 648 |
if ( preg_match( '|^weee_(.+)$|', $sProductId, $aMatch ) )
|
| 654 |
{
|
| 655 |
$sComment .= $oItem->getTitle().': ';
|
| 656 |
}
|
| 657 |
+
|
| 658 |
if ('shipping' == $sProductId)
|
| 659 |
{
|
| 660 |
$iGbRekening = $aSettings['sShipLedgerAcc'];
|
| 728 |
$iResult = false;
|
| 729 |
$iStoreId = $oOrder->getStoreId();
|
| 730 |
$iCustomerId = $oOrder->getCustomerId();
|
| 731 |
+
|
| 732 |
+
if ( !empty($iCustomerId) )
|
|
|
|
| 733 |
{
|
| 734 |
$oCustomer = Mage::getModel('customer/customer')->load($iCustomerId);
|
| 735 |
+
$iResult = $oCustomer->getTaxClassId();
|
|
|
|
| 736 |
}
|
| 737 |
+
|
| 738 |
+
if ( empty($iResult) )
|
| 739 |
+
{
|
| 740 |
+
// We need to get the tax class id based on the customer group.
|
| 741 |
+
// Set default group id first
|
| 742 |
+
$iCustomerGroupId = Mage::getStoreConfig('customer/create_account/default_group', $iStoreId);
|
| 743 |
+
if (!empty($iCustomerId))
|
| 744 |
+
{
|
| 745 |
+
$oCustomer = Mage::getModel('customer/customer')->load($iCustomerId);
|
| 746 |
+
/* @var $oCustomer Mage_Customer_Model_Customer */
|
| 747 |
+
$iCustomerGroupId = $oCustomer->getGroupId();
|
| 748 |
+
}
|
| 749 |
+
$oCustomerGroup = Mage::getModel('customer/group')->load($iCustomerGroupId);
|
| 750 |
+
/* @var $oCustomerGroup Mage_Customer_Model_Group */
|
| 751 |
+
$iResult = $oCustomerGroup->getTaxClassId();
|
| 752 |
+
}
|
| 753 |
+
|
| 754 |
return $iResult;
|
| 755 |
}
|
| 756 |
|
| 790 |
$fVatPercent = 0;
|
| 791 |
if ( !empty($fTempPriceEx)
|
| 792 |
&& is_numeric($fTempPriceEx)
|
| 793 |
+
&& 0 != 1 * $fTempPriceEx // prevent division by zero
|
| 794 |
+
)
|
| 795 |
{
|
| 796 |
$fVatPercent = 100 * $fTempTaxAmount / $fTempPriceEx;
|
| 797 |
}
|
| 798 |
+
|
| 799 |
+
if ( 0 == $fVatPercent // No VAT precentage found yet
|
| 800 |
+
&& $oItem->getBasePriceInclTax() != $oItem->getBasePrice() // Non-discount In and Ex price is not the same
|
| 801 |
+
&& 0 < $oItem->getBaseHiddenTaxAmount() // - prevent division by zero
|
| 802 |
+
)
|
| 803 |
+
{
|
| 804 |
+
// In this case we calculate VAT based on the price before discount.
|
| 805 |
+
// It is important to find the right VAT percentage because it is used for several calculations
|
| 806 |
+
// even if the total row amount is 0.
|
| 807 |
+
$fOriginalVatAmount = $oItem->getBasePriceInclTax() - $oItem->getBasePrice();
|
| 808 |
+
$fVatPercent = 100 * $fOriginalVatAmount / $oItem->getBasePrice();
|
| 809 |
+
}
|
| 810 |
}
|
| 811 |
$fVatPercent = floatval($fVatPercent);
|
| 812 |
$fVatPercent = $this->_vatPercRound($fVatPercent);
|
| 923 |
{
|
| 924 |
$sVatCode = 'LAAG_VERK';
|
| 925 |
}
|
| 926 |
+
elseif (19 == $fVatPercent)
|
| 927 |
{
|
| 928 |
$sVatCode = 'HOOG_VERK';
|
| 929 |
}
|
| 930 |
+
else
|
| 931 |
+
{
|
| 932 |
+
$sVatCode = 'HOOG_VERK_21';
|
| 933 |
+
}
|
| 934 |
}
|
| 935 |
|
| 936 |
return $sVatCode;
|
package.xml
CHANGED
|
@@ -1,8 +1,8 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>EBoekhouden_Export</name>
|
| 4 |
-
<version>4.1.
|
| 5 |
-
<stability>
|
| 6 |
<license uri="http://opensource.org/licenses/mit-license.php">MIT</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
|
@@ -31,11 +31,11 @@ Meer informatie over deze koppeling met Magento kunt u terugvinden als u ingelog
|
|
| 31 |
-----------------------------------------------------
|
| 32 |
Info about uninstalling can be found in 
|
| 33 |
app/code/community/Eboekhouden/Export/sql/HOWTO_UnInstall.sql</description>
|
| 34 |
-
<notes>
|
| 35 |
<authors><author><name>Ronald Kas</name><user>eboekhoudennl</user><email>info@e-boekhouden.nl</email></author></authors>
|
| 36 |
-
<date>
|
| 37 |
-
<time>
|
| 38 |
-
<contents><target name="magecommunity"><dir name="Eboekhouden"><dir name="Export"><dir name="Block"><dir name="Config"><dir name="Info"><file name="Version.php" hash="e8957685d4f906457d1eb45853702e1f"/></dir></dir><dir name="Sales"><dir name="Creditmemo"><file name="Grid.php" hash="5d323b6842ac429c346fc1a00d8b38ee"/></dir><dir name="Invoice"><file name="Grid.php" hash="264f95548e6d5dd501a4c613fb38b3a8"/></dir><dir name="Order"><file name="Grid.php" hash="a1a9fe52f445f7f40e553b4c7f6dce99"/></dir></dir><dir name="Tax"><dir name="Rate"><file name="Form.php" hash="ea36d8fde2272e24f5187c0bfd9deb76"/><dir name="Grid"><dir name="Renderer"><file name="Ebvatcode.php" hash="d34d2edd9593e4d2c23a20c8e0864c95"/></dir></dir><file name="Grid.php" hash="ca50f669ccd75b1365d5937d0390fe3e"/></dir></dir></dir><dir name="Helper"><file name="AccountNumber.php" hash="599c8af6b93e2206c631aa79e9ba5dd4"/><file name="Data.php" hash="649880c1071e2453ae8536e89349527c"/></dir><dir name="Model"><dir name="Config"><file name="Costcenter.php" hash="7f280ef51e003de0bf80f0ab2b9685f0"/><file name="Ledgeraccount.php" hash="318e87f5932d4bd898d1552d27c50bc7"/><file name="Taxcalculationrate.php" hash="9871b70f56e8fee7cd3364bc8b3de2c5"/></dir><dir name="Export"><file name="Sales.php" hash="
|
| 39 |
<compatible/>
|
| 40 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
| 41 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>EBoekhouden_Export</name>
|
| 4 |
+
<version>4.1.26</version>
|
| 5 |
+
<stability>alpha</stability>
|
| 6 |
<license uri="http://opensource.org/licenses/mit-license.php">MIT</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 31 |
-----------------------------------------------------
|
| 32 |
Info about uninstalling can be found in 
|
| 33 |
app/code/community/Eboekhouden/Export/sql/HOWTO_UnInstall.sql</description>
|
| 34 |
+
<notes>Fixed issue with VAT calculations when 'all inclusive' VAT setting was used.</notes>
|
| 35 |
<authors><author><name>Ronald Kas</name><user>eboekhoudennl</user><email>info@e-boekhouden.nl</email></author></authors>
|
| 36 |
+
<date>2014-03-24</date>
|
| 37 |
+
<time>15:58:39</time>
|
| 38 |
+
<contents><target name="magecommunity"><dir name="Eboekhouden"><dir name="Export"><dir name="Block"><dir name="Config"><dir name="Info"><file name="Version.php" hash="e8957685d4f906457d1eb45853702e1f"/></dir></dir><dir name="Sales"><dir name="Creditmemo"><file name="Grid.php" hash="5d323b6842ac429c346fc1a00d8b38ee"/></dir><dir name="Invoice"><file name="Grid.php" hash="264f95548e6d5dd501a4c613fb38b3a8"/></dir><dir name="Order"><file name="Grid.php" hash="a1a9fe52f445f7f40e553b4c7f6dce99"/></dir></dir><dir name="Tax"><dir name="Rate"><file name="Form.php" hash="ea36d8fde2272e24f5187c0bfd9deb76"/><dir name="Grid"><dir name="Renderer"><file name="Ebvatcode.php" hash="d34d2edd9593e4d2c23a20c8e0864c95"/></dir></dir><file name="Grid.php" hash="ca50f669ccd75b1365d5937d0390fe3e"/></dir></dir></dir><dir name="Helper"><file name="AccountNumber.php" hash="599c8af6b93e2206c631aa79e9ba5dd4"/><file name="Data.php" hash="649880c1071e2453ae8536e89349527c"/></dir><dir name="Model"><dir name="Config"><file name="Costcenter.php" hash="7f280ef51e003de0bf80f0ab2b9685f0"/><file name="Ledgeraccount.php" hash="318e87f5932d4bd898d1552d27c50bc7"/><file name="Taxcalculationrate.php" hash="9871b70f56e8fee7cd3364bc8b3de2c5"/></dir><dir name="Export"><file name="Sales.php" hash="12f86eb53fdad3f20dd75e68d95b5cf7"/></dir><dir name="Import"><file name="Costcenter.php" hash="593b1a269583073098f5c1f52002058f"/><file name="Ebcode.php" hash="4127f3460ccb06e800f88baf86a58008"/><file name="Gbcodes.php" hash="d513db427803e3c079f6577b7b240219"/></dir><file name="Info.php" hash="c8dbbbaeead14393cb36c0eec5706882"/><dir name="Product"><dir name="Attribute"><file name="Costcenter.php" hash="3b1e02791a8ff9782d18f14afdc90221"/><file name="Ledgeraccount.php" hash="132f16b2407b579605cb24de6ea5b6ab"/></dir></dir><dir name="Tax"><dir name="Attribute"><file name="Ebtaxcode.php" hash="0b34f8d566896c3fbab02ddaabf55536"/></dir></dir></dir><dir name="controllers"><dir name="Catalog"><file name="ProductController.php" hash="b19ff72404a75fcb1d89da436d3c68e9"/></dir><dir name="Export"><file name="SaleController.php" hash="c4f64b12685ad9558dff62f26ac7e6f2"/></dir><file name="MutatieController.php" hash="1634fcb7298ef44b369f9ac9fbdf87b4"/></dir><dir name="etc"><file name="config.xml" hash="ef4d19fe8edcaa22557fd95e25c7dea9"/><file name="system.xml" hash="8f9f3db645acf4e736d80e4f50510428"/></dir><dir name="sql"><file name="HOWTO_UnInstall.sql" hash="691131453816d890630a6d3a21b6c7bf"/><dir name="eboekhouden_setup"><dir name="includes"><file name="install-current.php" hash="ddb3ff7895f4ec22fc6b4866207c9575"/></dir><file name="mysql4-install-4.1.25.php" hash="8febe17420f3a5a2e99eb86605ab3dd3"/><file name="mysql4-upgrade-1.0.2-4.0.php" hash="8febe17420f3a5a2e99eb86605ab3dd3"/><file name="mysql4-upgrade-1.0.7-4.0.php" hash="8febe17420f3a5a2e99eb86605ab3dd3"/><file name="mysql4-upgrade-1.1.5-4.0.php" hash="8febe17420f3a5a2e99eb86605ab3dd3"/><file name="mysql4-upgrade-1.2.0-4.0.php" hash="8febe17420f3a5a2e99eb86605ab3dd3"/><file name="mysql4-upgrade-1.2.2-4.0.php" hash="e0ce8dbd2e1de28479e90505abbc6297"/><file name="mysql4-upgrade-1.2.6-4.0.php" hash="8febe17420f3a5a2e99eb86605ab3dd3"/><file name="mysql4-upgrade-1.3-4.0.php" hash="8febe17420f3a5a2e99eb86605ab3dd3"/><file name="mysql4-upgrade-1.4-4.0.php" hash="8febe17420f3a5a2e99eb86605ab3dd3"/><file name="mysql4-upgrade-1.5-4.0.php" hash="8febe17420f3a5a2e99eb86605ab3dd3"/><file name="mysql4-upgrade-1.6-4.0.php" hash="8febe17420f3a5a2e99eb86605ab3dd3"/><file name="mysql4-upgrade-2.0-4.0.php" hash="b1b333b3815368af7d599e5126eca26e"/><file name="mysql4-upgrade-3.0-4.0.php" hash="b1b333b3815368af7d599e5126eca26e"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Eboekhouden_Export.xml" hash="9ced450b54f7225a83049f6bff3adbae"/></dir></target></contents>
|
| 39 |
<compatible/>
|
| 40 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
| 41 |
</package>
|
