Payroll not usable in the United States


Thanks for a great open-source product.

It seems the payroll module is not useable for the United States.

I’ve spent several hours with trial and error to see if I can manipulate the program
to use it for payroll here in the States.

In the USA we have several income taxes, where it seems ERPnext only has one choice
for Income Tax that can be associated with an Income Tax slab.

Further, it seems we can’t create a salary component based on Gross earnings (as the sole
Income Tax Slab is based on this).

Can someone point me in the direction of how the income tax slab is calculated on the
gross salary? How difficult would it be to implement using “gross earnings” in the calculation
of a salary component? If this were possible, payroll might be usable in the USA for smaller
companies. I don’t think my idea is scalable since the income tax slab is tied to an employee
and there is only a one-to-one relationship between the slab and the employee.

If we could multiple income tax slabs per employee, that would be great.

Since the HRMS module has been broken out into a unique module, perhaps a fork
would be in order. We could then have multiple modules based on region.

I wanted to reference this thread indicating that I’m not alone in my opinion.

Hi there,

It’s a pretty simple fix to allow multiple income tax brackets, but there are some questions about the best UX. I’ve described it a bit here:

The code that needs to be changed is here:

Thank you @peterg.

I made a comment on the linked feature request.

Luckily I found it’s possible to use ‘gross_pay’ in the formula of a salary component, so that’s great.

Still to learn is how to get the numbers in paySlip to dynamically update. I’m not sure if this is
still a bug (mentioned back in 2019) or if I’m doing something wrong. The feature is even mentioned
in the training videos, “that it should work”. Perhaps I need to check the box “is variable”?

EDIT: I finally discovered an important component. The choice “is statistical component” is a great choice for items you’d like to manually edit on the pay slip and have the income tax dynamically updated. I do wish the item would still be automatically added to the pay slip, even with a zero amount.

I’ve also discovered the possibility of using conditional formulas which will also be a huge help.

I think I’ve created a workaround. I’m using a salary component for each tax type (Fed W/T, State W/T, Social Security, Medicare, etc). For Federal and NYS I created a workbook that generates the formulas
based on employees W-4 form.

I added the info in the feature request on github

@volkswagner, I did something very similar, but for a different state. It takes a pretty good amount of up-front work each year when the tax tables change. But if you have to do manual formulas for one of the withholding schemes, like state, then it makes sense to just do it that way for all of them.