A simple accounting tool to compute business expenses for tax return purposes.
GUI version:
CLI version:
- support for importing transactions from a CSV file, compatible with most online banking Web sites;
- easy-to-use graphical user interface for quick totals and categorized transaction details;
- powerful, extendable command-line interface with inline help;
- support for custom transaction and filter definitions;
- automatic total generation per transaction category.
You can download the latest GUI and CLI releases for Windows 64 bits as a portable, standalone executable HERE.
Here is the CSV format used by Tax Helper to import bank transactions:
date, transaction name, debit amount, credit amount
Sample transaction lines:
2016-12-22, GAS STATION ULTRAMAR #123, 40.0, 2016-12-21, CREDIT MEMO,, 1000.0
Fields do not need to be quoted, but there should be no punctuation or quotes in the transaction name.
These commands are available on the command-line version of Tax Helper. They give you total control on the way totals are calculated: one can define as many transaction types as desired, and one can also define floor amounts to help filtering transactions:
totals - get a quick summary of business income and expenses (using 3000 floor for credit memos; get [type] [floor] - get a list of transactions from [type], minimum [floor]; total [type] [floor] - display the total amount from [type], taking transactions with [floor] as minimum; disp [type] [floor] - display a list of transactions from [type], minimum [floor]; dispt [type] [floor] - display a list of transactions from [type], minimum [floor] and calculates the total; defpl [name] [string] - define a new transaction type where [name] a unique identifier and [string] the string to filter with; defpf [name] [amount] - define a new floor where [name] is a unique identifier and [amount] is the floor amount; exit - quits the program.
Let's define some common transaction predicates:
(defpl pay "Branch Transaction CREDIT MEMO") (defpl pay-canada "Electronic Funds Transfer PAY CANADA") (defpl deposit "INTERNET DEPOSIT") (defpl deposit-canada "DEPOSIT CANADA") (defpl fee "TRANSACTION FEE") (defpl insurance "Dominion of Canada Gen") (defpl insurance2 "DOMINION OF CANADA GROUP") (defpl timmies "TIM HORTONS") (defpl shoppers "SHOPPER'S DRUG") (defpl metro "METRO") (defpl golf "VW CREDIT CAN") (defpl bills "INTERNET BILL PAY") (defpl bell "BELL CANADA") (defpl one-bill "BELL CANADA - ONE BILL") (defpl rogers "ROGERS") (defpl hydro "HYDRO OTTAWA") (defpl gas "ENBRIDGE") (defpl water "OTTAWA WATER") (defpl cra "CRA (REVENUE -") (defpl cra2014 "CRA (REVENUE) - 2014") (defpl installments "CRA (REVENUE) - TAX INSTA") (defpl cheques "CHEQUE")
Let's define some minimum amounts for filtering:
(defpf min-100 100) (defpf maria-400 400) (defpf min-3000 3000)
To add a new tab / list:
- launch MrEd UI editor, open the tax-helper-ui.med project
- copy-paste the last tab+listbox
- rename the new tab and listboxes appropriately
- save the project and export to tax-helper-ui.rkt
- update the load-and-compute procedure:
a) add a label and a total to the summary list
b) define a new column-data and populate it to the new list
Notes:
- Column data has to be strings only
- You might need to switch rows and columns depending on the data source.
Tax Helper is free software; see LICENSE for more details.