Adding a Payroll calculator

Jay Scherrer jay at scherrer.com
Mon Oct 31 11:34:02 EST 2005


On Sun, 2005-10-30 at 20:03 -0500, gnucash-devel-request at gnucash.org
wrote:
> 
> Conrad Canterford wrote:
> << snipping>>
> > Jay,
> > On my very quick look at what you had there, it makes various
> > assumptions about the structure and nature of the payroll
> deductions.
> > Not adaptable to different structures as they exist in different
> > countries. For example, most of our tax deductions work a graduated
> > scheme, which does not lend itself to a flat-rate percentage
> calculation
> > (and for added complication, often includes a tax-free amount).
> Other
> > deductions work as a fixed percentage of the total (like you appear
> to
> > be showing).
> 
> Still other deductions are based on units of work (hours usually).
> For 
> example, in WA state you collect from employees at a rate per hour
> for 
> L&I and also accrue liability for employer at another rate per hour. 
> Some of those employees are salaried and have no set hours and in
> that 
> case you have to know to collect on 160 hours per month regardless of 
> what hours they work. Also, many taxes hage "wage bases" above which
> the 
> tax does not apply... .
> > 
> > Your also seem to require the accounts person to know/calculate the
> > appropriate percentage each time (or rely on the fact that it hasn't
> > changed from last time) - that is all good for permanent employees
> with
> > very little variation, but does nothing for people employing casual
> > staff for example, where their earnings may vary from week to week.
> > 
> > For reporting purposes, you will almost certainly need to record how
> > much of each deduction you take from each employee. This could
> probably
> > be done in accounts within the gnucash account tree, and might not
> be
> > that hard, but you'd need to think about how that was structured. I
> > admit to having no concept whatsoever how these things are handled
> in
> > countries other than my own (I've never employed staff anywhere but
> > here).
> 
> Some agencies want reporting based on when work was performed and
> some 
> want it based on when wages were paid.
> > 
> > I guess what I'm saying is that such simple approach does not really
> > solve the problem. Having said that, it might nevertheless provide a
> > basis for someone else to work on to provide a more generic
> approach.
> > I'm actually envisaging something along the lines of a plug-in
> module
> > (specific to each country) which calculates those percentages for
> you
> > for all the taxes and deductions. Having not seen any code, I cannot
> say
> > how practical that might be.
> 
> I have to agree that the problem is definitely NOT simple. However, 
> soemthing is better than naught.
> 
> A
> > 
> > Conrad.
> > 
For discussion, this was why I had at first suggested a payroll
calculator under GnuCash->tools. Using a framework much like the
Financial calculator by letting the user edit any taxable percentages.

Or, as I found your gnc_Employee and gnc_business classes. You could add
a table (class) specifically for payroll taxes that would reflect upon
the nature of the employee and the business. You started by adding a
rate classification.  
Seems only logical to add to the employee class: 
Type key (hourly, salary, commission), 
Job description key (laborer, assembly, management).
And for the Business class:
An industry key, to match the country's industry classifications. 
Example For US: matching the IRS business classification (for LandI
rates).
The entries for these would be presented while one is creating the
company and or employee (GnuCash->Business->Employees->New).
Then these keys would be assigned to an editable field by the account
creator allowing for any changes/updates to the tax tables issued by the
respective governments. These factors would be used when entering any
wage or salary payments to the employee to automatically calculate
deductions.

Just a suggestion.

Jay Scherrer




More information about the gnucash-devel mailing list