Provident Fund Calculation and Payroll in Manual System & in OpenERP
Provident Fund Register of an Employee (say Mohsin) of 6 Months is below;
| Mohsin Provident Fund Register | |||||
| Provident Fund | |||||
| Month | Basic Salary | By Employee 12% | By Company 1.3% | Net Salary Payable | Net Provident Fund Payable |
| July | 15000 | 1800 | 195 | 13200 | 1995 |
| Aug | 15000 | 1800 | 195 | 13200 | 1995 |
| Sep | 15000 | 1800 | 195 | 13200 | 1995 |
| Oct | 15000 | 1800 | 195 | 13200 | 1995 |
| Nov | 15000 | 1800 | 195 | 13200 | 1995 |
| Dec | 15000 | 1800 | 195 | 13200 | 1995 |
| Total | 90000 | 10800 | 1170 | 79200 | 11970 |
Accounting Aspects of each month as Below:
We will use the following list of accounts with balances.
| Nature Of Account | Account | Balance |
| Liability | ||
| Salary Payable | 0 Cr | |
| Provident Fund Payable | 0 Cr | |
| Expense | ||
| Salary Expense | 0 Dr | |
| Provident Fund Expense | 0 Dr | |
| Asset | ||
| Bank | 0 Dr |
July Accounting Aspects:
| Account | Dr | Cr |
| Salary Expense | 18000 | |
| Salary Payable | 13200 | |
| Provident Fund | 1800 | |
| Provident Fund Expense | 195 | |
| Provident Fund Payable | 195 | |
| Salary Payable | 13200 | |
| Bank | 13200 |
August Accounting Aspects:
| Account | Dr | Cr |
| Salary Expense | 18000 | |
| Salary Payable | 13200 | |
| Provident Fund | 1800 | |
| Provident Fund Expense | 195 | |
| Provident Fund Payable | 195 | |
| Salary Payable | 13200 | |
| Bank | 13200 |
September Accounting Aspects:
| Account | Dr | Cr |
| Salary Expense | 18000 | |
| Salary Payable | 13200 | |
| Provident Fund | 1800 | |
| Provident Fund Expense | 195 | |
| Provident Fund Payable | 195 | |
| Salary Payable | 13200 | |
| Bank | 13200 |
October Accounting Aspects:
| Account | Dr | Cr |
| Salary Expense | 18000 | |
| Salary Payable | 13200 | |
| Provident Fund | 1800 | |
| Provident Fund Expense | 195 | |
| Provident Fund Payable | 195 | |
| Salary Payable | 13200 | |
| Bank | 13200 |
November Accounting Aspects:
| Account | Dr | Cr |
| Salary Expense | 18000 | |
| Salary Payable | 13200 | |
| Provident Fund | 1800 | |
| Provident Fund Expense | 195 | |
| Provident Fund Payable | 195 | |
| Salary Payable | 13200 | |
| Bank | 13200 |
December Accounting Aspects:
| Account | Dr | Cr |
| Salary Expense | 18000 | |
| Salary Payable | 13200 | |
| Provident Fund | 1800 | |
| Provident Fund Expense | 195 | |
| Provident Fund Payable | 195 | |
| Salary Payable | 13200 | |
| Bank | 13200 |
Account Balances at end of December:
| Nature Of Account | Account | Balance |
| Liability | ||
| Salary Payable | 0 Cr | |
| Provident Fund Payable | 11970 Cr | |
| Expense | ||
| Salary Expense | 90000 Dr | |
| Provident Fund Expense | 1170 Dr | |
| Asset | ||
| Bank | 79200 Dr |
Provident Fund Calculation and Payroll in OpenERP:
I am assuming that post reader install the hr_payroll module before implementation.
Major Steps:
- Accounts creation
- Partner Creation
- Contribution Register
- Allowance & Deductions Heads
- Function and Salary Structure
- Employee creation
- Employee contract
- Create Employee Payslip
- Check Accounting Aspects and Contribution Register
Accounts Creation:
create the following accounts in openerp from Financial Management → Configuration → Financial Accounting → Financial Accounts → List of Accounts.
| Acc Name | Code | Parent | Account Type | Internal Type |
| Chart | 0 | View | View | |
| Bank | 1 | chart | Asset | Other |
| Salary Payable | 2 | chart | Liability | Payable |
| Salary Receivable | 3 | chart | Asset | Receivable |
| Salary Expense | 4 | chart | Expense | Other |
| Provident Fund Payable | 5 | chart | Liability | Payable |
| Provident Fund Expense | 6 | chart | Expense | Other |
Partner Creation:
Create an employee as partner from Partners → Partners → New Partner providing following data.
Name: Mohsin Yaseen
Code: mohin
Supplier: Checked
Account Receivable: Select salary receivable.
Account Payable: Select salary payable.
Enter some information of contact (address) too.
Contribution Register:
Create a contribution register for provident fund from Human Resources → Configuration → Payroll → Contribution Register (Click new) providing following data.
Name: Provident Fund Register
Account: Select Provident Fund Expense
Provident Fund Deduction Head:
Create deduction head for provident fund from Human Resources → Configuration → Payroll → Allowance/Deduction Heads (Click new) providing following data.
Category Name: Provident Fund
Category Code: PF
Type: Deduction
Based on: basic
Condition: True
Contribute by Company: Selected
Amount Type: Fixed Amount
Contribution: 195
Contribution Register: Provident Fund Register
Function and Salary Structure:
Create a Employee function and salary structure for this function from Human Resources → Configuration → Payroll → Employee Function (Click new) providing following data.
Function Name: Consultant
Code: Con
Salary Structure
Name: Consultant Provident Fund Salary Structure
Code: CPFSS
Category: Provident Fund
Type: Deduction
Amount Type: Percentage (%)
Amount /Percentage: 12
General Account: Provident Fund Payable
Employee Creation:
Create an Employee from Human Resources → Employees → New Employee providing following data.
Employee: Mohsin Yasen
Active: Selected
Related User: Administrator
Home Address: Select the partner having name mohsin
Bank Account: Bank
Salary Account: Salary Expense
Employee Account: Salary Payable
Employee Contract:
Create an employee contract from Human Resources → Employees → Contract providing following information.
Employee: Select Mohsin Yasen
Contract Name: Consultant Contract
Function: Select Consultant
Working Hour / Days: 8
Working Days / Weeks: 5
Start Date: 07/01/2010
Wage Type: Monthly Basic Wages
Wage: 15000
Create Employee Payslip:
Create the employee Payslip for the months of july to dec 2010 from Human Resources → Payroll → Employee Payslip (Create New) providing following data (below data is in the form of monthly payslips).
July Payslip Data:
Employee: Mohsin Yaseen
Expense Journal: x Expenses Journal
Bank Journal: x Bank Journal
Date: 07/31/2010
Press Button: Compute Sheet, Verify Sheet,Complete HR Sheet, Complete Accounting Checking and Pay Salary.
Aug Payslip Data:
Employee: Mohsin Yaseen
Expense Journal: x Expenses Journal
Bank Journal: x Bank Journal
Date: 08/31/2010
Press Button: Compute Sheet, Verify Sheet,Complete HR Sheet, Complete Accounting Checking and Pay Salary.
Sep Payslip Data:
Employee: Mohsin Yaseen
Expense Journal: x Expenses Journal
Bank Journal: x Bank Journal
Date: 07/30/2010
Press Button: Compute Sheet, Verify Sheet,Complete HR Sheet, Complete Accounting Checking and Pay Salary.
Oct Payslip Data:
Employee: Mohsin Yaseen
Expense Journal: x Expenses Journal
Bank Journal: x Bank Journal
Date: 07/31/2010
Press Button: Compute Sheet, Verify Sheet,Complete HR Sheet, Complete Accounting Checking and Pay Salary.
Nov Payslip Data:
Employee: Mohsin Yaseen
Expense Journal: x Expenses Journal
Bank Journal: x Bank Journal
Date: 07/30/2010
Press Button: Compute Sheet, Verify Sheet,Complete HR Sheet, Complete Accounting Checking and Pay Salary.
Dec Payslip Data:
Employee: Mohsin Yaseen
Expense Journal: x Expenses Journal
Bank Journal: x Bank Journal
Date: 07/31/2010
Press Button: Compute Sheet, Verify Sheet,Complete HR Sheet, Complete Accounting Checking and Pay Salary.
Provident Fund Contribution Register:















Happy new year. I would like to register my appreciation over your tutorials to the community. It’s about the single most important site for learning about openerp. It is very functional. Thank you again. Am sure I will donate someday.
@coolmanlg thanks buddy happy new year u too.
ur donation are welcome in from of; help others guys in form of sharing knowledge. if yes than shake hand and join my page.
welcome any time.
in ver 5 payroll includes two functionalities. first simple payroll second the integration of payroll with accounts.
in ver 6 they are separate modules
simple payroll=hr_pyroll
payroll integration with accounts = hr_payroll_account.
remember hr_payroll_account (ver 6) depends on hr_payroll (ver 6)
thanks for the tutorial. Is it possible to use function value to calculate income tax based on salary range? For example from 0 to 1000 taxed at 10% and from 1000.01 to 2000 at 20%.
@Edi yes brother its possible.
When you define a salary structure under employee function.
Select Category type: Income Tax
Amount Type: Function:
after this, Function tab in same window will enable for you.
define the list of start value, end value and amount.
that it.
Mohsin, excuse my ignorance, but care to be a bit more elaborate? I have tried countless times and I just can’t seem to understand how the function value works. I would greatly appreciate it if you can provide a simple example.
Thanks a lot for the great blog.
Cheers
By the way I’m testing with version 6.0 RC2.
@Edi ok let me write an example and with steps.i will upload a proper new post of income tax deduction with function in openerp.
this post need some development too. i will share soon.
also my exams are near, if i am late in any case then hope u don’t mind
thanks
Hi Mohsin, how are u??
Im working on a payroll module and want to implement a way to configure employee incomes and it can be calculated by formula or functions. The formula way will be something like income1 = income2 + hr_payroll.GetWage() * 2. I need to know how i can implement it and read incomes from hr_admin_incomes table when generate payroll and calculate the value of income by specified formula in hr_admin_incomes.formula
Reggards from Cuba
In version 5 there was an option named ‘Include in salary’ under contribution configuration in Allowances/Deduction under Human Resources—>Configuration—>Payroll. In version 6 that option is missing. can you pls tell me where that function is?
@KD in ver 6 Human Resources -> Configuration -> Payroll -> Salary Heads (New Head)
here you can find the contribution from company.
Thanks man i see V6 functionality and take some ideas to solve my issues.
Best reggards from Cuba
@Dairon ooop sorry brother i haven’t able to reply you. really sorry. don’t mind
i am busy in my exam preparation coming feb. hope all fiends can understand my problem including @dairon
hi mohsin , i have been through ur blog for the payroll management, as im building my own accounting package. Im confused with the allowance , deduction that comes apart from the PF. See as of openerp, organization will have a salary account, PF account selected (PF expense) and on employee creation we would assign salary payable account as employee account and PF payable as employee PF account. So in general accounting if i have to manage deductions and allowances , should i go for different accounts both in company side aswellas employee side like allowance expense account for company , allowance recievable for employee. It would be a great help for me if u cld take me out of this big doubt.Hoping for your reply
best regards
haseeb
@haseeb
let me try to solve your problem, see how much i solve your ambiguity.
first of all, employee is business partner. employee provide services, and we pay for availed services.
so in business we will maintain employee account (vendor accounts) i.e. employee salary payable (its same like vendor payable or vendor receivable accounts).
second if your maintain a PF payable account separately that it will better (but not must) rather then maintain salary payable single account. for example an boss comes and request for balance amount for PF payable, if you maintain single salary payable account, then it will be tough to extract the balance of pf payable from single salary payable (where salary payable include both monthly salary payable plus PF payable). Conclusion if you maintain both salary payable and PF payable account separately then any time you can find the ledger balance of PF Payable. again its depend on the accountant how he/she maintain its chart of account its not must.
Third provident is an expense on monthly basis (contribution from company). how much a company expenses occur in account of provident fund. you should maintain PF expense account separately, bcoz of two reasons a) balance of PF expense transfer to Profit and Loss Account quarterly or annually b) in case of unrecognized provident fund will be treat differently in taxation department.
Thank you very much for this tutorial. We have installed v6.0.2 with hr_payroll and hr_payroll_account as well as accounting modules. However, the employee view does not show the accounting tab like on your screen cap. Specifically, don’t have any means to specify
1)Bank Account (Assuming this is the current account from where Salary Expense will be paid)
2)Salary account (Assuming this is the expense account to charge to)
3)Employee account (Assuming this is the account payable account to charge to before actual payment has been maid)
Hence, even after we run the payslips, no accounting consequences are recorded.
Are we overlooking something? Thanks!
@lmk when you will install hr_payroll_account module, then open employee form you will find accounting tab. there you can define these mention three accounts
Hi Mohsin, we did install hr_payroll_account and verified under Admin->Modules that t has been installed. But when we go to HR->Employee->New only the following tabs appear: “Personal Information”, “Miscellaneous”, “Categories”, “Notes”. There is no “Accounting Information” tab. We used “openerp-allinone-setup-6.0.1.exe” to install openERP. What could be wrong?
@lmk brother when ever i use to comments, i always first verify my wording practically. So i have checked two files in openerpv6/bin/addons/hr_payroll_account i.e. hr_payroll_account.py and hr_payroll_account_view.xml. both files inherit the hr_employee and introduce new features in form of accounting tab.
Dear Mohsin,
I open both hr_payroll_account.py and hr_payroll_account_view.xml in version 6, but I don’t find inherit view in hr_payroll_account_view.xml for accounting tab.
Thanks for this valuable posting anyway.
@zulfahmi donnlowd the latest module from launchpad.
Dear Mohsin,
sorry, I couldn’t find any differences in trunk or 6.0 series
Hello Mohsin
very nice and helpfull post.great job
thanks
pritesh
Moshin
Great job!
Cherus, Kenya
thanks
Hi Mohsin
This is Ritu Sharma. Rs. 780 are deducted from my salary as EPF. When I check my balance in EPF online. It is EE Amt. 8921, ER Amt Rs. 2734. I am not able to understand this figures i.e EE amt. and ER Amt. Secondly, balance should be around 18000 as equal amount is deposited by employer. Kindly explain these technical terms
Thanks