Skip to main content
Advance Salary Management for Odoo HR — A build-to-order Odoo module that lets employees request salary advances, routes them — 1/1Illustrative preview

A build-to-order Odoo module that lets employees request salary advances,

routes them through a configurable approval chain, and recovers the balance automatically through payslip deductions.

ECOSIRE designs, builds, installs, and supports it around your policy — it is not an off-the-shelf download.

What is Advance Salary Management for Odoo HR?

A build-to-order Odoo module that lets employees request salary advances, routes them through a configurable approval chain, and recovers the balance automatically through payslip deductions. ECOSIRE designs, builds, installs, and supports it around your policy — it is not an off-the-shelf download. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

New `hr.advance.salary` model with an enforced `draft → submitted → approved → paid → recovering → closed` state machine (plus `refused`/`cancelled`) guarded by ORM `write` overrides
Configurable eligibility rules as `@api.depends` computed fields: max advance as a percentage of contract wage, one-active-advance limit, and minimum-tenure gate
Automatic recovery via a dedicated `hr.salary.rule` (Deduction category) that pulls the due installment into each `hr.payslip` run and decrements the outstanding balance
Installment engine (`hr.advance.salary.line`) supporting fixed monthly amount or fixed number of installments, with per-line due dates and paid/pending status
Multi-step approval chain (manager → HR → finance) driven by security groups and `ir.rule` record rules, configurable per company policy
Full chatter + `mail.activity` audit trail on every request, so approvals, refusals, and notes are logged against the record
Role-scoped access from `ir.model.access.csv` and record rules: employees see their own requests, managers see their team, HR sees all
QWeb PDF advance agreement / receipt report for employee acknowledgement and finance records
Backend list, form, and status-grouped kanban views (XML/OWL) plus optional self-service portal submission
Outstanding-balance and recovery-progress computed fields kept in sync on every payslip run, with the record auto-closing at zero balance
Automated action / scheduled job to flag stalled advances (approved but unpaid, or overdue installments) for HR follow-up
XML-RPC / JSON-RPC API surface so an external HR portal, chatbot, or app can create requests and read recovery status
Configuration settings for global advance limits, default installment count, and which approval steps are active, via `res.config.settings`
Compatible builds targeting Odoo 17.0, 18.0, and 19.0, respecting Community vs Enterprise payroll differences in the deduction wiring

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Most HR teams handle salary advances in spreadsheets, chat messages, and one-off manual payroll adjustments. An employee asks a manager for an advance, someone approves it over email, finance pays it outside the payroll run, and then a person has to remember to claw the money back across the next few payslips. Odoo's native HR and Payroll apps don't model a "salary advance" as a first-class object at all — there is no request document, no advance-specific approval flow, and no automatic recovery schedule tied to hr.payslip. The result is untracked liabilities, disputes over how much is still owed, and advances that quietly never get fully deducted.

We build a dedicated Advance Salary Management module that turns the whole process into a governed Odoo workflow. At its core is a new hr.advance.salary model (models.Model) capturing the requesting employee_id, requested amount, reason, request date, and a state machine (draft → submitted → approved → paid → recovering → closed, plus refused and cancelled) enforced through ORM write overrides rather than editable dropdowns. Eligibility guardrails are computed fields with @api.depends — a maximum advance derived from the employee's contract wage, a check that no other advance is still recovering, and a configurable minimum-tenure rule — so ineligible requests are blocked at submission instead of after payment.

Recovery is the part off-the-shelf approaches usually get wrong, so we build it properly. Each approved advance generates an installment plan (hr.advance.salary.line) — either a fixed monthly deduction or a number of installments — and the module hooks into the payslip computation so a dedicated salary rule (hr.salary.rule, category "Deduction") pulls the due installment into each run, decrements the outstanding balance, and moves the record to closed when it reaches zero. Approvals are wired through Odoo's mail.activity and mail.thread chatter for a full audit trail, with an optional multi-step approval chain (manager → HR → finance) driven by ir.rule record rules and group-based access from ir.model.access.csv. Employees see only their own requests via a self-service portal or the backend, managers see their team, and HR sees everything. Views are standard XML/OWL (list, form, and a status-grouped kanban), plus a QWeb PDF advance agreement/receipt the employee can sign. The whole record set is reachable over the XML-RPC/JSON-RPC API for integration with an external HR portal or approval bot.

Because this is built to order, delivery works from a confirmed scope, not a shopping cart. We start with a short scoping call to nail down your advance policy (limits, installment logic, approval steps, and payroll rule placement), confirm your Odoo version (17.0, 18.0, or 19.0) and whether you run Community or Enterprise payroll, then build, test on a staging copy of your database, and deploy with a rollback plan. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company advance policies, deeper localization of the deduction rule, custom approval hierarchies, and migration of historical advance data increase the quoted scope.

What you get

  • Installable, version-pinned module source code for your Odoo release (17.0, 18.0, or 19.0) with a clean `__manifest__.py`
  • Installation and configuration on your environment (or a guided install), including salary-rule placement and approval-group setup
  • Technical documentation: model/field reference, security matrix, and the payroll deduction wiring
  • End-user guide plus a live training session for HR, managers, and payroll staff
  • UAT on a staging copy of your database with a documented rollback plan before any production change
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with tagged release and commit history
  • Configuration workbook capturing your final advance policy (limits, installments, approval steps) as implemented

Who this is for

HR / People Operations Manager

Owns the advance policy and needs every request documented, approved on-record, and recovered without manual tracking. Wants eligibility rules enforced by the system so exceptions are deliberate, not accidental.

Payroll Administrator

Runs the monthly payslips and is tired of hand-adding deduction lines and reconciling who still owes what. Needs the outstanding installment to flow into each run automatically and the balance to close itself out.

Finance Controller

Treats outstanding advances as a real liability and wants an auditable trail from request to full recovery, with an optional finance approval step and a signed agreement per advance.

Odoo Administrator / Internal IT

Maintains the Odoo instance and wants a clean, upgrade-friendly module with proper access rules and a git handover, not a black-box customization that breaks on the next version bump.

How Advance Salary Management for Odoo HR Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Advance request as a tracked documentDedicated `hr.advance.salary` model with enforced states and audit trailPossible, but you design and maintain the model yourselfProvides a request object, but fixed to its own workflow assumptionsNo advance concept — handled off-system in spreadsheets or notes
Automatic payslip recoveryDeduction salary rule pulls installments into each run and auto-closes at zeroMust be built and tested against your payroll config from scratchOften present, but recovery logic may not match your installment rulesManual deduction lines added by payroll each month
Eligibility & policy guardrailsComputed limits (wage %, tenure, one-active-advance) enforced at submissionWhatever you have time to specify and codeBasic limits, rarely configurable to your exact policyNone — governed only by human judgement
Approval chainConfigurable multi-step (manager → HR → finance) via groups and record rulesFully bespoke, at bespoke cost and timelineUsually single or fixed approval stepInformal email/chat approvals, not recorded on a document
Fit to your processBuilt to your confirmed scope after a scoping callFully tailored, but you own architecture, testing, and riskTake-it-as-shipped; you adapt your process to the appYou bend spreadsheets around Odoo
Version & edition targetingBuilt and tested for your 17.0/18.0/19.0, Community or EnterpriseDepends on your developer's coverageVersion support varies; edition wiring may not match yoursN/A — no feature to target
Support & handoverPost-go-live support window, docs, training, and git repo handoverWhatever your contractor agrees toVendor-dependent tickets; source access variesCommunity forums only
Total cost profileFrom $999 indicative; fixed quote after scopingTypically higher — full bespoke build and QALow upfront, but customization and misfit costs add upNo license cost, but ongoing manual effort and error risk

Frequently Asked Questions about Advance Salary Management for Odoo HR

Is this an existing app I can download and install today?

No. This is a build-to-order module. ECOSIRE designs, builds, installs, and supports it around your specific advance policy and Odoo version — there is no instant download. After a scoping call we implement your requirements, test on staging, and deploy.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The exact timeline depends on the complexity of your approval chain, installment logic, and whether historical advance data needs migrating. We confirm dates during the scoping call before any work starts.

How does pricing and scoping work?

Pricing starts from $999 (indicative, single-company base scope). After a short scoping call we send a fixed quote. Drivers that increase scope include multi-company advance policies, custom approval hierarchies, deeper localization of the deduction rule, and migration of existing advance records.

Which Odoo versions does it support, and does it work on Community?

We build for Odoo 17.0, 18.0, or 19.0 — we target the version you run. The automatic payslip recovery relies on the Payroll app; we wire the deduction to whichever payroll setup you have and confirm Community vs Enterprise details during scoping.

How is the advance actually recovered from salary?

Each approved advance creates an installment plan and a dedicated deduction salary rule pulls the due installment into every payslip run, decrementing the outstanding balance until it reaches zero and the record auto-closes. You choose a fixed monthly amount or a set number of installments.

What about support and future updates?

Every build includes a post-go-live support window for defect fixes and configuration tweaks. Because we hand over the git repository and full documentation, you own the code. We also offer ongoing support and version-upgrade engagements separately if you want us to maintain it long-term.

Can employees request advances themselves?

Yes. We can expose submission through a self-service portal or the backend, scoped by security groups so employees only see their own requests. Approvals route through your configured chain (manager → HR → finance) with a full chatter audit trail on each record.

Request a quote

Advance Salary Management for Odoo HR

A build-to-order Odoo module that lets employees request salary advances, routes them through a configurable approval chain, and recovers the balance automatically through payslip deductions. ECOSIRE designs, builds, installs, and supports it around your policy — it is not an off-the-shelf download.

  • New `hr.advance.salary` model with an enforced `draft → submitted → approved → paid → recovering → closed` state machine (plus `refused`/`cancelled`) guarded by ORM `write` overrides
  • Configurable eligibility rules as `@api.depends` computed fields: max advance as a percentage of contract wage, one-active-advance limit, and minimum-tenure gate
  • Automatic recovery via a dedicated `hr.salary.rule` (Deduction category) that pulls the due installment into each `hr.payslip` run and decrements the outstanding balance
  • Installment engine (`hr.advance.salary.line`) supporting fixed monthly amount or fixed number of installments, with per-line due dates and paid/pending status

Request a Quotation

Tell us about your Advance Salary Management for Odoo HR requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.