views:

1537

answers:

7

One of the web apps I'm working on has a fairly small web store / shopping cart. As the client company is physically located in CA and has a physical location there, they're required to collect CA sales tax on all orders shipped to locations in California.

For those who don't know, CA has some fairly complex sales tax rules where, essentially, any local group can create a "tax district" and leverage an extra few cents worth of sales tax on top of the state-wide base of 7.25%. (Usually less than 1% extra.) These districts don't have to map to any other legislative borders, so you can end up with half a city paying an extra .25% sales tax, for example.

Technically, the law only requires that you charge the sales tax rate in your location as a seller - so, if I have a store here in Sacramento, I only need to charge Sacramento sales taxes on all orders shipped.

However, for various accounting and tax declaration reasons, it's actually easier to charge the sales tax of the location the order is being shipped to. (Which means a different sales tax, potentially, on every single order.)

So - my question. Is anyone aware of any slick ways to calculate this? The data you need to actually do the work is all available in a variety of semi-useful formats at the state Board of Equalization website, and we're knocking together a widget that tries to figure out sales tax based on things like city name and zip code. But, I was wondering if anyone has come across any cool tools out there for solving this problem. (Or any tools at all, for that matter.)

(We're using VB and ASP.net, but I'd be interested in solutions for any language, mainly because I'm fascinated to see how other people have solved this.)

Addendum - answering some questions from below:

Tim asks how this can possibly be "easier." I'm told that doing sales tax this way makes filling out your tax return simpler. I'm bleary on the details, but as I understand it, if you don't charge the rate for the shipping location, you have to justify why you didn't for every single order at the end of the year - namely, you have to attest that no, we live here and not there, so we charge the rate here.

Whereas if you always charge the destination rate, you can (apparently) just put down the total amount of sales tax you collected for the whole year on one line, and say "sales tax was this much.

It would seem the state doesn't care which you do. So, by "easier," I really mean "easier for the accountants" - which is of course in no way easier for us here on the programming team.

Also, Schnapple's Texas story is a potential solution. (In fact, I pitched this very idea this morning.) CA really doesn't care if you overcharge sales tax, as long as you don't undercharge and hand over everything you collect. The problem here is, unlike Texas (apparently) vast swathes of CA are not in a special tax district. So, while we could charge the highest level for everyone (which I think is 8.75 at the moment), most of the customers would mind not playing their normal rate of 7.25. And I guess I can't blame them.

A: 

There are third-party resources that are just about indispensible for these sorts of ever-changing rules.

Here's one. that's SaaS.

le dorfier
+1  A: 

I agree it is very complex. Sabrix is another third-party resource who has a managed tax service for small to medium size companies as well as a large enterprise solution. Not sure what the pricing model is.

Kevin
looks like they do more consulting than software distribution
mirezus
A: 

I've used Vertex at a prior job for a mail order operation hosted on an iSeries. We hooked it into our ordering system.

Vertex uses geocoding to determine the sales tax. A five digit zip code isn't precise enough to locate the sales tax in places like California. There are some special economic develoment areas (like a new mall) which can have their own taxes. As a result a tax might apply to just one specific address (for the mall).

Vertex comes out with updates periodically as taxes get enacted or changed. Also, if there is a tax holiday you might have to go into the Vertex tables to turn off taxes for a period of time.

Alram, the company was $300 million in sales through all sales channels. No clue as to the price.

Paul Morgan
what size company was that prior job and do you know ball park figure of price points for that Vertex solution you mentioned?
mirezus
+3  A: 

Texas does something similar - the state tax is 6.25%, then there's a local tax (like, County-specific or something) of 1% and an additional "mass transit" tax of 1%. The net effect is that when you go somewhere in Texas you pay 8.25% sales tax. And 8.25% was the maximum. In theory there could be some districts that don't charge a local tax but I've never run into any. Also in theory the local tax could be more than 1% and cause the mass transit tax to be less than 1% but again I've never seen it.

Years ago when I was a small business co-owner and we sold stuff online (downloadable data files) I went to a small seminar put on by the state to explain taxes to us. Since this was a small town I was in at the time, the local TV news came to cover the event (it was that boring of a town).

Either I or someone else asked at one point "You know, since it's complicated to figure out all this tax stuff, and it tends to be 8.25%, can't we just charge everyone 8.25% and send you that?.

The man running the seminar asked the film crew, "Is that thing filming?"

Once the film crew said no, he said "yeah, you can do that, we won't have any problem with it"

The form to submit sales tax at the time wasn't specific enough to part out where the items went in the state so we just charged 8.25% to everyone in Texas, nothing to everyone outside of Texas, and everyone was happy.

So you might be breaking your back over something California doesn't really care about anyway...

Schnapple
+1 for the interesting story. I doubt it applies to his case, but it would be nice if it did.
Tim
Ran out of space in the comments box, so response edited into the question.
Electrons_Ahoy
A: 

"Technically, the law only requires that you charge the sales tax rate in your location as a seller - so, if I have a store here in Sacramento, I only need to charge Sacramento sales taxes on all orders shipped.

However, for various accounting and tax declaration reasons, it's actually easier to charge the sales tax of the location the order is being shipped to. (Which means a different sales tax, potentially, on every single order.)"

Does anyone else see a contradiction here? To me it is trivial to just use the seller's location and be done with it - especially if that satisfies the state why bother at all. Your comment about "it's actually easier to charge..." is not true - if it were easier you wouldn't be asking the question.

Just my opinion

Also - what if this is a gift item? Th purchaser is not the ship address nor is it the purchase location. It seems to me (Still) to be better to just use the one known location if that satisfies the state.

Tim
It's easier when you're filing your tax return. Or so I'm told. Things that make life easier for the accountants are more important than things that make life easier for us programmers. ;)
Electrons_Ahoy
Ah, I should have realized that "easier" was relative to another entity, but still, I can't imagine something being easier even for accountants than just ONE rate. That's going to bug me now - HOW could it possibly be easier than that?
Tim
I'm bleary on the details, but as I understand it, if you don't charge the rate for the shipping location, you have to justify why you didn't for every single order at the end of the year. Whereas if you charge the destination rate, you can just say "sales tax was this much total" on the form.
Electrons_Ahoy
+1  A: 

My impementation was for retail point of sale, however it could be adapted to a zip based solution. As it was because of returns and the potential for returns to be from other tax districts the point of sale registers had to have the complete tax rule definitions.

Our transaction supported unlimited number of taxing jurisdictions. Each tax jurisdiction provided a way to calculate tax based on a table concept just like income tax. The software would identify all of the jurisdictions that come into play and calculate the appropriate tax.

For example NY has a luxury tax that comes into play on individual items priced over $110 each( it was regressive charging that rate on the first $109.99 ), and local counties have taxes so we were able to define:

Auth  Start$  End$    Rate  Base    
NY    0       109.99  0%    $0.00
NY    110.00  -       4%    $4.40
NYALB 0       -       4%    $0.00

So a sale of a $50.00 item in Albany resulted in a 4% tax of $2--the NYALB rate of 4% and the NY rate of 0% was in effect. A sale of $120.00 results in an effective 8% tax of $9.60--the NYALB rate of 4% and the NY rate of 4% on the amount at or over $110 + 4.40.

Colorado has a single township that has PIF tax, which in addition to the state and county tax and is itself taxable.

The state of Idaho rounds based on a .002 rule--if the calculated tax is 4.002 then the tax due is 4.01. Some jurisdictions round up always. For each jurisdiction we attach a rounding rule to further process the tax: Up, Down, .005 and .002.

I have found organizing the tax data in this fasion is most flexible if you are interested in maintaining your own tax rules.

But like several people already mentioned there are services that provide the tax data for you. You just have to figure out how to integrate it.

EDIT: Tax Holidays... We had support for that too, just added a separate table that had start and end dates for a jurisdiction's holiday. The tax engine would just spit out zero during those dates.

Bill
A: 

efileSalesTax.com is a web-based system for filing California sales tax returns. Just enter the Gross Sales and non-taxable sales (if any) and the system calculates the entire form and e-files the return to the state. It's $6.95 per filing, with discounts for purcashing filings in bulk, or $199 per year for unlimited filings / unlimited taxpayers.

They also support Florida, Illinois and Colorado sales tax.

Rich