multiAI Summary Pending
odoo-hr-payroll-setup
Expert guide for Odoo HR and Payroll: salary structures, payslip rules, leave policies, employee contracts, and payroll journal entries.
28,273 stars
bysickn33
Installation
Claude Code / Cursor / Codex
$curl -o ~/.claude/skills/odoo-hr-payroll-setup/SKILL.md --create-dirs "https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/plugins/antigravity-awesome-skills-claude/skills/odoo-hr-payroll-setup/SKILL.md"
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/odoo-hr-payroll-setup/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How odoo-hr-payroll-setup Compares
| Feature / Agent | odoo-hr-payroll-setup | Standard Approach |
|---|---|---|
| Platform Support | multi | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Expert guide for Odoo HR and Payroll: salary structures, payslip rules, leave policies, employee contracts, and payroll journal entries.
Which AI agents support this skill?
This skill is compatible with multi.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Odoo HR & Payroll Setup ## Overview This skill guides HR managers and payroll accountants through setting up Odoo HR and Payroll correctly. It covers salary structure creation with Python-computed rules, time-off policies, employee contract types, and the payroll → accounting journal posting flow. ## When to Use This Skill - Creating a salary structure with gross pay, deductions, and net pay. - Configuring annual leave, sick leave, and public holiday policies. - Troubleshooting incorrect payslip amounts or missing rule contributions. - Setting up the payroll journal to correctly post to accounting. ## How It Works 1. **Activate**: Mention `@odoo-hr-payroll-setup` and describe your payroll scenario. 2. **Configure**: Receive step-by-step setup for salary rules and leave allocation. 3. **Debug**: Paste a salary rule or payslip issue and receive a root cause analysis. ## Examples ### Example 1: Salary Structure with Deductions ```text Menu: Payroll → Configuration → Salary Structures → New Name: US Employee Monthly Payslip Code: MONTHLY Rules (executed top-to-bottom — order matters): Code | Name | Formula | Category ----- | ---------------------- | ------------------------------ | --------- BASIC | Basic Wage | contract.wage | Basic GROSS | Gross | BASIC | Gross SS | Social Security (6.2%) | -GROSS * 0.062 | Deduction MED | Medicare (1.45%) | -GROSS * 0.0145 | Deduction FIT | Federal Income Tax | -GROSS * inputs.FIT_RATE.amount| Deduction NET | Net Salary | GROSS + SS + MED + FIT | Net ``` > **Federal Income Tax:** The standard Odoo US localization does not expose a single `l10n_us_w4_rate` field. Use an **input** (salary input type) to pass the withholding rate per employee, or install a community US payroll module (OCA `l10n_us_hr_payroll`) which handles W4 filing status properly. ### Example 2: Configure a Time Off Type ```text Menu: Time Off → Configuration → Time Off Types → New Name: Annual Leave / PTO Approval: Time Off Officer Leave Validation: Time Off Officer (single approver) or: "Both" for HR + Manager double approval Allocation: ☑ Employees can allocate time off themselves Requires approval: No Negative Balance: Not allowed (employees cannot go negative) Then create initial allocations: Menu: Time Off → Managers → Allocations → New Employee: [Each employee] Time Off Type: Annual Leave / PTO Allocation: 15 days Validity: Jan 1 – Dec 31 [current year] ``` ### Example 3: Payroll Journal Entry Result ```text After validating a payroll batch, Odoo generates: Debit Salary Expense Account $5,000.00 Credit Social Security Payable $310.00 Credit Medicare Payable $72.50 Credit Federal Tax Payable (varies) Credit Salary Payable $4,617.50+ When net salary is paid: Debit Salary Payable $4,617.50 Credit Bank Account $4,617.50 Employer taxes (e.g., FUTA, SUTA) post as separate journal entries. ``` ## Best Practices - ✅ **Do:** Install your country's **payroll localization** (`l10n_us_hr_payroll`, `l10n_mx_hr_payroll`, etc.) before building custom rules — it provides pre-configured tax structures. - ✅ **Do:** Use **salary rule inputs** (`inputs.ALLOWANCE.amount`) to pass variable values (bonuses, allowances, withholding rates) rather than hardcoding them in the rule formula. - ✅ **Do:** Archive old salary structures rather than deleting them — active payslips reference their structure and will break if the structure is deleted. - ✅ **Do:** Always set an active **Employee Contract** with correct dates and salary before generating payslips. - ❌ **Don't:** Manually edit posted payslips — cancel and regenerate the payslip batch if corrections are needed. - ❌ **Don't:** Use `contract.wage` in deduction rules without verifying whether the structure is monthly or annual — always check the contract wage period. ## Limitations - **Odoo Payroll is Enterprise-only** — the Community Edition does not include the Payroll module (`hr_payroll`). - US-specific compliance (W2, 941, state SUI/SDI filing) requires additional modules beyond the base localization; Odoo does not generate tax filings directly. - Does not cover **multi-country payroll** (employees in different countries require separate structures and localizations). - **Expense reimbursements** via payslip (e.g., mileage, home office) require a custom salary rule input and are not covered in standard HR Payroll documentation.