Jump to content

Taxing the taxes


bos

Recommended Posts

I started using Cubecart some years ago, but I never became good friend with the tax system so it applies to my shop exactly how I want it. Trial and error during long periods showed me that the system is really simple; all costs entered are without VAT. But what I want is that all costs entered should be including VAT, and that in the summary the VAT should be shown as a value /of/ the total, not adding to the tutorial.

Someone suggested to use a tax extension from Noodleman that would let me do what I want, but alas: that extension (as well as a lot of others) uses an apache extension called ionCube, which has been and is UNavailable on all the three web hostings I've tried, and it's not installable per user. So, I was at a loss.

The workaround for my problem was to let Cubecart ignore anything that had to do with taxes, make enter all costs as including VAT. Then, in the order summary, I manually calculated the tax (total value * 0.2) and entered in the tax field. That way everything was correct and exactly how I wanted it. Total sum including tax, and the tax value being the tax value /only/, without adding or substracting itself to anything.

The backside of this approach is that it's been tedious work as my shop has grown bigger. So after 1 year of manually adding the taxes I took a dive into the source code to see if I could make some patch (for my own use only).

 

I ended up changing this file:

admin/sources/orders.index.inc.php: (add near line 425)

$overview_summary['total_tax'] =  Tax::getInstance()->priceFormat($overview_summary['total'] * 0.2);

This made Cubecart automatically fill the taxes box in the summary page for the order, without touching anything else. However, this had a side effect: in the print out, the tax field was not in the same format as the other monetary values. Instead of "123.00kr" it would be "123". No decimals and no currency.

A quick and ugly "solution" to this was changing the template:

admin/sources/orders.index.inc.php: (near line 219)

<!-- div class="total">{$tax.name} <strong>{$tax.value}</strong></div -->
<div class="total">{$tax.name} <strong>{$order.total * 0.2}kr</strong></div > <!-- bos 2019-12-31, auto tax -->

This works, sort of, if the currency is SEK (kr, kronor). Rounding errors can occur, leading to "123.4567kr" and so forth, and it will be totally bogus when a customer uses another currency. I did however not find a way to make an inline PHP-call to number_format(), or to Cubecart's internal currency/number-function (which I do not remember the name of at this time), but all in all these small changes saves me tons of work by not having to enter the tax sum manually.

 

(NB: Should this post be in the wrong forum I will humbly apologize. I picked it since it was the one that best fit the description)

 

 

EDIT: Typo

Link to comment
Share on other sites

That was a typo. It should have been UNavailable (I have edited the post).

 

The web hosters I've been using are One.com (current), Loopia (previous), and Crystone (former). None of them supports or allows ionCube.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...