Most of the companies I have worked with over the last 10 years outsourced payroll. Here is what the process looks like for outsourced payroll:
When your payroll company drafts money from your account, you simply create a AP Payment for the total amount of that payroll run. Let's assume $100K USD. You will create the AP Payment with a Charge called Payroll. The Payroll charge/account will act as a temporary clearing account.
If you maintain a ZBA (zero balance account) to support payroll, you will perform a bank transfer before you create your payroll bank draft to the payroll company.
You will simultaneously create a GL Journal to pull the same amount from the temporary payroll account (Payroll Charge). The offsetting GL Journal lines will itemize how you want your payroll to affect your income statement and balance sheet. This GL Journal is often very long, especially if you have lots of employees. Most people create a "Payroll GL Journal Template". Instead of creating each month's payroll GL Journal from scratch, users will copy the template into a new GL Journal and change the amounts for that month.
Most people maintain a number of GL Journal templates. Copying from a template (instead of creating them from scratch) is a great time saver for repeated processes like payroll and end of month entries.
Payroll Accounting
If you want help understanding how to create your payroll GL Journal, this page offers good advice and example journals. Be aware that cash is a document controlled account in iDempiere; therefore, you cannot touch it via a GL Journal. If you are creating iDempiere Payments for your payroll checks, your GL Journal will need to hit a Payroll Cash Clearing liability account. When you create your payroll Payments, you will select a Charge that also hits the Payroll Cash Clearing account. Note: the Payroll Cash Clearing account and its Charge does not exist in iDempiere out of the box. You will need to create it yourself.
Manual Payroll
This section helps you understand how to process payroll directly inside iDempiere.
Security and Sensitivity - Payroll data is sensitive. You typically will not create invoices and payments to represent a payroll check for each recipient because so many people/roles have access to the Invoice and Payment windows. Banks will often offer a payroll service that helps you hide your payroll details (see below).
Amount Calculation - You must first calculate how much you want to pay each employee. Some people create a dedicated window in iDempiere to hold payroll details. Others use XLS. Once you have determined the per employee totals, you then export details from your iDempiere window or XLS to a file format that can be uploaded by your bank.
Bank Services - The bank will then initiate the electronic transfers to each payroll recipient. Since the bank knows you do not want each employee payroll details showing up in the bank statement, they will consolidate the details into a single transaction line showing the payroll total in the bank statement.
iDempiere - Two things must happen in iDempiere to complete the process
iDempiere AP Payment - Create a Payment representing the total payroll expense including taxes and other liabilities. Use a Charge that points to a Payroll Expense Clearing account. Note: using a charge in the Payment window ensures it will bypass aging.
iDempiere GL Journal - Create a GL Journal to pull the balance from your Payroll Expense Clearing account and re-class the total by category. Some money will go to an Employee Salary account. Some will go to a Payroll Tax liability account. If you company handles employee loans, the loan payment was probably deducted from payroll and therefore must be accounted for. Some organizations break out Employee Salary by BP. Others break it out by Department. If you get fancy, you can use the same iDempiere window or XLS file to source the journal via a GL Journal Import.
Document Template Example
Some transactions can be quite large (ex: GL Journals) and some documents can be quite complex (ex: Projects). If you find yourself creating similar documents often, you might benefit from using templates. Doing so can minimize data entry effort and reduce the errors associated with executing repetitive documents.
Example of large and often complex transactions include:
Creating a large Sales Order from a template
Executing a Payroll GL Journal with high employee counts
Creating re-classing GL Journal entries as part of closing a fiscal period
One way to make life easier is to maintain templates. The concept of a template is purely a naming convention. Let's will use payroll as an example.
Create GL Journal record named 'Payroll Template'. Enter all the payroll lines you typically expect in any given month. If there are variable lines (like commissions), leave these GL Journal Lines at $0. This GL Journal record (or any GL Journal whose name includes 'template') will never be completed. Every month when you execute payroll, copy the template lines into a new GL Journal named Payroll 2018-09-22. Update the newly created lines as is needed to reflect that month's details. Complete the Payroll 2018-09-22 record.