AmericanTax 2.8 build: 9327 released: 2008-06-01 Calculates American sales taxes. Copyright (c) 2009 Canadian Mind Products. Java Applet (that can also be run as an application). Download from http://mindprod.com/products2.html#AMERICANTAX ===> Free <=== Full source included. You may even include the source code, modified or unmodified in commercial programs that you write and distribute. May be used freely for any purpose but military. For more details on this restriction, see http://mindprod.com/contact/nonmil.html If you include any Canadian Mind Products code in your own applications, your app too must be labeled non-military use only. All Java jars and source code are included. ---- Prerequisites: This program runs under any OS, (e.g. Win2K/XP/Vista/OSX/Linux/Solaris/Vista64/AIX...) so long as you have <><> Java version 1.5 <><> or later installed. See http://mindprod.com/jgloss/installingjava.html for details. ---- Installing on a PC: Download source and compiled class files to run on your own machine as an application or Applet First install a recent Java JDK or JVM. See http://mindprod.com/jgloss/installingjava.html. To install, extract the zip download with WinZip (or similar unzip utility) into any directory you please, often J:\ -- ticking off the "use folder names" option. To run as an application,type: java -jar J:\com\mindprod\americantax\americantax.jar parms adjusting as necessary to account for where the jar file is. ---- Installing on a MacIntosh: Use Safari to download source and compiled class files to run on your own machine as an application or Applet. Safari will automatically unpack the zip into ~/Downloads (version 10.5) [or on the Desktop (version 10.4 and earlier)]. First install a recent Java JDK or JVM. See http://mindprod.com/jgloss/installingjava.html. You may optionally move the download tree to a permanent home. I don't have a MacIntosh, just a PC, so I can't test my Java programs for Mac compatibility. In theory they should work without problems, but in practice that does not always happen. If you have problems please, let me know, preferably with screenshots and complete verbatim error messages. To run as an application, without parameters, just double click the jar file. To run as an application with parameters, in bash shell type: open Terminal.app cd ~/Desktop java -jar com/mindprod/americantax/americantax.jar parms adjusting as necessary to account for where the jar file is. ---- Rebuilding: The zip already contains the necessary class and jar files, so unless you modify the program, there is no need to recompile the source or rebuild the jar. Configure basedir="E:/" in rebuild.xml to the drive where your files are. Use ANT and rebuild.xml, not build.xml, to recompile and recreate the jar. ---- Use: Calculates American sales taxes, state and district. Java Applet that can also be run as an application. Requires Java version 1.5 or later. Java source code and sample HTML included. This version computes by adding sales tax to a base price. It also works in reverse given the total paid working backwards to get the tax and original price. In other words it will tell you the sticker price to make something come out even after taxes are added. It also has a spinner that lets get that result without typing. Just select the buyer's state and district, enter the amount of the sale and hit calc. You can adjust the sale amount with a spinner. If you are a business, you don't have to collect sales taxes from people in other states unless you have a business presence in that state. In that case, you must collect just the state tax, not the local tax. The program splits out the state and local taxes so that if you have a business presence in his state, you can tell him the amount he must remit to you (the state part) and the part he must remit voluntarily and directly (the local district part). It does not have county/city local sales tax tables for all states. Tables are complete for the following 37 of 50 states: AK, AL, AZ, CA, CO, CT, DC, DE, FL, GA, HI, IL, IN, KY, MA, MD, ME, MI, MN, MO MS, MT, NC, NH, NJ, NY, OH, OR, PA, RI, TN, TX, VA, VT, WA, WI, WV. It knows all state level taxes. Tables still need to be added to deal with local taxes for the following states: AR, IA, ID, KS, LA, ND, NE, NM, NV, OK, SC, SD, UT, WY. If you have the information, please pass it along. Call for Sales Tax Reform ************************* I think the current US sales tax scheme is nuts. One massive simplification would be to use a single sales tax per vendor, rather than having the vendor compute the tax based on the district the buyer lives. How can the vendor possibly remit to every possible district? The scheme is too complex. It necessitates tax evasion. American sales taxes are complicated to the point of comedy. One of the odd features is sometimes the vendor remits the tax and sometimes the buyer is supposed to do it. However, in practice nearly all buyers "forget" to. For large ticket items, like yachts, the vendor always collects and remits the tax. For smaller items, the vendor only collects the tax if the buyer is in the same district. If you are a business, you don't have to collect sales taxes from people in other states unless you have a business presence in that state. In that case, you must collect just the state tax, not the local tax. The services associated with the goods sold were provided by vendor's district, not the buyer's. For example, the vendor's district provided police, water, roads, bridges, business climate ... What did the buyer's district contribute? nothing! When the buyer and vendor reside in the same district, it does not matter whom you imagine controls the rate. There the services to provide the goods are provided by that district. I think the tax rate should depend on the vendor's district, rather than the buyer's district for the following reasons: 1. Easier to compute. Just one rate. 2. The vendor can't very well lie about his district. The buyer can. 3. Easier to remit. All money goes to the local district. 4. Easier to enforce. A district only has to monitor local business. 5. You collect sale tax on foreign sales. Why should a district subsidise foreigners? If you want some sort of equalisation payments, to shift money between districts, let that be negotiated by the districts, state or federal government and handled with a single yearly cheque to provide the aggregate adjustment. There is no need to involve every interdistrict financial transaction, every vendor and every buyer. I suspect the reason it is as it is to preserve the principle of no taxation without representation. A buyer has no representation to complain about the sales tax in a vendor's district. Canada solved the problem by making the "cheating" legal. When you buy out of province, you don't pay tax. ---- Version History: 1.1 handles California, Colorado and New York district sales taxes. 1.2 includes missing class file from jar. 1.3 documents missing local taxes for states: AK AL AR AZ FL GA IA ID IL KS LA MN MO MS NC ND NE NM NV OH OK PA SC SD TN TX UT VA WA WI WY. 1.4 corrects rate for NM. 1.5 corrects for VA. 1.6 puts in package com.mindprod.americantax. 1.7 adds an about box and check Java verzion. 1.8 adds JavaDoc to the source code. 2.0 2007-06-07 convert to JDK 1.5/Swing, add spinner, add PAD, icon. Update and extend tax tables. 2.1 2007-06-09 add support for Florida and Texas. 2.2 2007-06-16 tidy up to switch over to JApplet and contentpane. 2.3 2008-03-03 correct spelling mistakes, display build and release date. 2.4 2008-05-18 display state and district taxes separately. Major internal redesign simplification. Allow reverse tax calculation to go from total payable back to sale amount. 2.5 2008-05-22 complete tables for AK, AL, CA, CO, CT, DC, DE, FL, GA, HI, IL, IN, KY, MA, MD, ME, MI, MN, MS, MT, NH, NJ, NY, OH, OR, PA, RI, TX, VA, VT, WA, WV. 2.6 2008-06-01 add Tennessee county and city tables. 2.7 2008-06-01 add Wisconsin county tables. 2.8 2008-06-01 add Arizona county and city tables. -30-