Payment of employees integrate in ADempere

  • Victor Perez Juarez

    Dear Community!

    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:

    #First Approach:

    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:


    Accrued Wages


    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

    #Second Approach:

    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:


    Wages Payable


    Payment Selection

    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

    Kind Regards,

    Victor Perez,

  • Redhuan D. Oon

    Redhuan D. Oon - 2009-10-28

    Interesting. Which one would you prefer? About changing core in the 2nd option, would you use ModelValidator?

  • Redhuan D. Oon

    Redhuan D. Oon - 2009-10-28

    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.

  • Enrique Ruibal

    Enrique Ruibal - 2009-10-28

    Hi Victor,

    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.


    **Enrique Ruibal**

  • Victor Perez Juarez

    Hi Red1!

    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

    kind regards

    Victor Perez

  • Victor Perez Juarez

    Hi Enrique!

    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.

    kind regards

    Victor Perez

  • Enrique Ruibal

    Enrique Ruibal - 2009-10-29

    Hello Victor!

    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.

    Best Regards,


  • K Hee

    K Hee - 2009-10-29


    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.

    K. Hee

  • Carlos Ruiz

    Carlos Ruiz - 2009-11-05

    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.


    Carlos Ruiz

  • Suman

    Suman - 2011-01-21

    any update on this implementation? Did we complete this or is it part of core adempiere?


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks