[Home]

Why PaysWell?

Following is the project proposal I submitted to SourceForge on May 21, 2005.

Thanks for taking the time to review my proposal.

I am self-employed. I own a software consulting corporation called GoingWare Inc.

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

Tilting at Windmills for a Better Tomorrow.

Dulcinea Technologies logo

PaysWell is a trademark of Dulcinea Technologies.
Other trademarks mentioned here are trademarks of their respective owners.