OOo Spreadsheet for Canadian Payroll Tax

Michael D. Crawford crawford at goingware.com
Sat May 21 17:34:04 EDT 2005


Roy Nicholl asked:

 > Would you be interested in sharing a copy of your spreadsheet?

Even better: I registered the domain payswell.org about an hour ago, and 
just now submitted a new project request at SourceForge.  It won't be 
approved until Monday at the earliest, and maybe not till tuesday, but 
when the following link turns up a real website, you'll be able to 
download my prototype spreadsheet from the project's file releases page:

http://www.payswell.org/

I asked my hosting service to provide DNS for the virtual host.  If the 
name service isn't up yet, http://payswell.sourceforge.net/ will work 
once it's approved.

payswell.com is already registered, but there is no www.payswell.com 
website, and a trademark search at http://www.uspto.gov/ didn't turn up 
any conflicts.

Here's the project description I submitted.  This will be displayed on 
the internal sourceforge project page:

"Payswell is a set of spreadsheets, one for each country, that calculate 
payroll tax withholding.  I created such a spreadsheet for Canada in 
OpenOffice.org because GnuCash does not support withholding tables. 
Other nations and formats will follow soon."

I'm going to say right on PaysWell's homepage that it's my revenge 
against Intuit for trying to nickle-and-dime small businesses to death 
by charging for the undocumented QuickBooks-format tax tables that the 
IRS and all fifty states provide for free, and at considerable taxpayer 
expense by mailing hardcopies to every business in the country.

I will be *DAMNED* if I ever pay for another Intuit product ever again. 
    Companies like Intuit is the whole reason there is even such a thing 
as Free Software at all.  You can quote me on that - it will be in the 
press release I'm going to write.

Following is the detailed project proposal I submitted to SourceForge. 
It has to be approved by a human before the project goes live, which 
might take up to two business days.  I selected the GPL as the license 
because I'm a Dirty GNU Hippy:

--
Thanks for taking the time to review my proposal.

I am self-employed.  I own a software consulting corporation called 
GoingWare Inc. - http://www.goingware.com/

I pay myself as a W-2 employee of the corporation, so for each paycheck 
I must calculate withholding tax and pay it at my bank by the fifteenth 
of the following month with a specially printed voucher printed for me 
by the tax authorities.

QuickBooks 99 was able to calculate withholding automatically, but I was 
angry that Intuit charged for QuickBooks-format tax tables that the IRS 
provides for free at *considerable* taxpayer expense: the IRS sends them 
in hardcopy to every business in the country every single year.  Once my 
initial tax table expired, I created a simple, primitive spreadsheet to 
calculate withholding by hand.  From then on, I have entered my gross 
pay and withholding into QuickBooks by hand.

I immigrated to Canada a while back by virtue of marrying a Canadian 
citizen in 2000.  I recently received my first paycheck for my first 
Canadian client, so I had to register my US corporation with the Nova 
Scotia Registry of Joint Stock Corporations.  This enabled me to open a 
local business checking account.

This meant that my little one-man corporation is now a multinational. 
QuickBooks 99 only supports US dollars.  Maybe a more recent version 
supports multiple currencies but because of the way Intuit tries to 
nickle-and-dime the small businessman to death, I am determined never to 
use another Intuit product ever again, not even if they offer me a free 
upgrade.

Thus I am now using Fink to build GnuCash 1.8.11 from source on my OS X 
Mac.  GnuCash handles multiple currencies just fine.  But there's a 
problem: GnuCash *can't calculate payroll withholding*.  It can record 
and account for withholding if one calculates it by hand, but as GnuCash 
is a very international project, supporting withholding calculations for 
even a few countries is a daunting task, a goal I am skeptical can ever 
be achieved, especially considering that the procedure just for Canada 
is an *eighty-seven* page document.  The Canada Revenue Payroll 
Deductions Formulas for Computer Programs can be found at:

http://www.cra-arc.gc.ca/tax/business/topics/payroll/formulas-e.html

I considered modifying my funky old spreadsheet to handle Canada 
Revenue/Nova Scotia withholding, but it required a lot of manual 
fiddling because it didn't handle tax tables automatically: as my gross 
pay cross tax bracked boundaries, I had to manually adjust the tax rate.

Thus I decided to finally Read The Fine Manual to OpenOffice so I could 
learn how to work a tax table automatically.  It's frightening, but not 
difficult - I use OOo's IF function, nested four levels deep, one level 
for each bracket in the tax table.

Thus, the other night, I created the Mother Of All Spreadsheets, with 
the result that I can calculate withholding for Revenue Canada and the 
Province of Nova Scotia *instantly*.  I am absolutely DELIGHTED with the 
result:

The reason this was so important to me is that things are often so tight 
for my business that the way I pay myself is not to simply enter my 
gross pay, write a check for the net and then save the withholding until 
it comes time to pay my taxes.  Instead, I estimate the gross pay that 
will result in the net being ALL the money I have left, and then adjust 
the gross up and down until I can home in on a net pay that will only 
leave a few bucks in my checking account.  Then I work like a demon in 
hopes that I can cover the taxes by the fifteenth of the following month.

I'm not exactly proud of having to do that, but I have a lot of reason 
to believe that it is common practice not just among self-employed 
people, but occasionally among regular employers that are having cash 
flow problems.

I won't go into the consequences of failing to pay on time.  Failing to 
pay withholding is worse than not paying most kind of taxes, because 
it's considered stealing from your employees.  The IRS doesn't care if 
the President, Director,  sole stockholder and single employee of the 
company are all the same person.  The IRS is not known for being reasonable.

My first spreadsheet is very primitive, and I realized is not 
constructed the way it really should be.  It's also not yet complete and 
only handles Nova Scotia.  But it *does* work, and has helped me to 
understand how I could improve it and add support for the other Canadian 
provinces and territories, for example by handling each of them in a 
separate page rather than all in one page as my first try does.

 From there, while it would be a lot of work, but the basic principles 
would be established well enough to create a spreadsheet that could 
handle United States federal tax, with a page for each of the fifty states.

I should be able to handle Canada by myself and provide the US and Maine 
to help others get started.  I expect that as other developers get 
involved, more countries should follow quickly.  I think simply having a 
single province and country as an example will go a long way towards 
helping others write spreadsheets for their own countries.  I'm no 
spreadsheet rocket scientist, so it took several years to arrive at this 
point, but once I understood the IF statement, and how to refer to a 
cell on a different spreadsheet page, it only took me about five hours 
to create my prototype.

I don't plan to continue with my prototype, but I *will* release it on 
sourceforge to help others understand the potential for my proposed 
project.  I think I can get a development release for Nova Scotia that 
is built much better in a week or so, and handle all the provinces and 
territories in Canada by the middle of June.

I have already hinted at open sourcing my spreadsheet on the 
gnucash-user and Nova Scotia Linux User Group mailing lists.  If you 
approve my project, once I have a homepage up and have released my 
prototype, I'm going to post a call for help on alt.computer.consultants 
and the list for the Boston Chapter of the Independent Computer 
Consultants Association (http://www.icca-boston.org/) where I was a 
member before I moved to Canada.

Considering the importance of paying the right amount of taxes, the 
consequences of failing to pay them, the anger that I and I'm sure many 
others feel over Intuit's practice of charging for tax tables that ought 
to be free, and the despair many feel over how long it will have to take 
before GnuCash can support payroll withholding calculations, and how 
many self-employed computer consultants there are, let alone how many 
self-employed people there are of any kind, I think that I can 
confidently predict that my proposed project will take off like wildfire.

Thank you for your help.

Mike Crawford
-- 
Michael D. Crawford
GoingWare Inc. - Expert Software Development and Consulting
http://www.goingware.com
crawford at goingware.com

   Tilting at Windmills for a Better Tomorrow.

     "I give you this one rule of conduct. Do what you will, but speak
      out always. Be shunned, be hated, be ridiculed, be scared,
      be in doubt, but don't be gagged."
      -- John J. Chapman, "Make a Bonfire of Your Reputations"
         http://www.goingware.com/reputation/


More information about the gnucash-user mailing list