Odoo HR & Payroll

Where Odoo HR shines, where Belgian payroll requires backup

Odoo HR & Payroll

Odoo HR covers employees, recruitment, time-off, expenses, appraisals and a basic payroll engine. For Belgian SMEs the operational HR side is excellent and very integrated. Belgian payroll itself, with its 13th month, holiday pay, ONSS, withholding tax and CCT specifics, is rarely run on Odoo's native engine β€” and we'll explain why.

We've implemented Odoo HR for hundreds of users across Belgian SMEs and mid-market firms. The pattern is clear: operational HR (employees, time-off, expenses, recruitment) belongs in Odoo. Payroll computation belongs with a Belgian payroll specialist (Securex, Partena, SDworx, Acerta). Odoo and the payroll provider integrate cleanly via established connectors.

The mistake we see is companies trying to compute Belgian payroll fully in Odoo to save licence fees. Belgian payroll law changes constantly, and a payroll provider's job is to track those changes. Save the licence fee, lose the legal compliance β€” bad trade. Use Odoo for what it's great at; use a specialist for what they're great at.


Employee data, the org chart and what Odoo does well

Odoo's employee record is the central source of truth: contact info, department, manager, contract data, skills, documents, history. The org chart is dynamic and visual. Document management (contracts, ID copies, certificates) is integrated with attachment-level permissions.

Set up the data model right at the start: department structure, job positions, working schedules, leave types, expense categories. These are foundational and changing them after go-live is painful. Spend a day on it with HR; save weeks later.

  • Employee record = central source of truth for everything HR-related
  • Dynamic org chart with department and reporting visibility
  • Document management with attachment-level permissions
  • Skills, history and contract data tracked over time
  • Department, jobs, schedules, leave types β€” set up early, change rarely

Time-off, attendance and the daily HR rhythm

Time-off in Odoo is one of the most-used modules in any implementation. Self-service requests, manager approval, balance tracking per leave type, calendar integration β€” all native and well-designed. Attendance (clock in/out) works for shop-floor and field teams that need it.

The Belgian-specific work: configure leave types correctly (legal holidays, RTT, CP, exceptional, sick), accrual rules matching CCT, and integration with payroll provider for the monthly variables. Get this right with your social secretariat before go-live to avoid month-end pain.

  • Time-off self-service + manager approval β€” heavily used module
  • Balance tracking per leave type, calendar integration native
  • Attendance (clock in/out) works for shop-floor and field teams
  • Belgian leave types: configure CP, RTT, sick, exceptional correctly
  • Accrual rules must match CCT β€” validate with social secretariat

Recruitment β€” applicants, pipeline, hire

Odoo Recruitment is essentially CRM for hiring: pipelines per job, candidate profiles, kanban stages, integrated with the website career page. Recruiters and hiring managers collaborate via the chatter. Email integration captures replies into the candidate record automatically.

For most SMEs this replaces ATSes like Recruitee or even spreadsheets. For very high-volume hiring (50+ open positions, 1000+ candidates a quarter) you'll want a dedicated ATS. The boundary is around 10-15 simultaneous open positions β€” below that, Odoo Recruitment is enough.

  • Recruitment = CRM for hiring with kanban pipelines per job
  • Integrated with the website career page out of the box
  • Email integration captures replies into candidate records
  • Replaces dedicated ATS for SMEs with under 15 simultaneous openings
  • High-volume hiring (50+ openings) likely needs dedicated ATS

Expenses, mileage and reimbursement workflows

Expenses in Odoo handles employee submission, manager approval, accounting integration and reimbursement (via payroll or supplier payment). Mobile receipt capture (photograph, OCR via the Belgian receipt scanner if available) speeds up entry.

Set up policies (per diem, mileage rates, expense categories) to match your company rules and the Belgian fiscal limits. Mileage at the official BE rate, restaurant tickets, fuel cards β€” all need explicit setup. Done right, expense submission drops from 30 minutes per employee per week to under 5.

  • Mobile receipt capture with photograph and OCR
  • Manager approval flow with accounting integration
  • Reimbursement via payroll or supplier payment
  • Mileage at official BE rate, restaurant tickets, fuel cards configurable
  • Cuts expense submission time from 30 minutes/week to under 5

Payroll β€” why we keep using a Belgian provider

Odoo has a native payroll engine. It works for simple international payrolls. For Belgium, with 13th month, holiday pay, ONSS, withholding tax, CCT-specific rules, meal vouchers, company cars, etc., we always use a Belgian payroll provider (Securex, Partena, SDworx, Acerta). Odoo feeds them the variables, they compute payroll, the result flows back.

Standard connectors exist for the major providers. Setup involves agreeing the data flow (variables, frequency), validating one or two trial months, then switching. The ongoing operational burden after that is minimal β€” and your compliance is in expert hands.

  • Odoo's native payroll engine works for simple international payrolls
  • For Belgium, always use a payroll provider (Securex, Partena, SDworx, Acerta)
  • Standard connectors exist for the major BE providers
  • Odoo feeds variables to provider; result flows back to accounting
  • Belgian payroll law changes constantly β€” let the specialist track it

HR mistakes we keep correcting

These are the patterns that turn HR into a place people avoid.

  • Trying to run Belgian payroll natively to save licence cost β€” false economy, real compliance risk.
  • Setting up leave types after go-live β€” accruals get messy and HR loses trust.
  • Skipping mobile testing for expenses β€” adoption stalls if employees can't snap and submit.
  • Using Recruitment for very high-volume hiring β€” needs a dedicated ATS at scale.
  • Not aligning department/manager structure with reality β€” approval flows break.

Metrics that prove HR is working

We track these quarterly with HR managers. Quiet HR is healthy HR.

  • Time-off request approval cycle under 48h on average β€” managers engaged.
  • Expense submission cycle under 7 days β€” friction is low.
  • Recruitment time-to-hire trending down β€” pipeline is moving.
  • Payroll variables transferred on-time every month β€” operations smooth.
  • Employee self-service usage above 80% β€” adoption is real.

How we run HR implementations at Flydoo

We always start by aligning the org structure (departments, managers, jobs) with the company's actual operating model β€” not the legacy HR system's view of it. The org chart drives approval flows; wrong chart = broken approvals.

We always pair HR projects with the client's social secretariat. They know what the payroll provider needs, what the legal leave rules are, and what to validate. Trying to run an HR project without them is asking for trouble.

  • Align org structure with actual operating model before configuration
  • Pair the project with the client's social secretariat
  • Use Belgian payroll provider β€” never native engine for BE payroll
  • Test mobile expense capture on real employee phones early
  • Configure leave types and accruals before go-live, with HR validation

Practical checklist before going live with Odoo HR

Walk this list with HR leadership. Most ticked = healthy HR go-live.

  • Org structure (departments, managers, jobs) reflects reality
  • Leave types, accrual rules, working schedules configured per CCT
  • Payroll provider integration tested with two trial months
  • Expense policies, mileage rates, categories configured to BE limits
  • Mobile expense capture tested by real employees on real phones
  • Recruitment pipelines configured for active job openings
  • Time-off approval flows tested end-to-end
  • Employee data migration validated by sample employees

Key takeaways

  • Operational HR (employees, time-off, expenses, recruitment) belongs in Odoo
  • Belgian payroll computation belongs with Securex, Partena, SDworx or Acerta β€” not Odoo native
  • Set up leave types, accruals and org structure before go-live; changing them later hurts
  • Expense mobile capture cuts submission time from 30min/week to under 5
  • Recruitment fits SMEs with under 15 simultaneous openings; above, use a dedicated ATS
  • Pair HR projects with the social secretariat β€” never go without them

Frequently asked questions

Why don't you use Odoo's native payroll for Belgium?

Belgian payroll has 13th month, double holiday pay, ONSS contributions, withholding tax, CCT-specific rules per sector, meal vouchers, eco vouchers, company car taxation, kilometric allowances β€” and law changes constantly. A payroll provider's full-time job is keeping up with those changes. Odoo's native engine works for simple cases; Belgian payroll isn't simple. The integration with a provider is solid and the compliance burden lifts.

Can our employees use Odoo HR self-service from their phones?

Yes β€” Odoo's mobile app covers time-off requests, expense submission, attendance clock-in/out, viewing payslips and basic profile updates. We test these flows on real phones during every implementation. For frontline workers without company phones, the kiosk view (shared tablet for clocking in) works well.

Can Odoo Recruitment integrate with LinkedIn or Indeed?

Connectors exist via the Odoo App Store and OCA, with various levels of polish. For most SMEs, posting jobs on the Odoo career page (with manual cross-posting to LinkedIn/Indeed) is enough. For higher-volume hiring with sourced candidates, integration via the connectors is feasible but expect setup work and occasional maintenance.

How does Odoo handle Belgian-specific things like meal vouchers, eco vouchers, company cars?

These are configured as components in the payroll variables sent to your provider. Odoo tracks them as benefits on the employee record and includes them in expense/payroll exports. The fiscal calculations themselves (taxable amount on a company car, ATN) happen at the payroll provider. We help configure the data flow during implementation.

What about appraisals and 360 reviews?

Odoo Appraisals supports periodic reviews with templates, manager and self-evaluation, and 360 inputs. For light-to-medium HR processes it's enough. For complex talent management (succession planning, deep development frameworks) you'll either layer specialised tools or build custom β€” depends on your maturity.

Need help applying any of this to your own context? We're happy to talk.

Related article

Odoo Inventory & Warehouse

Ready to transform

Let us guide your digital transformation with Odoo ERP.

Talk to an expert