UK VAT down from 17.5% to 15%....It's the Y2K bug all over again!!



  • The UK government has annouced VAT (a tax applied to products and services) is to drop from 17.5% to 15%. http://news.bbc.co.uk/1/hi/uk_politics/7745340.stm

    Now VAT has sat at 17.5% since 1991. I'm wondering how many Software Engineers developing financial applications and e-commerce websites have hard coded the value 17.5% throughout their codebase. Are we looking at Y2K bug all over again?



  • Nothing is certain but death and taxes, but even taxes aren't that certain. I've sadly been a party to arguments before now over whether or not VAT is a constant value. Thankfully, to date, I've won these arguments and implemented the system to calculate and store VAT properly. I can only begin to imagine how many times that argument was not won, or worse, was never even had. I'm just imagining some of the hacks that are going to be in place trying fix this. I can honestly imagine some people I've had the misfortune of working with multiplying the post-VAT price by 97.5% to remove the extra 2.5% ...

    I'm just glad I don't maintain any finance or sales systems any more!



  • This is different.

    The Y2K didn't relate to hard-coded years; it was about a two-digit limitation. Unless you have software that uses a data type that somehow can represent 17.5% and not 15%, it's not too much of a problem.

    Having said that, I admit that I've worked on software with hard-coded VAT values. In fact, I've implemented a function which consisted of a simple if-statement that returned one of two different VAT values. But it was a single point of change.



  • I so hope that there is no serious software out there that is coded badly enough to not cope with this!

    Unfortunately I know the industry well enough to expect to be disappointed!

    I have always treated VAT as a variable number of adjustable rates. When I started there were three: 15%, 0% and exempt (yes, zero and exempt are different!). Later this got updated by the simple action of changing the rate of one to 17.5% (just the one entry to update). Then the table grew an extra row for insulation and heating fuel at 5%. Now it should simply be another change to take the 17.5% rate back to 15%.

    The big kicker is going to be re-labelling almost everything in a large shop on Sunday night! What do you bet that an awful lot of stuff just gets adjusted so that the final price is the same to save doing this!


  • Considered Harmful

    @codemanque said:

    I can honestly imagine some people I've had the misfortune of working with multiplying the post-VAT price by 97.5% to remove the extra 2.5% ...

    They probably won't notice that that formula gives different results, too. 1.175 × 0.975 = 1.145625 (14.5625% tax). You need 1.175 × n = 1.15. n ≈ 0.978723404255.



  • @GettinSadda said:

    The big kicker is going to be re-labelling almost everything in a large shop on Sunday night! What do you bet that an awful lot of stuff just gets adjusted so that the final price is the same to save doing this!

     Here in California, posted prices don't include sales tax. Even if it changes, no need to relabel stock. The prices change more often , anyway.


  • @joe.edwards said:

    @codemanque said:

    I can honestly imagine some people I've had the misfortune of working with multiplying the post-VAT price by 97.5% to remove the extra 2.5% ...

    They probably won't notice that that formula gives different results, too. 1.175 × 0.975 = 1.145625 (14.5625% tax). You need 1.175 × n = 1.15. n ≈ 0.978723404255.

     

    I've had similar issues trying to to explain to clients why FULL Price - VAT != Sans VAT price + VAT



  • @joe.edwards said:

    They probably won't notice that that formula gives different results, too. 1.175 × 0.975 = 1.145625 (14.5625% tax). You need 1.175 × n = 1.15. n ≈ 0.978723404255.

     

     

    Yes, that was my point :)



  • @GettinSadda said:

    When I started there were three: 15%, 0% and exempt (yes, zero and exempt are different!)
    Ok, I'm curious....


  • Discourse touched me in a no-no place

    Well considering there are actually three rates of VAT in the UK, any application that's going to have trouble when one of them changes has probably got even more WTF worthy stuff in it.



  • I think you mean four rates: exempt, zero, 5%, and 17.5% (becoming 15% next monday).  I also wonder if people have ensured that changing the rates now doesn't affect old transactions. It would be very embarassing if the tax calculated before december changed because somebody uses current tax rates for historical calculations.


  • Discourse touched me in a no-no place

    @DecrepitCoder said:

    I think you mean four rates
    Hmm. Direct.gov mention three (and mention the reduction.) HMRC say four (and don't.)

    I sit corrected. (Though I don't think 'exempt' is technically a rate, since it's not applied as 0% is.)



  • If you want to check you haven't hardcoded vat in your SQL database I've written some code over at my blog to do a quick check:

     



  • @Zecc said:

    @GettinSadda said:

    When I started there were three: 15%, 0% and exempt (yes, zero and exempt are different!)
    Ok, I'm curious....

     

    If something is zero-rated then it is subject to VAT (but the total amount is zero).

    If something is exempt then it is not subject to VAT.

    The difference becomes important when you realise that the person selling or supplying a VATed item or service can claim back the VAT spent to do so (providing you are VAT registered).

    For example: If I buy some paper at £2.35 (£2 + 35p VAT) and paint at £1.76 (£1.50 + 26p VAT) and paint a picture that I sell for £300 (£255.32 + £44.68 VAT), I have to pay the government the £44.68 VAT I collected, but I can claim back the VAT on the materials (61p).

    The same would apply if I used the same paper and a £1.76 pen to write a book that I sell for £300. However the book would be zero-rated so I would not have to pay the government £44.68. I could still claim back the 61p VAT from materials!

    If I use the same paper and pen to write out an insurance policy, that would be exempt from VAT (but not insurance tax) and so I could not claim back the VAT spent



  • @GettinSadda said:

    Illustrative examples
    Gotcha. Thanks for the short and clear explanation.

    Taxes have never been my thing. In fact I think I get a mental block every time I try to understand them. I must be allergic. 



  • @GettinSadda said:

    @Zecc said:

    @GettinSadda said:

    When I started there were three: 15%, 0% and exempt (yes, zero and exempt are different!)
    Ok, I'm curious....

     

    If something is zero-rated then it is subject to VAT (but the total amount is zero).

    If something is exempt then it is not subject to VAT.

    The difference becomes important when you realise that the person selling or supplying a VATed item or service can claim back the VAT spent to do so (providing you are VAT registered).

    For example: If I buy some paper at £2.35 (£2 + 35p VAT) and paint at £1.76 (£1.50 + 26p VAT) and paint a picture that I sell for £300 (£255.32 + £44.68 VAT), I have to pay the government the £44.68 VAT I collected, but I can claim back the VAT on the materials (61p).

    The same would apply if I used the same paper and a £1.76 pen to write a book that I sell for £300. However the book would be zero-rated so I would not have to pay the government £44.68. I could still claim back the 61p VAT from materials!

    If I use the same paper and pen to write out an insurance policy, that would be exempt from VAT (but not insurance tax) and so I could not claim back the VAT spent

     

    If  there's an explanation on HM Inland Revenue website that even remotely approaches this level of simple comprehensibility, I'll die of surprise. <br> Bless you, Sir.



  • The two-digit limitation was also hard-coded. Ths won't be as big as Y2K but it will still pose a lot of problems. Just today, I had to replace 45 minutes with 1 hour and 15 minutes with 20 minutes in A LOT of places where they were written in PHP code and MySQL queries. Instead of having them as constants, every time someone had to use them, they just hard-coded those values. So what was I to do? Search for the numbers 15, 45, 0.25, 0.75, 1/4, 3/4, 900 and 2700. Hopefully, I got 'em all (yes, 3/4 and yes, I've found a lot of occurences of 3/4) because I had to filter A LOT of other crap that used those numbers but wasn't related to the intervals I had to change. Now just imagine, looking for all kinds of ways that a prgrammer could implement that 17.5 tax, because I just realized that I forgot to search in the database! I remember seeing some queries that used the 45 minutes and 15 minutes as values queried from some table in the database.

    Good luck with your "easy" 17.5% to 15% change.



  • Hopefully shouldn't be too painful.  Canadian GST (goods & services tax) has dropped twice in the past two years or so, from 7% to 6% to 5%.  I'm sure somebody, somewhere had some SNAFUs, but I've never heard of any widescale problems.

    Sticker prices tend not to include the GST, so generally it was just a matter of patching the POS systems.

    Comparing to y2k -- well it's a lot easier to grep for 17.5 -- and change it -- than it is to find 2-digit year usage.  Shouldn't have to adjust databases, file formats, etc.



  • @alegr said:

    @GettinSadda said:

    The big kicker is going to be re-labelling almost everything in a large shop on Sunday night! What do you bet that an awful lot of stuff just gets adjusted so that the final price is the same to save doing this!

     Here in California, posted prices don't include sales tax. Even if it changes, no need to relabel stock. The prices change more often , anyway.
    I've always seen that as an American peculiarity. Every European country I've been to, the labels show what you actually have to pay, which is more useful in my opinion. If you actually do care about the VAT rate for an item you know where to look it up.


  • @j6cubic said:

    @alegr said:

     Here in California, posted prices don't include sales tax. Even if it changes, no need to relabel stock. The prices change more often , anyway.

    I've always seen that as an American peculiarity. Every European country I've been to, the labels show what you actually have to pay, which is more useful in my opinion. If you actually do care about the VAT rate for an item you know where to look it up.

    It's a different philosophy; in Europe, VAT is a tax on businesses, so like any other business tax (e.g. corporation tax), we expect the final price we pay to allow for all the business taxes and expenses.

    In the USA, sales tax is a tax on consumers, so it matters that you know just how much tax you're paying, just like it matters that you know how much income tax you pay.

    Both philosophies have their disadvantages - European VAT can climb much higher than a sales tax could, because it's just another business overhead to a consumer (just like corporation tax can climb, or business rents). Amercian sales tax results in confusion about how much you owe when you come to check out; you picked up the $299.99 item, then added 3.5% sales tax. Now work out what you owe, without looking up the local rounding rules for sales tax.



  • @farnz said:

    @j6cubic said:

    I've always seen that as an American peculiarity. Every European country I've been to, the labels show what you actually have to pay, which is more useful in my opinion. If you actually do care about the VAT rate for an item you know where to look it up.

    It's a different philosophy; in Europe, VAT is a tax on businesses, so like any other business tax (e.g. corporation tax), we expect the final price we pay to allow for all the business taxes and expenses.

    In the USA, sales tax is a tax on consumers, so it matters that you know just how much tax you're paying, just like it matters that you know how much income tax you pay.

    Both philosophies have their disadvantages - European VAT can climb much higher than a sales tax could, because it's just another business overhead to a consumer (just like corporation tax can climb, or business rents). Amercian sales tax results in confusion about how much you owe when you come to check out; you picked up the $299.99 item, then added 3.5% sales tax. Now work out what you owe, without looking up the local rounding rules for sales tax.

    Ah. Good to know; thanks for clearing that up.


  •  I've got a nasty feeling that 2 of the shit-for-brains systems I've inherited have got hard-coded VAT in there somewhere.

    Of course I won't have time to even look at them before Monday when the change comes into affect so I suppose we'll be billing people incorrectly.

    Ah well.



  • @j6cubic said:

    I've always seen that as an American peculiarity. Every European country I've been to, the labels show what you actually have to pay, which is more useful in my opinion. If you actually do care about the VAT rate for an item you know where to look it up.
    AFAIK, the EU law mandates that all prices for consumers include the final price the consumer pays (there's also the requirment to sell the item at the posted price, even if it's wrong). Also, all prices must show the cost of the item per kilogram or liter when this makes sense, so it's easier to compare prices of differently packed items.


  • Discourse touched me in a no-no place

    @ender said:

    (there's also the requirment to sell the item at the posted price, even if it's wrong)
    Not in the UK, and I'd be surprised if it was a requirement in the EU - do you have a cite? Price tags are normally an 'invitation to treat,' not  'offer of sale.'

    That said, they are not allowed to deliberately mis-price goods.

    http://www.telford.gov.uk/Advice+benefits/Trading+standards/Trading+Standards+FAQs.htm

    Q. I have seen a CD player on sale in a shop that I want to buy. However, when I tried to buy it the manager told me it was the wrong price. Can I make the shop sell it to me at the displayed price?
    A. No. You cannot make a trader sell anything to you if they don't want to. In civil law when goods are displayed in a shop, a catalogue or an advertisement, this is called an 'invitation to treat'. This means that it is an invitation for the consumer to make an offer to the shop to buy the goods, and it is up to the shop whether or not they want to accept that offer.

    However the shop might have committed a criminal offence. This is because the Consumer Protection Act 1987 says that traders must not display misleading prices.

     



  • @j6cubic said:

    @alegr said:

     Here in California, posted prices don't include sales tax. Even if it changes, no need to relabel stock. The prices change more often , anyway.
    I've always seen that as an American peculiarity. Every European country I've been to, the labels show what you actually have to pay, which is more useful in my opinion. If you actually do care about the VAT rate for an item you know where to look it up.
    If you buy things for business purposes, you don't pay sales tax. Only consumers pay it.


  • Even better than all of this is that the BBC were convinced that you'd be saving £250 on a £10,000 item. Sadly they've since corrected it and I didn't take a screenshot.



  • @PJH said:

    Not in the UK, and I'd be surprised if it was a requirement in the EU - do you have a cite? Price tags are normally an 'invitation to treat,' not  'offer of sale.'
    Hmm, you're right - I thought this was EU-wide law, but apparently it's only valid in Slovenia (and maybe individual other countries, but I'm not going to go check on that). Here, the shop must sell you the item at the price that was posted at the time you took the item off the shelf.



  • @ender said:

    @PJH said:
    Not in the UK, and I'd be surprised if it was a requirement in the EU - do you have a cite? Price tags are normally an 'invitation to treat,' not  'offer of sale.'
    Hmm, you're right - I thought this was EU-wide law, but apparently it's only valid in Slovenia (and maybe individual other countries, but I'm not going to go check on that). Here, the shop must sell you the item at the price that was posted at the time you took the item off the shelf.
     

    That's the law too here in the Netherlands. I also thought it was an EU law. A shop has to sale an item at the listed price unless there was an obvious mistake (eg. two labels switched on a 42" LCD tv next to an 2nd-hand CRT). Otherwise it's considered false advertising.

    It also hold true for advertisements of airplane companies etc., if they list €35 dollar from Amsterdam to London you should be able to baak a AMS->LON ticket for €35, including taxes and fees. It doesn't say anything about return flight or luggage though.



  • In Germany, too. If it's an obvious mistake (like a TV set for €5.99 instead of €599.00), the listed price is not binding, but otherwise it is. So if the shop accidentally labelled the TV set €499 instead of €599, they must sell it to you for that price. 



  • @ender said:

    @PJH said:
    Not in the UK, and I'd be surprised if it was a requirement in the EU - do you have a cite? Price tags are normally an 'invitation to treat,' not  'offer of sale.'
    Hmm, you're right - I thought this was EU-wide law, but apparently it's only valid in Slovenia (and maybe individual other countries, but I'm not going to go check on that). Here, the shop must sell you the item at the price that was posted at the time you took the item off the shelf.
    AFAIK it's the same here in Portugal.


Log in to reply