Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo
Victor Perez Juarez
We are trying to improve the integration of the Adempiere Libero Human Resources and Payroll Extension, by integrating Adempiere Payments with payroll functionality, this means enabling it to issue payments to employees directly from the Payroll System.
We are thinking on two different approaches for this implementation:
To create a new custom process for the generation of payroll payments under Human Resources and Payroll Menu with the following parameters:
<li> 1.- Payroll Process
<li> 2.- Bank Account
<li> 3.- Payment Rule
<li> 4.- Check Number
This process would create a payment for each of the concepts that were defined as payroll payments, bank account and the check number assigned. These payments will be generated by previously defined rules for each employee.
These payments will be defined as "charge" to indicate wich natural account will be debited for the amounts payable on a regular basis, the payment accounting entry would be like the following:
Checks in Transit
Minimal changes required, plus payroll functionallity doesn't impact current Adempiere core.
Create a new process similar to print/export payments
It would be integrated into the process of "payment selection" and the default settings for printing checks
It would be required to define charges for several payroll payment concepts
To modify current payment selection functionality and add the "payroll movement" to assign a payment concept and payment amount to the standard Adempiere payment, the following accounting would take place:
Use the same functionality for Open Items to generate and print payments
Requires changes in the Adempiere core (generate a payment allocation to payroll) and create a patch for the current functionality as payroll
I would like to ask concensus from the community as what best approach we should follow
Victor Perez, www.e-evolution.com
Redhuan D. Oon
Interesting. Which one would you prefer? About changing core in the 2nd option, would you use ModelValidator?
As comment, i abit do not understand the Pros of both options.
You say the first one has Pros that is minimal changes. But you need to create a new custome process. In the 2nd one is also looks like minimal changes to me. Because it is only using Open Items.
The only difference it seems is about touching core. And that is why i ask if ModelValidator is used. If so, i see it not as touching core.
The idea of generating Payroll payments straight out from Adempiere system sounds very appealing, even though I am not familiar with the Libero Payroll and Human Resources Module.
However, from previous experience with other customers I have learned that issuing an AP Invoice for accruing wages could be a more suitable procedure and also a less disruptive one because then you could leverage the standard Adempiere payment processes to generate these payments and also get them under Open Items reporting for AP control purposes.
You could alternatively issue individual invoices if we are talking just a few employees, or alternatively you could create a summary AP Invoice for multiple employees for a given period e.g. First week of month, Second week of month, and issue one global payment for a given payroll.
This is just a rough idea, lets see what others come up with, probably with more experience than me.
Victor Perez Juarez
The second approach.
the Cons of modify the ADempiere core implied that
I need to add new element for Application Dictionary and payment selection window
I need modify the accounting fact for payment selection
I need modify the current prepare payment process to integrate the new business logic
I need modify the allocation functionality to support now allocation to payroll.
This change can not solve with model validator because the logic are into of a process
I use the same business process flow
have not duplicate functionality
The integration is excellent but a patch is necessary to implement this approach I think that a extension so not should patch core functionality but I is not sure.
first approach I change not the core functionality but the integration do not is good
is a solution to Muddle through.
other issue that I will have duplicate functionality Payment print/export from payroll menus
and Payment print/export from open item
but this approach allow a good solution to management as extension but with bad integration
in business process
Create AP invoice is tempting solution, but implicated a big issue when I have a big payroll, you can imagine 1500 invoices, one invoice for each employe is not good solution , now imagine that the payroll is incorrect and need reverse correction of payroll then I need reverse correction of 1500 invoices.
We are implement solution to create invoices for some payroll concepts, for example Tax payments , Security Social Payment , even would be use to generate a AP invoice for each employee but it is not efficient.
Create a single invoice for the payroll do not is good alternative because the objective this functionality is get the cheques for each employee or a csv file for Bank system.
If I generate an invoice then only would get a would generate one payment (checks)
So the alternative that I can see until now is modify the payment selection or create a miscellaneous payment without allocation based on charge
anyway thank for you comment and ideas if you have some other suggestion or idea, will be great.
Yes, I have the feeling you are right, I checked SAP documentation and it seems the payroll process creates a specific journal, then the alternative way should be create self-allocated payments through custom specific payroll charges.
This is the link to
Also, it seems they implemented third-party remittances that allows issuing one global payment for several employees, I think this is useful when doing a global bank account transfer and then the bank distributes the money to each employee's personal account.
Pls take into consideration the following when you decide on the better approach.
1. Payroll Dept is normally a separate department from the Accounts Dept. Reason being the confidentiality issue about the information of salary.
2. This means the people doing payroll processing are likely to be different from those making vendor payments
3. When you post credit entries against the bank account, it should be a total amount and not one posting per payroll transaction. Otherwise, whoever is looking at the bank account will know the each payroll amount
4. In an ERP system that has Payroll, it should be a distinct module that can be easily controlled so that unless the person is given specific access, he/she cannot see the details. Only payroll dept should be able to access the details of payroll and nobody else.
Víctor, according to what I have read here I would recommend the first approach.
As I've read sounds better to separate the windows for access control.
any update on this implementation? Did we complete this or is it part of core adempiere?