Payroll Employer Contribution

Hi all I am hitting this problem (in Tanzania) now in version 9. I wonder if their has been any progress over the period since the last post - 9 months?

1 Like

Payroll is not my specialty but this caught my eye since I work in Canada. Can anyone say if this has been addressed yet, or what workarounds people are using with v10?

Thanks

Ping to @Randy_Lowery @James_Robertson @draedon @OneiricIT @JayRam

+1 from our end!

@Dale_Scott @fikerjayz yes, it was actually addressed in v9. Create the Salary Component and specify the applicable CoA. Then when you specify it in the Salary Slip (or in the Salary Structure) you then check to exclude it from being in the total. Let me know if this is not what you were referring to.

1 Like

@OneiricIT,

Yes, if DO NOT INCLUDE IN TOTAL is ticked, it actually excludes the figure/amount from the totals. The issue now is that the affected earning and deduction components are still listed with the other earnings and deductions in the Salary Slip. This creates issues with the tax authorities.

The Company Contributions section or table should be displayed separately. Thanks for the amazing job.

1 Like

@Sirjames sorry for the delay, have been busy with other tasks at hand.

OK, to get around this I use (which works for me) a custom print format which checks if the row item in earning has the checkbox selected, and displays that only in a seperate table. The second table I then display earnings which do not have the checkbox selected, followed by the deductions which also have the checkbox not selected. Sample print format code I use is below.

Hope it helps.

				<tr class="heading">
				<td width=66%>
                Super Contribution
				</td>
				<td width=34%>
				Amount
				</td>
				</tr>
				{%- for row in doc.earnings -%}
				
				<tr>
				{%- if row.do_not_include_in_total == 1 -%}
				<td>
				{{ row.salary_component }}
				</td>
				<td>
				{{ row.get_formatted("amount") }}
				</td>
				{%- endif -%}
				</tr>
				{%- endfor -%}
			</table>
			</td>
			<td width=10%>
			</td>
			<td width=10%>
			</td>
			<td>
			<table>
				<tr class="heading">
				<td width=66%>
                Component
				</td>
				<td width=34%>
				Amount
				</td>
				</tr>
				{%- for row in doc.earnings -%}
				
				<tr>
				{%- if row.do_not_include_in_total == 0 -%}
				<td>
				{{ row.salary_component }}
				</td>
				<td>
				{{ row.get_formatted("amount") }}
				</td>
				{%- endif -%}
				</tr>
				{%- endfor -%}
				{%- for row in doc.deductions -%}
				<tr>
				{%- if row.do_not_include_in_total == 0 -%}
			<td>
				{{ row.salary_component }}
				</td>
				<td>
				-{{ row.get_formatted("amount") }}
			</td>
			{%- endif -%}
				</tr>
				{%- endfor -%}
			</table>
			</td>
			
		</tr>
		<br>
		<br>
        <tr>
		<td style="padding-top: 15px;">
		</td>
		</tr>
        <tr>
            <td></td>
	<td></td>
	<td></td>
	<td>
		<table>
		<tr>
			<td class="total3">
				Total Pay:
			</td>
			
			<td class="total3">
				{{ doc.get_formatted("gross_pay", doc) }}
			</td>
		</tr>
		<tr>
			<td class="total3">
				Taxable Pay:
			</td>
			
			<td class="total3">
				{{ doc.get_formatted("gross_pay", doc) }}
			</td>
		</tr>
		<tr>
			<td class="total3">
				Tax Paid:
			</td>
			
			<td class="total3">
				{{ doc.get_formatted("total_deduction", doc) }}
			</td>
		</tr>
		<tr>
			<td class="total2">
				Net Pay:
			</td>
			
			<td class="total2">
				{{ doc.get_formatted("net_pay", doc) }}
			</td>
		</tr>
		</table>
1 Like

@Sirjames Also I am not certain if you are in the need for this, however I need YTD figures on Salary Slips so will be looking at that soon. I know others like @James_Robertson have posted several times on this being needed however seems like it is overlooked unfortunately. Likewise with Leave allocated automatically based on each Salary Slip issues to the employee (so for leave accrual) .

1 Like

@OneiricIT, I do need this too. Thank you very much.

Hi,

I see you are implementing in Nigeria or a Nigerian firm. Nice.
Doing something in Nigeria too.
Awesome. Will be good if we meet.

Regards,
Taiwo

"tiwiex,

Thanks. I responded to your PM.

Nice to know you are based in Nigeria too.

This is addressed in version 11 as far as the Payslip and Salary Register are concerned.

However, because its a deductable, and we do not have a provision to indicate whose deductable. This causes the Employers Contribution to be deducted from the Employee on the Journal Entry, rather than the Employer.

A work-around to test is adding it as an Earning. However, in terms of Payslip, this doesn’t look right. A second solution would be to correct the figures on the Journals, but the first journal is submitted by default.

I’ll report after further tests, please share if you have a better solution.

You could create the salary component as a Deduction, then tick, Do not include in total.

I did that in the first place. It works fine on the Payslip. But ERPNext deducts the employers contribution from the Employee’s Net Pay on the Journal Entry and Bank Entry.

@James_Robertson had the right idea when he said this

A check box right next to Do not include in total or Statistical Component is needed.

UPDATE on the workaround:

Add the Item as an (deducts from the employer) Earning, then deduct it as a Deductable. See below:

Salary Structure - Good

Payslip - Good

Bank Entry

JV - ?

I’m not 100% certain about this Workaround. From the look of this JV (I’m not an accountant) it seems like we need one more JV when Paying the employees NAPSA (Provident Fund) contribution.

Someone with accounting background please weigh-in on this.

Note:
A difference on the two NAPSA (PF) accounts are as follows:

NAPSA - Expenses
NAPSA Liabilities - Liabilities

2 Likes

Could be, never tested those stages exhaustively, but the few times I tried they seemed off, reverted to manual journal entries of the figures.

1 Like

This one works perfectly. I followed this one in the Philippines.

2 Likes

Care to share how make it for ph salary? Thanks

For Employer Contribution (using SSS for my example), I do the following:

  1. Add items in both Earnings and Deductions with different names. What I did are “SSS Employer Contribution” in Earnings and"SSS Employer Share" in Deductions.
  2. Check “Do not include in totals”.
  3. As an additional tip, I created a formula to compute the amount based on the salary: ((255 if base<3250 else int((base+500-3249.99)/500)*42.50+255.0 if base<20000 else 1700)
  • (0 if base<20250 else int((base+500-20249.99)/500)*42.50 if base<24750 else 425))
    /2

Correcting the formula: the + sign was replaced with paragraph break:
((255 if base<3250 else int((base+500-3249.99)/500)*42.50+255.0 if base<20000 else 1700)

  • (0 if base<20250 else int((base+500-20249.99)/500)*42.50 if base<24750 else 425))
    /2

Additionally, ensure that the Account is Expense for the SSS Employer Contribution which I put as Earnings. The one in Deductions had the Liability account.

Retrying to paste the formula without auto correction of the + sign:
((255 if base<3250 else int((base+500-3249.99)/500)*42.50+255.0 if base<20000 else 1700) + (0 if base<20250 else int((base+500-20249.99)/500)*42.50 if base<24750 else 425))
/2