why can't this be calculated in milliseconds with software that determines your sales tax based on the zipcode of your billing or shipping address?
Because every state is different to...a fucking huge degree. So I help implement and configure the software for this stuff - but we have an ENTIRE practice/division that is dedicated to knowing about the sales tax laws for all the states. Each person is usually specialized to certain states - because it's simply that complex. So if I have some issues with say... a vendor in Mississippi, they will say "Oh go to Bob - he knows Mississippi inside and out". On top of just the address information, you need to send the system information on the product or service. Not every product or service is taxable in each jurisdiction (and as said previously, 65000+ different jurisdictions).
Let me give you a perfect example - You live in IL correct? Do you know what address it bases the sales tax rate on? Hint: It's not the destination/shipping address - and it's definitely not the billing address - or even the address of where it was shipped from (origin).
It's actually based on the Administrative Origin - AKA: The "Point of Order Acceptance" - basically, it is the location in which the vendor you're buying from "accepts" the order into their system. BUT - That is specifically for sales tax or in-state transactions. What if someone ships a product from Ohio to IL? Then the calculation is based on the destination jurisdiction.
But to your overall point - it can do that. It does calculate in a matter of milliseconds. The problem is that we send a decent boatload of information about each transaction to the system via XML - and it returns it to the source system with an XML response... And it's updated all the time... and it costs a boatload to implement and license.
oh right, that's the easy part: it's paying out each state their due for each purchase. Don't 3rd parties already handle this?
I would say the hardest part is accurately calculating the taxes - and knowing when you're responsible to start collecting. Filing them is - yes - another pain in the butt part. You probably could hire a specialized accountant or firm, but I guarantee it will be significantly overpriced and likely not reasonable for small scale or medium size companies.