www.uburst.com www.uburst.com

"different tax rate for every product"

Go back to the LobbyClick here to Go Back to Main ListingClick here to see helpClick here to Search the Forum

Tax, Shipping, and Handling Questions
Forum Type: Public
Moderator: edmunds
Time Zone: EST
Printer Friendly Format
Original Message
 
"different tax rate for every product"
Posted by Juan Cimadevilla on Oct-01-02 at 06:32 PM (EST)
Hello,

I have some products in the store with different tax rates, books (4% of VAT) and other items with the regular 16% of VAT applied in my country. (In all EU countries there are many VAT rates depending on the kind of product)

I'd like to be able to use the two tax ratios in mixed orders, i.e.:

1 - "book" - 10.00 (VAT 4% = 0.40)
1 - "regular item" - 10 (VAT 16% = 1.60)

Subtotal= 20.00
VAT = 2.00 (0.40+1.60)
Total= 22.00

Furthermore for international orders the VAT must be 0.00

I have configured the system to 16% VAT to local orders and 0.00 to international ones, but as the applets does not have a tax modifier I cannot set a different TAX ratio for each product.

I'm wondering if I can modify the ushop-lib.pl in any way to use some other applet's value (maybe weight or shipping modifier) as tax modifier.

Regards.

Click to Send Alert Message to the Administrator Click to edit this messageClick to EMail Click here to reply to this messageClick here to reply to this message with quotesClick to goto the Table of Contents

 Table of Contents

RE: different tax rate for every pr..., Bill Weiner, Oct-02-02, (1)
RE:RE: different tax rate for every..., Juan Cimadevilla, Oct-03-02, (2)
RE: different tax rate for every pr..., Bill Weiner, Oct-04-02, (3)

 

 
Click here to goto Click here to goto the Lobby
Messages in this discussion
 
1 . "RE: different tax rate for every product"
Posted by Bill Weiner on Oct-02-02 at 05:48 AM (EST)
uShop does have an option to specify that "tax has already been included in the price of the products". This can be accomplished via the use of the $tax_inclusive setting located near the top of the ushop-lib.pl file. By editing the ushop-lib.pl file and changing the $tax_inclusive setting to "YES":

$tax_inclusive = "YES";

... when setting up your store, you can include the tax when specifying the price in each of the products... then upon checkout, the "Tax" total in the shopping cart will be calculated in reverse so that the tax total is displayed as the total tax that was added based on the tax rate.

As you've noticed, however, the tax inclusive option does run into a problem if your products have different tax rates.

Now for your particular requests, here is what I would suggest:

STEP 1: In your applets, try setting the "taxable" parameter of any product(s) that have 4% tax to "NO". Leave the taxable parameter of all other 16% tax products set to "YES".

STEP 2: Make a backup of your current ushop-lib.pl script... just in case.

STEP 3: Open your ushop-lib.pl script with any text editor such as WordPad.

STEP 4: Do a search on the following line:

$tax_inclusive = "NO";

And change it to:

$tax_inclusive = "YES";

STEP 5: Do a search on the following line:

sub calculate_totals

This will get you to the start of the subroutine that calculates all of the totals for the shopping cart.

STEP 6: Locate the following section of code in that subroutine:

if ($tax_inclusive =~ /yes/i)
{
$totals_tax = ($totals_total / (1.0 + ($tax_rate_value / 100.0))) * ($tax_rate_value / 100.0);
$totals_tax_with_shipping = ($totals_total_with_shipping_tax / (1.0 + ($tax_rate_value / 100.0))) * ($tax_rate_value / 100.0);
}

(It will be located at the very bottom of that subroutine.)

(Watch out for line wraps... as the above lines will probably wrap onto multiple lines in this forum.)

STEP 7: Try replacing the above lines, with these lines instead:

if ($tax_inclusive =~ /yes/i)
{
$totals_tax = ($totals_taxable_subtotal / (1.0 + ($tax_rate_value / 100.0))) * ($tax_rate_value / 100.0);
$totals_tax = $totals_tax + (($totals_nontaxable_subtotal / 1.04) * 0.04);
$totals_tax_with_shipping = ($totals_total_with_shipping_tax / (1.0 + ($tax_rate_value / 100.0))) * ($tax_rate_value / 100.0);
}

(Note: Again watch out for line wrap.)

STEP 8: Save the script...as TEXT if your editor asks... and try it out!

NOTE 1: I did not test the above code myself, so be sure to test it out. Let me know if you have any problems.

NOTE 2: Before changing the "taxable" setting of all of your 4% applets to "NO"... try it out on just one or two first... and see how it works out.

There are other ways to approach this, but the above solution requires the fewest modifications.

Remove this Message: Administrator and Moderator onlyClick to Send Alert Message to the Administrator Click to edit this messageClick here to reply to this messageClick here to reply to this message with quotesClick to goto the Table of Contents
 
2 . "RE:RE: different tax rate for every product"
Posted by Juan Cimadevilla on Oct-03-02 at 06:08 PM (EST)
Bill,

Thank you for the fast response. I have made the sugested changes, but it did not work as expected. I have three problems:

1st problem: The calculation is bad for NO taxable items because I have the prices without tax, and the tax is calculated from a total "tax included",
i.e. what I want is:
4%item= 10
subtotal= 10
tax= 0.4 (4%)
total= 10.4

what I get is:
4%item= 10
subtotal= 10
tax= 0.38 (4% of 9.62 instead 4% of 10)
Total= 10

If I change the price of the 4% items to tax included it will work, i.e. 10.4 instead 10, but as I have taxable and not taxable customers is not a good idea. All prices must be tax excluded.


2nd problem: I have added both, a 4%item and a 16%item in a single order and only the 4% of "detached" tax has been shown in the tax_subtotal. Furthermore the subtotal and total are the same (the 16% tax has been ignored). i.e. I get:

4%item - EUR 12.02*
16%item - EUR 54.00
subtotal: EUR 66.02
IVA: EUR 0.46
Total: 66.02

and I'd like to have:
4%item - EUR 12.02*
16%item - EUR 54.00
subtotal: EUR 66.02
IVA: EUR 9.12 (0.48+8.64)
Total: 75.14


3rd problem: The tax is the same for local and international orders. I'm using the "state" to add the tax, if you place an order from Madrid or Barcelona the tax must be added, if you place the order from Paris or Lisboa it must be not. I can use the country instead state, but there are three "tax-free" states (provinces) in Spain (Ceuta, Melilla and Canary Islands)

I actually have in tax states: madrid=16%,barcelona=16%,... (up to 49 provinces)


Regards.

Remove this Message: Administrator and Moderator onlyClick to Send Alert Message to the Administrator Click to edit this messageClick to EMail Click here to reply to this messageClick here to reply to this message with quotesClick to goto the Table of Contents
 
3 . "RE: different tax rate for every product"
Posted by Bill Weiner on Oct-04-02 at 05:49 AM (EST)
Oh, the above modification was for if you had some items with 4% tax and some items with 16% tax. I was not aware that you had items with 0% tax also... so no, that modification will not work for you.

To be able to handle tax inclusive items with three (or more) different tax rates, that would require utilizing the weight or shipping modifier (as you mentioned in your previous posting) and making some rather involved modifications to the "calculate_totals" subroutine... which you can try for yourself, but since the modifications would be so involved, I won't be able to post all the necessary code changes through this forum.

(I would suggest maybe specifing the exact tax amount as the "weight" of each applet... so then in the "calculate_totals" subroutine... the total weight will equal the total tax... and you can adjust the other totals accordingly from there.)

Another easier option would be to do the following:

STEP 1) Specify the prices of all of your products with the different taxes already included.

STEP 2) Put a note on your pages (using regular HTML) that tax has already been included in the price of the products.

STEP 3) In your uShopOrderButton applet, set the "cart_show_totals" parameter to "NO":

< PARAM NAME="cart_show_totals" VALUE="NO" >

The last step will cause only the subtotal to be displayed in the final shopping cart... so you don't have to worry about the total tax display. Of course, this will also hide any Shipping & Handling charges, so that may or may not work for you.

As for subtracting the tax charges from tax inclusive items for certain counties/countries... handling that with the tax inclusing option is really not possible... unless you just have two different stores... one that has the items taxed ... and a seperate store for customers that don't have to pay tax. This may or may not be practicle based on the number of items that you have in your store.

If you need any assistance reworking the "calculate_totals" subroutine to meet your needs, then send us a support request at:

http://www.uburst.com/supportform.html

And we may be able to assist via email. (This forum is not condusive for posting code/html.)

Remove this Message: Administrator and Moderator onlyClick to Send Alert Message to the Administrator Click to edit this messageClick here to reply to this messageClick here to reply to this message with quotesClick to goto the Table of Contents


Archive This Thread: Admin and Moderator OnlyRemove This Thread: Admin and Moderator Only
Click here to goto Click here to goto the Lobby

 

 

 

 

 

 

 

 

 

 

 

 
Questions or problems regarding this bulletin board should be directed to Webmaster
©1997-1999 by DCScripts. All rights reserved.