How to Manage Payroll in Batches in Odoo 18: Complete Guide
By Braincuber Team
Published on February 28, 2026
A 78-employee logistics company we migrated was processing payslips one employee at a time. Their HR person opened each employee record, computed the payslip, confirmed it, moved to the next. 78 employees × 8 minutes each = 10.4 hours every month on a task that should take 45 minutes. Odoo 18's batch payroll generates all 78 payslips in a single click, grouped by department, job position, or salary structure. This beginner guide is the complete tutorial.
What You'll Learn:
- Navigating the Payslip Batches dashboard
- Creating a new payslip batch with period and company
- Generating payslips by salary structure, department, or job position
- Adding or removing employees from a batch
- Reviewing, confirming, and posting batch payslips
- Managing batch stages: New, Confirmed, Done, Paid
Why Individual Payslip Processing Is a Waste of Time
For every employee, the process is identical: select employee, set period, compute sheet, review, confirm. When you do this 50+ times, you're doing the same 6 clicks per person. Batch processing does all those clicks once for everyone in the group. But the real risk isn't wasted time—it's inconsistency. Process payslips individually and you'll inevitably compute one employee's payslip with the wrong period or miss someone entirely.
Group by Department, Position, or Structure
Generate payslips for all employees in Marketing, all Managers, or all workers on the same salary structure—in one batch. Mix and match groupings as needed.
Consistent Period Processing
Every payslip in the batch uses the same period dates. No risk of accidentally computing one employee's payslip for January when everyone else is on February.
Stage Tracking
Batches move through stages: New → Confirmed → Done → Paid. You always know where each payroll cycle stands. No more "did we process payroll yet?" Slack messages.
Accounting Integration
Confirmed batches auto-generate journal entries for the entire group. One batch = one accounting posting. No more reconciling 78 individual journal entries at month-end.
Create and Process Payroll Batches
Open the Batches Dashboard
Go to Payroll > Payslips > Batches. The dashboard shows all existing batches with their Name, Date From, Date To, Status, payslip count, and Company. Switch between List and Kanban views. Use Filter, Group By, and Favorites to sort batches by status or period.
Create a New Payslip Batch
Click New. A batch configuration form opens. Enter the Batch Name (e.g., "March 2025 Payroll"). Set the Period with start and end dates. Select the Company. The batch name and period define which payroll cycle this is. Use consistent naming so you can find batches later.
Generate Payslips
Click Generate Payslips. A popup appears with filtering options. Set the Salary Structure (e.g., Regular Pay, Worker Pay) to generate payslips only for employees on that structure. Leave it empty to generate for all structures. Select a Department to scope to a specific team. The Employees section shows who will be included.
Choose Grouping Criteria
In the Generate Payslips popup, you can filter by: By Employee (specific individuals), By Department (e.g., all of Marketing), By Job Position (e.g., all Developers), By Salary Structure Types, or By Employee Tags. Select the grouping that fits your payroll workflow. Most companies group by department.
Adjust the Employee List
In the Employees section of the popup, review the auto-populated list. Use Add a line to include additional employees who aren't in the default filter. Remove employees who shouldn't be in this batch (e.g., someone on extended leave). Click Generate to create all payslips at once.
Review Generated Payslips
After generation, the batch form shows a Payslips smart button with the count (e.g., "15 Payslips"). Click it to see all generated payslip references. Open individual payslips to review the salary computation, basic wage, deductions, and net wage. Flag any anomalies before confirming.
Confirm the Batch
Once you've reviewed all payslips, click Confirmed in the batch form's status buttons (top right). The batch stage moves to Confirmed. This locks the payslip computations. At this stage, journal entries are created but not yet posted. You can still make corrections if needed by creating a draft entry.
Post Journal Entries
Use the Create Draft Entry option to generate the accounting journal entries for the batch. This posts the payroll expense entries to your accounting module. Each employee's salary, deductions, and net pay are recorded as journal entries. The batch stage moves to Done.
Review Before Confirming—Always
Once a batch is confirmed and journal entries are posted, reversing payroll is painful. You'd need to cancel individual payslips and create correction entries. Open at least 5 random payslips from each batch and verify the net wage matches expectations. One wrong salary rule affects every employee in the batch.
Mark as Paid
After processing bank transfers or payments, click Paid in the batch status buttons. This final stage confirms that all employees in the batch have been paid. The batch is now closed. You can still view it for audit or reference purposes, but no further changes can be made.
Use Multiple Batches for Complex Payrolls
For companies with different pay schedules (salaried monthly, hourly bi-weekly), create separate batches for each group. Name them descriptively: "March 2025 - Salaried Staff" and "March 2025 W1-W2 - Hourly Workers." Each batch can have different periods and salary structures. Process them independently.
Frequently Asked Questions
How do I create a payslip batch in Odoo 18?
Go to Payroll > Payslips > Batches, click New, enter the batch name and period dates, then click Generate Payslips. Select the grouping criteria and click Generate to create payslips for all matching employees.
Can I generate payslips by department in Odoo 18?
Yes. When generating payslips in a batch, use the Department dropdown in the Generate Payslips popup to filter employees by department. Only employees in that department will have payslips generated.
What are the batch stages in Odoo 18 Payroll?
Batches move through four stages: New (draft), Confirmed (locked for posting), Done (journal entries posted), and Paid (payments processed). Each stage restricts further editing to prevent accidental changes.
Can I add employees to a batch after generating payslips?
Yes. Use the Add a line option in the Employees section of the Generate Payslips popup to include additional employees before generating. After generation, you can also create individual payslips and link them to the batch.
How do batch payslips connect to accounting in Odoo 18?
When you confirm a batch and create draft entries, Odoo generates journal entries in the Accounting module for all payslips in the batch. This includes salary expense, deduction, and net pay entries, all linked to the batch for easy reconciliation.
Need Help Streamlining Payroll Batches in Odoo 18?
Our team sets up batch templates, salary structures, department groupings, and accounting integrations—so your monthly payroll takes 45 minutes instead of 10 hours.
