﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Anders Nor&amp;#229;s commented on What does it takes to calculate a sales tax?</title><description>In Norway (where I live) we've had massive changes in sales taxes during the last few years.
  
First there was a fixed 19 % sales tax on goods and no tax on services. Then tax on services outside the cultural sector was introduced, a year later the tax on groceries was reduced by 50 %. This tax reduction also applies to take out meals served by restaurants, but eat-in meals still get full taxation. Then transportation taxes (bus fares etc.) where set at ~5 %. Then the common sales tax was increased, but the grocery tax stayed the same - changing the 50 % reduction rule.
  
After a supreme court ruling, all performing arts where allowed to use the cultural sales tax of 0% introducing even more models into the mix.
  
  
This happened over the course of five years.
  
  
From the get-go, this has been a huge challenge for anyone writing software that has to deal with sales taxes. Those who managed to keep it out of the database have had the most success - and believe me; I've seen some "simple" stored procs turn quite ugly during the last five years. 
</description><link>http://ayende.com/2515/what-does-it-takes-to-calculate-a-sales-tax#comment4</link><guid>http://ayende.com/2515/what-does-it-takes-to-calculate-a-sales-tax#comment4</guid><pubDate>Thu, 07 Jun 2007 07:06:46 GMT</pubDate></item><item><title>Casey commented on What does it takes to calculate a sales tax?</title><description>Sales Tax is the *perfect* example of business logic that should *never* sit anywhere near a database. 
  
  
Do these people ever develop real world applications?  And do they ever have to support them?
  
  
  
Seriously ... a slaes tax caluclation that is not properly testable? that cannot be reused across systems? That relies on a database call to tell the user what the tax would be on a product? 
  
  
I despair sometimes :)
  
  
  
</description><link>http://ayende.com/2515/what-does-it-takes-to-calculate-a-sales-tax#comment3</link><guid>http://ayende.com/2515/what-does-it-takes-to-calculate-a-sales-tax#comment3</guid><pubDate>Thu, 07 Jun 2007 06:46:08 GMT</pubDate></item><item><title>Evan commented on What does it takes to calculate a sales tax?</title><description>And in tennesse, we have the ocassional "tax holiday" where sales tax is not collected.  In other states, food does not have sales tax (Florida?).  In other states, labor is not taxed (Missouri).
</description><link>http://ayende.com/2515/what-does-it-takes-to-calculate-a-sales-tax#comment2</link><guid>http://ayende.com/2515/what-does-it-takes-to-calculate-a-sales-tax#comment2</guid><pubDate>Thu, 07 Jun 2007 03:13:26 GMT</pubDate></item><item><title>Rob Conery commented on What does it takes to calculate a sales tax?</title><description>And on the 10th iteration you realize that you need to calculate tax (in the US anyway) based on jurisdiction, and that there are up to 4 different jurisdictions in a given zipcode.
  
  
And that one of your clients, the University of Texas at Austin is in a tax-exempt jurisdiction, which just happens to be next to a jurisdiction that charges 6.3% - and they are both in the same zipcode, one block from each other.
  
  
Yes, this issue is a supreme illustration of spiralling logic :).
</description><link>http://ayende.com/2515/what-does-it-takes-to-calculate-a-sales-tax#comment1</link><guid>http://ayende.com/2515/what-does-it-takes-to-calculate-a-sales-tax#comment1</guid><pubDate>Thu, 07 Jun 2007 00:38:01 GMT</pubDate></item></channel></rss>