Weekly and Fortnightly Payroll / Salary Slips

Hi,
Just wanting to

  1. Obtain an estimate on paid development to introduce Weekly and Fortnightly payroll / salary slips to ERPNext, per https://github.com/frappe/erpnext/issues/4422

  2. Query members of the community as to who would be interested in contributing to the paid development

1 Like

Hi @OneiricIT,
Yes I would be interested in this. I will keep an eye on this thread or feel free to PM me.
Thanks :slight_smile:

We do external payroll, but I’m interested in having this to expedite the process

Count me in for a contribution +1

Hi Frappe team,
You are understandably busy no doubt with the upcoming conference - good luck!

When possible, can someone please indicate or contribute estimates as to introducing this for ERPNext per GitHub issue?

Thanks

Hi all,

We’re happy to pick this up if the design isn’t too complex.

I’ve made a first attempt at a high level design below based on the latest version of ERPNext. Please feel free to update, amend, overhaul the design. For now let’s keep it to the bare minimum so we can get it out quicker.

Once the initial design is finalised I will be able to estimate the cost of development.

Cheers,
Tony

ERPNext Design Proposal for Weekly Payroll and Salary Slip

Some assumptions:

  1. Weekly/fortnightly intervals determined by the employee start date and day of the week payroll is run. For example, payroll is run every Friday:
    a. Employee A starts Wednesday October 19th 2016 – first weekly salary slip will be for 2 days (Wednesday & Thursday).
    b. Subsequent weekly payroll run with be from Friday to Thursday.
  2. Multiple payroll run dates are required.

Payroll Run Dates

  1. New DocType to capture payroll run dates by Company. Future dates are pre-determined by the holiday calendar.
    a. Weekly – fixed working day each week.
    b. Fortnightly – fixed working day every fortnight.
    c. Monthly – fixed working day each month.

Employee DocType changes:

  1. New field called Payroll Run with drop down options:
    a. Weekly
    b. Fortnightly
    c. Monthly

Salary Structure DocType changes:

  1. No change to salary structure.

  2. Salary structures created for following groups:
    a. Weekly salary structure (separate group for each role or rate)
    b. Fortnightly salary structure (separate group for each role or rate)
    c. Monthly salary structure (separate group for each role)

Process Payroll DocType changes:

  1. Change to Create Salary Slip button to check the current date against:
    a. Weekly Payroll Run Date: If current date is >= the next Weekly Payroll Run Date then create weekly salary slips for all active employees where Payroll Run = Weekly.
    b. Fortnightly Payroll Run Date: If current date is >= the next Fortnightly Payroll Run Date then create fortnightly salary slips for all active employees where Payroll Run = Fortnightly.
    c. Monthly Payroll Run Date: If current date is >= the next Monthly Payroll Run Date then create monthly salary slips for all active employees where Payroll Run = Monthly.
    d. If any of the above conditions are not met, then skip.

Salary Slip DocType changes:

  1. Salary Slip primary key changes to allow
    a. multiple salary slips per month
    b. across multiple months i.e. when a week or fortnight spans 2 months.
    c. across multiple years i.e. when a week or fortnight spans two fiscal years.
  2. Interval dates for weekly and fortnightly salary slips.
  3. Leave days, sick days, payment days to be calculated based on date intervals for weekly and fortnightly salary slips (need more details here).
2 Likes

Great.

Would be good to get Frappe team’s comments given this would be contributed back to core - @KanchanChauhan are you able to contribute input?

Thanks @tonyta I have forwarded to my client for review.
Best Regards,
Rick

Hi @tonyta

The design looks good. We will definitely help in testing the prototype.

We can also help in the development by improving the Monthly Salary Register with a wider date range than just a month. Moreover, we have already contributed by adding the Posting Date as we need to report on a cash basis to the Tax Office. For example, in our company we run a monthly payroll the first Friday of the following month, so the month is not linked to the pay run and this makes a difference when reporting and lodging the Tax Return.

Posting Date from ERPNext v7.0.62

Briefly, we are thinking to design it as follows:

  • change title from ‘Monthly Salary Register’ to ‘Salary Register’;
  • add a date picker to select the date range;
  • insert a check box ‘by Posting Date’ to switch fetching date from month to posting date.

Please let me know your opinion. Also if you want us more involved in the development.

Andy

What about if an Employee has part-time job?

I think would be nice to have:

  • per hour rate
  • weekly working hours
  • hours worked per day (start time, end time)
  • leave hours, not only per day or half day

Also the ability to be based from time sheets as at present

Andy

That’s great you’re working on the reporting side which usually gets left out. Happy to combine this with the development to pitch to the community.

Cheers,
Tony

Hi JoEz

Would you be able to elaborate on how these parameters will be used in the salary structure/slip?

Cheers,
Tony

There is standard time sheet functionality in version 7

@tonyta …ok …i’m not much expert on this field …i’ve double checked HR module:

  • per hour rate: i’ve just double checked and it’s possible to set if Salary Slip Based on Timesheet is set.

  • hours worked per day (start time, end time): can be set in time sheet as well.

at the end:

  • daily/weekly working hours: the number of hours employee has to work per contract.

  • rate for extra hours: if employee will work extra hours that should be paid more than “normal” hours, as well as if working during holidays.

  • leave application: should allow to set number of hours of leave not only days/half days

Well …as told you i’m not an expert but wrote down stuff on how people get paid here …

We really need an expert on this :joy:

@JoEz the Civil Contracting App by @revant_one touchs on this idea. It is well documented and is available via frappe App Installer.

Like @JoEz HR and Payroll are an areaI know nothing about.
Would a lot of weekly and fortnightly payroll features be covered by simply adding a Week number field directly after the month field in the Process PayRoll Doctype?
So we would have Fiscal Year, Month and Week Number. We are currently in Week 43.
@tonyta It does get a bit tricky when you start to factor in holidays

@System19 thx for the info, i’ll have a look at that …

The day/half day unit is another problem in the Leave application as well as the Entitlements’ accrual.

For the time being, we have been using Time Sheet and Excel to work them out.

However, I think they should both be addressed in a separate topic.

I am new to ERPNext and really like what I see so far. This is a feature I am quite interested in as well. Some thoughts to @tonyta post on 10/19.

Someone posted about week numbers, I think this is a key component to determining pay periods. You can pay weekly for each single week number, fortnightly for every 2 consecutive week numbers and monthly based on standard calendar (standard calendar would also “see” the week numbers). The start date can certainly need logic, but that is generally a one time thing when you hire someone and then again when you terminate someone.

You should be able to mention what day you pay your people by pay cycle. e.g. Every Friday (for weekly), ever other Wed for fortnightly, and day of month for monthly. I would think a Salary Slip Pay Cycle doctype would help to facilitate this if I understand the architecture well enough.

Do you assign the “Salary Slip Pay Cycle” to an employee document directly or via his/her department so everyone in a department is automatically getting paid the same way?

Unless this is in 7.1 or 7.2 future releases, I think it would be good to add a field in Salary Component for Component type. Drop down for Earning or Deduction selection. Then update the Salary Component to only show Earning types in earning table and the same for Deductions.

The rest looks fabulous.

This feature will come out in v 7.1.

Rest of your suggestions will also be taken into consideration.

1 Like