Error when Making Bank Entry in payroll processing

@olamide_shodunke and @Randy_Lowery Also on what version are you? If not on latest, I would say update and see if the error still persists.

@KanchanChauhan

We are on the latest version.

It happens when we run payroll for the entire organisation, so its not one salary slip thats involved.

So the JV is created correctly on submission of Salary Slips, right? The issue is when you create Payment Entry. You can create Payment Entry manually as well. We will look into the issue in the mean time.

1 Like

@KanchanChauhan We need to do rounding based on field precision while getting amount from salary slips.

2 Likes

Thanks @KanchanChauhan and @nabinhait

Will await the fix.

@KanchanChauhan, how do I create payment entry manually for the payroll run??

Regards

If you are getting the error on making Payment Entry and accrual entry has been submitted correctly. Then check the accrual entry to get the amount of Payroll Payable.
Then make a Journal Entry, debiting Process Payroll and crediting Bank account.

In case if you are getting this error while submitting salary slip via Process Payroll, then first submit salary slips individually and then make accrual entry debiting Salary expense account and crediting Payroll Payable.

Thank you @nabinhait

I don’t have a process payroll account. Is this a system generated account
? Or are you referring to my payroll expense account?

What happens when the error is fixed by your team? Will the ERPNext system
still retain the fact that the make bank entry step has not been made for
that particular payroll run? Could this lead to a double posting at the end
of the day ?

Regards

Hello @nabinhait

Am still stuck on this isssue, even if I want to use the manual approach pending when you fix the bug, how do I

  1. Check the accrual entry as you stated above?
  2. What is process payroll you said I should debit above?

Awaiting your response

Regards

Which version and branch are you using? If you are in develop branch, then only accrual system is available. For accrual entry, you need to create an payable account under Liability.

Otherwise, in master branch there is no accrual system for booking accounting entry for salary. And in that case, while doing payment entry, salary expense account should be debited and bank account should be credited.

It should not affect the existing accounting entry and salary slips.

TEMPORARY FIX FOUND!!!

I suggest you check each salary structure, and wrap any formulas entered in the salary component formula field, particularly those that have more than one or two operations, in the following Python function:

float(“{0:.2f}”.format(YOUR_FORMULA_HERE))

This will round everything to two decimal points, and will keep all your calculations from causing these errors before a fix is made.

All text below is the trial and error I followed to stumble upon the fix above. Read, only if you desire.
I´m getting the same, I have checked each salary structure formula to verify they all make equal amount, but the problem persists:

“Total Debit must be equal to Total Credit. The difference is -0.0010000000002”

I did have one test instance where ONE unique individual’s salary slip was not submitted, and it did create the Payment Entry for all others perfectly. I am using a Fortnightly payment structure.

I fixed the salary structure, but the problem persists:
Troubleshooting: In my case ERPNext says that “multiple active salary structures exist for that employee”, when pressing the “Create Salary Slip” button in the Process Payroll tool. I have verified, and I found ONE more salary structure for the time period which was active. I inactivated it, and no longer get the message when pressing “Create Salary Slips”. This was the employee who gives me “trouble” when making the payment entry.

One other factor that might be affecting is that this employee has a particular deduction which others do not have, and that might be generating the extra numbers. I tried removing that particular calculation, leaving all employees with the same calculation, and still got the same error. (NOTE: I took the deduction away and still get the error)

Question: Is there a formula that can be used to “round” the numbers within the formula square when calculating payroll? Should it be Python or Javascript notation? SELF-ANSWERED: It’s in Python.

One other thing I checked, is the specific accounts for each salary component. Since it was stated in another post, the component DocType does not automatically show Liability accounts, but will successfully link to them if entered manually.
Changing the account name AFTER linking and saving manually, does not affect the error.

However i have been able to isolate it to ONE employee’s salary structure. Even though the salary slip is in balance, something is up with this particular structure. I’m going back to check the formulas.

No luck. I tried everything and there seems to be a certain rounding issue.

Now trying a rounding formula using python (Formats and then converts back to float from string data type):
float(“{0:.2f}”.format(YOUR_FORMULA_HERE))

ERPNext: v7.2.27

Frappe Framework: v7.2.27

am having the same issue

any update ?

any update

is it done

I have created a github issue for this and included it in milestone “2017-06”. It should be fixed by the end of this month.

https://github.com/frappe/erpnext/issues/9300

1 Like

Sent a pull request to fix the issue.

https://github.com/frappe/erpnext/pull/10586

Hello,

I am having a slightly different issue.

My Bank Entry completes successfully. However, the GL entries for deductions are wrong. The Gross Pay is debited from Salary GL and Credited to the deductions GL rather than the specified deductibles:


GL Entry

How can i correct this error.

Please help.

Thanks.

Error: Value missing for Payroll Entry: Cost Center this error come when i try to save payroll entry. while cost centre is there and i select it.

THis issue is only with one client while other sites are working fine.

Dears any idea to fix it

This error still persists in ERPNext: v13.34.1 (version-13).

A solution for float rounding inside the formular is not a option as many variables for calculating taxes on salary are in the area of 5-8 decimal digits.

How can this issue finally be solved?