Salary based on weight

Hello, I’m new with ERPNext. I have a question regarding payroll and salary module.

I run a small agriculture business and pay my workers based on how much weight of fruits being harvested by that person. Not calculating based on working hours, but only by weight. For example John has harvested 10kgs of strawberries, I’ll pay him $1/kg, thus he earns $10 for that day, and payment is done by that day too.

By default, ERPNext is using working hour and day, how can I use this module based on my requirements?

1 Like

Just keep things simple. When you need to make a payment, create a new salary slip for the individual - choose “daily” as the payroll frequency. Then set the earning to whatever it should be (whatever they picked for the day).

Anything further than this will require a customization.

1 Like

Thanks. Means that I only need to put the total amount right? How can I add description to further clarify what that total amount came from instead of just payroll/payslip?

Create Salary Components. ex: “$5 kg beans” or “$7 kg tomatoes” and assign values to those earnings in salary slip.

1 Like

Nice, never thought of doing that in first place. Thanks for the solution.

@nekoprog Do you not think, it’s like sub-contracting instead of Permanent Payroll? If this is like subcontracting, there is an app, you should give a try. For details: Civil Contracting: Documentation

Might this will solve your problems. Still, want more contribute that app & get it customized.

@felix As per marked answer, do you not think fluctuating rates of goods, will affect salary daily? It’ll be another nightmare, if daily payment changed.

1 Like

I’ve look at it before but cannot install from ERPNext dashboard, and have to install from bench, might try it afterwards if it can provide a better solution.

1 Like

Yes, I do think about it, because prices goes up and down quite frequently. But for this time, I have to set a minimum fair price for the workers while company will cover the daily/weekly selling prices.

1 Like

It depends on the requirements of the user.

If rates fluctuate frequently, then you could solve that by just saying “Beans/kg” as a component and not state the rate. You could then manage rates elsewhere if desired.

If you have 200+ workers, then you would probably want something more automated.

This isn’t going to be the perfect solution for all scenarios. But it is a feasible solution for some scenarios, which doesn’t require any customization.


I’m still learning about more scenarios by contributing others, this discussion will definitely fruitful for me & someone newbie as well. Thanks @felix & @nekoprog !!

1 Like

Thanks to you too @asharamseervi and @felix for the guide. :grinning::+1::+1:

1 Like