Tax calculation per item with quantity more than 1

Hi,



First of all, thanks for taking the time to read my post.



I’ve recently upgraded to the latest CS-Cart which includes the subtotal/per item tax option. I’ve selected to calculate my tax per item, which for my purposes (UK VAT), it almost works perfectly.



The issue I have is this - Say for example you have an order for five of the same SKU with a price of £5.00 (ex VAT) each. Before taking VAT into account, your order would look something like this:



Quantity Description Unit Price Total
5 Some item £5.00 £25.00

Order Total £25.00




The way I’ve always calculated VAT (and so does my accounts software) is to apply the VAT to the total for each line item (i.e the £25). So, taking the current standard rate for VAT of 17.5%, I would do ‘25 * 0.175’ to calculate the VAT for that line and round it to the nearest whole pence. This gives me a figure of £4.38.



This seems to be slightly different to how CS-Cart works things out. Using the example order above, CS-Cart seems to apply VAT to each of the 5 items seperately and then adds up the already rounded figures. In summary, this would be:


  1. Work out the VAT for 1 of the item - £5.00 * 0.175 = £0.875
  2. Round the figure to the nearest penny - £0.88
  3. Multiply by the number of items purchased - £0.88 * 5 = £4.40



    As you can see, my method vs the CS-Cart methods results in a difference of £0.02 in this particular example. I have two problems with this:


  4. It makes it very difficult to enter the orders into my accounts package without some painful workarounds to make sure it ties up with CS-Cart exactly


  5. After reading guidance from HMRC (the UK equivalent of the IRS) my method seems to follow how they expect VAT to be calculated. Their guidance states that VAT should be calculated ‘per description’, or to put it another way ‘per SKU’ or ‘per product code’. This is subtly different from calculating per item.



    I’ve been searching round the forums without finding someone with my exact problem. Apologies if I’ve missed anything. Any help greatly appreciated!



    Many thanks