![]() |
OpenTaxSolver (OTS) is a free program for calculating Tax Form entries and tax-owed or refund-due, such as Federal or State personal income taxes. TaxSolver has been updated for the 2007 tax-year for: US 1040 and Schedules A, B, C, & D, and State-Taxes for California, North Carolina, New Jersey, Pennsylvania, Virginia, Ohio, New York, and Massachusetts. Special thanks to all contributors.
The core of OTS is a text-program. Two optional graphical front-ends exist, OTS_GUI and OTS_tclgui-0.0. You can use OTS either by editing a text file with your favorite text editor, and then processing it. Or, you can use the Graphical User Interface (GUI). Probably most people now days use the GUI, and that is the default mode, according to instructions in the package. The GUI is self-explanatory. The following focuses on documenting the workings of the core text program.
You enter your input numbers in a commented text file, and then process your text file with the TaxSolve program.
It is particularly useful in combination with the new Adobe PDF Fill-In
forms distributed by an ever growing list of government agencies.
(This solves the otherwise costly problem of producing official updated output forms,
which has been one of the major drawbacks to previous open-source tax programs.)
You enter your input numbers in a commented text-file, and
then process your text-file with the FedTaxSolve program.
It produces output the the screen, and a xx.out file, showing what you should enter on each line.
Example:
gedit fed1040_2007.dat
{enter your numbers, income, interest, etc..}
taxsolve_usa_fed1040_2007 fed1040_2007.dat
{view the output lines, or print default output file fed1040_2007.out,}
{copy numbers onto your tax forms, mail in.}
Example:taxsolve_usa_fed1040_2007 my_03_fed_tax.dat my_03_fed_tax.form more my_03_fed_tax.form lpr my_03_fed_tax.formAlthough originally created for US 1040 tax forms, the routines can be used to solve other tax forms, and for other countries or states. Some error checking is included.
While the OTS programs developed over the last eleven years, results have always been checked against commercial packages such as TurboTax (Intuit) and TaxCut (HR Block). The answers produced by OTS have always matched to within a dollar, differing only by rounding differences.
Alternatively, you can edit the form-data file with your favorite text editor, and invoke the tax programs from the command-line. The following sections focus mostly on direct text-mode usage of OTS, as well as how it operates.
Example:
Title: US Fed 1040 2007 Return for Molly Weber
L7: 28,789.34 ; { Income }
L13: { Interest }
45.90 { US Bank }
83.11 { Credit Union }
;
The first line, or Title line, of your input file is simply
passed straight out to the output file without parsing. It serves as
a way to identify the form, whom it is for, and the date or year.
After the first line, the format is free-form. You can enter things anywhere, in any column,
or any line you wish. The format shown above is recommended for clarity.
All entries for a given line number before a semicolon are added together. This is helpful when multiple items add into a single line. You can show each item separately with its own comment. OTS will add them together for you.
For example, supplied in the OTS package are:
As currently configured the form-specific part (ex. taxsolve_
... where fed1040_2007.dat is the name of -your- tax data file.
(Two tax-data files are included in OTS packages: an *example.dat and a blank *template.dat.
The idea is to copy the template to a personally meaningful file-name and fill in the lines with your numbers.
You can maintain returns for multiple people over multiple years this way.)
A file such as fed1040_2007.out is produced and is automatically listed to the screen.
You can print the file or store it for your records.
Example:
Capital Gains/Losses are Recorded as:
The US Fed 1040, version includes the Schedule-A for itemized deductions, Schedule-B for interest, and Schedule-D for capital gains
calculations, as well as the Alternative Minimum Tax (AMT) worksheet
calculations. Schedule-C for business taxes, is also provided as a separate program.
Versions for several State Income Taxes, including California, New York, Pennsylvania, Ohio,
New Jersey, Virginia, Massachussets, and North Carolina are included. As other forms are contributed, they will be posted.
Both source code and compiled executables are available for download.
Example form-data files are included. Typical package sizes are 20-50 KB (small, not megabytes).
Unpacking
Tar packages contain precompiled executables for Linux.
Zip contain precompiled executables for Microsoft PCs.
Source code and compilation instructions are also provided in all versions.
(Uninstall by simply deleting files in the directory. No registry entries are made.)
Other Links
Feedback welcome.
Aston Roberts - aston_roberts@yahoo.com
To Compile:
Normally, you would invoke the Build-script to compile the whole package, but you could also
compile individual programs directly, as for example:
cc taxsolve_usa_fed1040_2007.c -o taxsolve_usa_fed1040_2007
To Run:
Normally, you would invoke the tax programs from the graphical interface (Run_taxsolve_GUI) , but you
could also invoke individual programs directly, as for example:
taxsolve_usa_fed1040_2007 fed1040_2007.dat
Examples:
Program Design for Tax Rules:
The program reads values from your input file into it's L[] tax-form-line
variables, then adds or subtracts the items according to the tax-rules,
and prints the results. To do this efficiently, several convenience functions
have been provided, such as GetLine and ShowLine. GetLine checks for the named line
number, and adds up any contributing entries, while parsing and ignoring any comments. ShowLine
prints the resulting line value in a convenient format after the line number or name.
The are several variants of the convenience routines. GetLineF is a combination of GetLine and ShowLine.
It gets the line data, and prints it to the output file.
GetLine( "L7", &L[7] );
ShowLine(7);
GetLine( "L9", &L[9] );
ShowLine(9);
L[12] = L[7] + L[9];
showline(12);
GetLine( "L15", &L[15] );
if (L[15] > L[12])
L[16] = L[15] - L[12];
else
L[16] = 0.0;
ShowLine(16);
buy_cost date
sale_value date
Buy cost is negative; it is a cost; an outlay. Date is xx-yy-zz, where xx is the two-digit month,
yy is the day, and zz is the last two digits of the year. (Yes, this is Y2K proof.)
Example:
-3658.22 12-15-99 { 100 Shares XOM }
4209.95 1-25-02
The dates are required to apply the proper short-term or long-term capital gains rates on Federal taxes, but are not
required for State tax forms.
Download OpenTaxSolver
OpenTaxSolver can be downloaded from:
Download OpenTaxSolver - OTS Download-Page
Packages are tar-gzip (.tgz) or zip files. To unpack, tar xfz package.tgz or unzip package.zip .
Will unpack into a directory of the same name. (To see contents prior to unpacking, tar tfz package.tgz or zip -l package.zip .)