[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-1f95eef0-087f-4655-99a8-7f8ff689cf65":3,"$feVDqFOwM-t5OZRoyBMEZ4B97bAu8zx7syE0zC64cnc8":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"1f95eef0-087f-4655-99a8-7f8ff689cf65","odoo-hr-payroll-setup","Odoo人力资源和薪酬管理专家指南：薪酬结构、工资条规则、休假政策、员工合同和薪酬日记账分录。","cat_life_career","mod_other","sickn33,other","---\nname: odoo-hr-payroll-setup\ndescription: \"Expert guide for Odoo HR and Payroll: salary structures, payslip rules, leave policies, employee contracts, and payroll journal entries.\"\nrisk: safe\nsource: \"self\"\n---\n\n# Odoo HR & Payroll Setup\n\n## Overview\n\nThis 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.\n\n## When to Use This Skill\n\n- Creating a salary structure with gross pay, deductions, and net pay.\n- Configuring annual leave, sick leave, and public holiday policies.\n- Troubleshooting incorrect payslip amounts or missing rule contributions.\n- Setting up the payroll journal to correctly post to accounting.\n\n## How It Works\n\n1. **Activate**: Mention `@odoo-hr-payroll-setup` and describe your payroll scenario.\n2. **Configure**: Receive step-by-step setup for salary rules and leave allocation.\n3. **Debug**: Paste a salary rule or payslip issue and receive a root cause analysis.\n\n## Examples\n\n### Example 1: Salary Structure with Deductions\n\n```text\nMenu: Payroll → Configuration → Salary Structures → New\n\nName: US Employee Monthly\nPayslip Code: MONTHLY\n\nRules (executed top-to-bottom — order matters):\n  Code  | Name                   | Formula                        | Category\n  ----- | ---------------------- | ------------------------------ | ---------\n  BASIC | Basic Wage             | contract.wage                  | Basic\n  GROSS | Gross                  | BASIC                          | Gross\n  SS    | Social Security (6.2%) | -GROSS * 0.062                 | Deduction\n  MED   | Medicare (1.45%)       | -GROSS * 0.0145                | Deduction\n  FIT   | Federal Income Tax     | -GROSS * inputs.FIT_RATE.amount| Deduction\n  NET   | Net Salary             | GROSS + SS + MED + FIT         | Net\n```\n\n> **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.\n\n### Example 2: Configure a Time Off Type\n\n```text\nMenu: Time Off → Configuration → Time Off Types → New\n\nName: Annual Leave \u002F PTO\nApproval: Time Off Officer\nLeave Validation: Time Off Officer  (single approver)\n  or: \"Both\" for HR + Manager double approval\n\nAllocation:\n  ☑ Employees can allocate time off themselves\n  Requires approval: No\n\nNegative Balance: Not allowed (employees cannot go negative)\n\nThen create initial allocations:\nMenu: Time Off → Managers → Allocations → New\n  Employee: [Each employee]\n  Time Off Type: Annual Leave \u002F PTO\n  Allocation: 15 days\n  Validity: Jan 1 – Dec 31 [current year]\n```\n\n### Example 3: Payroll Journal Entry Result\n\n```text\nAfter validating a payroll batch, Odoo generates:\n\nDebit   Salary Expense Account     $5,000.00\n  Credit  Social Security Payable     $310.00\n  Credit  Medicare Payable             $72.50\n  Credit  Federal Tax Payable         (varies)\n  Credit  Salary Payable           $4,617.50+\n\nWhen net salary is paid:\nDebit   Salary Payable            $4,617.50\n  Credit  Bank Account              $4,617.50\n\nEmployer taxes (e.g., FUTA, SUTA) post as separate journal entries.\n```\n\n## Best Practices\n\n- ✅ **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.\n- ✅ **Do:** Use **salary rule inputs** (`inputs.ALLOWANCE.amount`) to pass variable values (bonuses, allowances, withholding rates) rather than hardcoding them in the rule formula.\n- ✅ **Do:** Archive old salary structures rather than deleting them — active payslips reference their structure and will break if the structure is deleted.\n- ✅ **Do:** Always set an active **Employee Contract** with correct dates and salary before generating payslips.\n- ❌ **Don't:** Manually edit posted payslips — cancel and regenerate the payslip batch if corrections are needed.\n- ❌ **Don't:** Use `contract.wage` in deduction rules without verifying whether the structure is monthly or annual — always check the contract wage period.\n\n## Limitations\n\n- **Odoo Payroll is Enterprise-only** — the Community Edition does not include the Payroll module (`hr_payroll`).\n- US-specific compliance (W2, 941, state SUI\u002FSDI filing) requires additional modules beyond the base localization; Odoo does not generate tax filings directly.\n- Does not cover **multi-country payroll** (employees in different countries require separate structures and localizations).\n- **Expense reimbursements** via payslip (e.g., mileage, home office) require a custom salary rule input and are not covered in standard HR Payroll documentation.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,102,2086,"2026-05-16 13:32:04",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"其他","other","mdi-page-next-outline","其他类型Skill",5,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"职场发展","career","mdi-briefcase-outline","面试准备、简历优化、职业规划",4,575,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"301e423f-32f7-42d5-b108-88275e90644b","1.0.0","odoo-hr-payroll-setup.zip",2274,"uploads\u002Fskills\u002F1f95eef0-087f-4655-99a8-7f8ff689cf65\u002Fodoo-hr-payroll-setup.zip","f6b646e3b368a25e8dd1e8bf0361623a197a22e7e81b4ce32ae7a3c7f2d04346","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":4931}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]