tax software (was Re:Speech on Linux...)

Christopher Browne cbbrowne-HInyCGIudOg at public.gmane.org
Fri Aug 13 02:49:25 UTC 2004


> On Thu, 12 Aug 2004, James Knott wrote:
> > > ...I think you'd need a program, not just a set of rules. 
> > > I doubt you could write a rule-interpreting engine that could do the job
> > > and wasn't essentially an interpreter for a programming language.
> > 
> > No, not the program, just the rules for running one.  As it stands now, 
> > it publishes the relevant acts for accountants and whoever else can be 
> > bothered reading them.  How's that different from publishing tax rules 
> > in a "computer freindly" format, that apps could use?
> 
> The problem is that the rules are so complex and so unsystematic that a
> "computer friendly" format almost certainly would have to *be* a program. 
> I think you're grievously underestimating the complexity of turning the
> current RevCan pronouncements into something that's easily analyzed and
> unambiguous.

CRA pronouncements aren't everything, either.

1.  What they document is the forms that _they_ have set up as _their_
interpretation of tax law.

2.  Real tax law is much messier still.  It represents the combination
of:

  a) The Income Tax Act, along with its numerous amendments over the
     years, as acts passed by Parliament;

  b) Interpretation Bulletins, written by CRA, that provide CRA's
     interpretation of how to handle various issues;

  c) Precedents set by tax cases decided by the various courts in the
     country.

These are the "authoritative" sources for tax law, and they don't
forcibly have to agree with one another.

Note that the bulk of the law has to do not with determining tax rates,
but with deciding how to recognize activities as being events that
are either:

  a) Taxable transactions, under one section or another, or

  b) Not taxable, which might also imply things like "not deductible,"

as well as determining _who_ would be assessed taxes on the transaction.

A good tax lawyer spends their time figuring out how particular
transactions are to be taxed, which has pretty nearly nothing to do with
how tax returns are prepared.

The fairly enormous complexity is all about there being a whole lot of
"corner cases" that someone found a loophole for that
Parliament/CRA/Courts decided needed to be closed up due to some notion
of "unfairness."

What this implies is that typical proposals to somehow magically
"simplify" tax law are pretty much doomed to failure.  Those that
propose them seem to fall into two categories:

 1.  Those that don't understand why their idea is doomed, which implies
     that they are in some fashion "too stupid" to deserve to set tax
     policy, or

 2.  Those that _do_ understand that what they're pretending to do won't
     address the real complexities, which implies that they're lying
     scoundrels that are _morally_ deficient and so shouldn't be
     "guarding any cookie jars."
 
> > > (Say you've got things running great, including the complications of
> > > self-employment... and then RevCan decides that most small businesses
> > > henceforth have to use the calendar year as their fiscal year...
> > 
> > Will off the shelf tax programs handle that?
> 
> Can't say for sure -- haven't used one -- but any program which can
> handle self-employment *must* handle this, and more people than you
> might think have some amount of self-employment income in addition to
> a job.

Self-employment is the "big punt" where some complexity leaps in.

> A generally useful program can't just say "hire an accountant" when it
> hits anything even vaguely complicated, because there are too many
> such things, and too many people to whom they are relevant.

I set up tax forms last year in Prolog that know how to cope with, hmm,
let's see...

 - Schedules 1, 3, 4, 5, 7, 9, and 11.
 - T1
 - Ontario and Federal LSIF forms
 - ON428 and ON479 forms to calculate Ontario credits and taxes payable
 - T2038, T2204, T4s, T626, T691 (Alternative Minimum Tax).

That more than covered the forms I was concerned about, with roughly 400
Prolog rules in about 100Kb/13K-lines of code.  Come next year, I'll add
in 2004 rates, and update it for new 2004 rules, and probably toss in a
few more forms.

Throwing in "self employment" income involves building an income
statement, which amounts to throwing in a spreadsheet that ends with the
line "Net Income" that turns into one line on the tax return.  There may
be a host of complexities to that, but in most ways they have relatively
little to do with the complexity of a tax return.
--
wm(X,Y):-write(X),write('@'),write(Y). wm('cbbrowne','cbbrowne.com').
http://www3.sympatico.ca/cbbrowne/freetaxsoftware.html
You don't *run* programs on Ultrix.
                - Mark Moraes
Right, you chase them.
                - Rayan Zachariassen
--
The Toronto Linux Users Group.      Meetings: http://tlug.ss.org
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://tlug.ss.org/subscribe.shtml





More information about the Legacy mailing list