/* * [PrepOhio.java] * * Summary: One shot program to process tax data for Ohio. Generates code for AmericanTax.java table. * * Copyright: (c) 1999-2017 Roedy Green, Canadian Mind Products, http://mindprod.com * * Licence: This software may be copied and used freely for any purpose but military. * http://mindprod.com/contact/nonmil.html * * Requires: JDK 1.8+ * * Created with: JetBrains IntelliJ IDEA IDE http://www.jetbrains.com/idea/ * * Version History: * 1.0 2007-06-07 * 1.1 2010-12-10 update to produce CSV file without state tax included. */ package com.mindprod.americantax; import com.mindprod.csv.CSVReader; import java.io.IOException; /** * One shot program to process tax data for Ohio. Generates code for AmericanTax.java table. *

* Generates code for AmericanTax.java table. * * @author Roedy Green, Canadian Mind Products * @version 1.1 2010-12-10 update to produce CSV file without state tax included. * @since 2007-06-07 */ final class PrepOhio extends PrepStateBase { /** * Constructor */ private PrepOhio() { super( "OH", "ohio", 5.5, true /* counties */, false /* cities */, false /* files include state rate */, false /* convert to book case */, 100 ); } /* * home:http://tax.ohio.gov/divisions/sales_and_use/rate_changes/index.stm * download "http://www.tax.ohio.gov/divisions/tax_analysis/tax_data_series/sales_and_use/documents/salestaxmapbw * .pdf" ohiocounties.pdf * We only have to deal with county taxes, no city taxes. * Copy pasted from PDF to ohiocounties.csv and massage to create: * #county tax, COTA (transit extra sales tax levy) * Adams, 1.50 ,0 * Allen, 1.00 ,0 * Ashland, 1.25 ,0 * Cuyahoga, 1.25, 1.00 * Universal Sales Tax Return (UST-1) and the Ohio Universal Use Tax Return (form UUT-1). * We are interested only in UST. state tax is 5.5% */ /** * Default method to read and prepare one county record. * You must read, and add SalesTaxItem to salesTaxItems, and skipToNewLine * * @param c open CSV reader. * * @throws IOException if cannot read file */ void prepareCounty( final CSVReader c ) throws IOException { final String county = c.get(); final double percent = c.getDouble(); final double cota = c.getDouble(); c.skipToNextLine(); salesTaxItems.add( new SalesTaxItem( county, "", percent + cota ) ); } }