Giter Club home page Giter Club logo

tax-helper's Introduction

Tax Helper

A simple accounting tool to compute business expenses for tax return purposes.

GUI version:

CLI version:

Features

  • 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.

Downloads

You can download the latest GUI and CLI releases for Windows 64 bits as a portable, standalone executable HERE.

Import Format

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.

Command Line Commands Summary

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.

Sample Transaction Types

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")

Sample Floor Amounts

Let's define some minimum amounts for filtering:

(defpf min-100 100)
(defpf maria-400 400)
(defpf min-3000 3000)

How to extend Tax Helper:

To add a new tab / list:

  1. launch MrEd UI editor, open the tax-helper-ui.med project
  2. copy-paste the last tab+listbox
  3. rename the new tab and listboxes appropriately
  4. save the project and export to tax-helper-ui.rkt
  5. 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.

License

Tax Helper is free software; see LICENSE for more details.

tax-helper's People

Contributors

dexterlagan avatar

Stargazers

David Marceau avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.