Zip codes aren't specific enough to determine tax rates. Zip codes are assigned by the post office to facilitate delivery of mail, not to determine which taxing districts an address belongs in. You really need the whole address sometimes. Because the city name on the mailing address often indicates the city, but not always. And some taxing districts don't follow city boundaries anyway. And you need a process to handle exceptions, because boundaries are complex and sometimes mistakes are made.