{"id":"8af0f99e-7846-4ce7-93d2-8ccdcb17a48e","shortId":"Gzz5y9","kind":"skill","title":"odoo-hr-payroll-setup","tagline":"Expert guide for Odoo HR and Payroll: salary structures, payslip rules, leave policies, employee contracts, and payroll journal entries.","description":"# 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 / 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 / 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/SDI 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.","tags":["odoo","payroll","setup","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding"],"capabilities":["skill","source-sickn33","skill-odoo-hr-payroll-setup","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/odoo-hr-payroll-setup","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34666 github stars · SKILL.md body (4,667 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-23T06:51:40.789Z","embedding":null,"createdAt":"2026-04-18T21:41:44.828Z","updatedAt":"2026-04-23T06:51:40.789Z","lastSeenAt":"2026-04-23T06:51:40.789Z","tsv":"'0.0145':211 '0.062':205 '000.00':381 '1':116,160,357 '1.45':209 '15':353 '2':129,278 '3':143,363 '31':359 '310.00':386 '4':399,409,414 '5':380 '6.2':203 '617.50':400,410,415 '72.50':390 '941':575 'account':37,66,112,379,413 'activ':117,486,503 'addit':580 'alloc':142,315,318,336,341,352 'allow':328,466 'alway':500,546 'amount':98 'analysi':157 'annual':87,294,349,545 'approv':297,307,314,323 'archiv':478 'balanc':326 'bank':412 'base':584 'basic':191,192,195,198 'batch':373,525 'best':426 'beyond':582 'bonus':465 'bottom':184 'break':493 'build':445 'cancel':520 'cannot':330 'categori':190 'caus':156 'check':547 'code':177,187 'communiti':262,560 'complianc':573 'comput':54 'configur':86,130,168,279,288,452 'contract':20,61,505,549 'contract.wage':194,533 'contribut':102 'correct':45,109,507,527 'countri':431,598,603 'cover':47,595,626 'creat':75,334 'creation':50 'credit':382,387,391,396,411 'current':360 'custom':446,619 'date':508 'day':354 'debit':376,406 'debug':144 'dec':358 'deduct':82,164,206,212,219,535 'delet':484,498 'describ':125 'differ':602 'direct':592 'document':631 'doubl':313 'e.g':418,613 'edit':517,561 'employ':416 'employe':19,60,174,258,316,329,343,345,504,600 'enterpris':557 'enterprise-on':556 'entri':24,366,425 'etc':443 'exampl':158,159,277,362 'execut':180 'expens':378,609 'expert':6 'expos':238 'feder':214,228,392 'field':245 'file':274,578,591 'fit':213,226 'flow':69 'formula':189,476 'futa':419 'generat':375,512,589 'go':331 'gross':80,196,197,199,204,210,217,223 'guid':7,32 'handl':272 'hardcod':471 'holiday':93 'home':615 'hr':3,10,26,33,42,121,269,311,437,441,568,629 'includ':564 'incom':215,229 'incorrect':96 'initi':335 'input':248,250,459,622 'inputs.allowance.amount':460 'inputs.fit_rate.amount':218 'instal':260,429 'issu':151 'jan':356 'journal':23,67,107,365,424 'l10n':241,267,435,439 'leav':17,88,90,141,295,301,350 'limit':552 'local':235,434,585,608 'manag':34,312,340 'manual':516 'matter':186 'med':207,225 'medicar':208,388 'mention':118 'menu':166,285,337 'mileag':614 'miss':100 'modul':265,567,581 'month':175,178,543 'multi':597 'multi-countri':596 'mx':440 'name':172,188,293 'need':529 'negat':325,332 'net':84,220,221,227,402 'new':171,292,342 'oca':266 'odoo':2,9,25,41,120,233,374,553,586 'odoo-hr-payroll-setup':1,119 'offic':300,305,616 'old':479 'order':185 'overview':29 'paid':405 'pass':253,462 'past':145 'pay':81,85 'payabl':385,389,394,398,408 'payrol':4,12,22,27,36,44,65,106,122,127,167,264,270,364,372,433,438,442,554,566,569,599,630 'payslip':15,97,150,176,487,513,519,524,612 'per':257 'period':551 'polici':18,59,94 'post':68,110,421,518 'practic':427 'pre':451 'pre-configur':450 'proper':276 'provid':449 'pto':296,351 'public':92 'python':53 'python-comput':52 'rate':244,256,468 'rather':469,482 'receiv':131,153 'refer':488 'regener':522 'reimburs':610 'requir':322,579,604,617 'result':367 'root':155 'rule':16,55,101,139,148,179,447,458,475,536,621 'salari':13,48,77,138,147,161,169,222,249,377,397,403,407,457,480,510,620 'scenario':128 'secur':202,384 'separ':423,605 'set':39,103,501 'setup':5,28,123,136 'sick':89 'singl':240,306 'skill':31,74 'skill-odoo-hr-payroll-setup' 'social':201,383 'source-sickn33' 'specif':572 'ss':200,224 'standard':232,628 'state':576 'status':275 'step':133,135 'step-by-step':132 'structur':14,49,78,162,170,454,481,490,496,541,606 'sui/sdi':577 'suta':420 'tax':216,230,393,417,453,590 'text':165,284,368 'time':57,281,286,289,298,303,319,338,346 'time-off':56 'top':182 'top-to-bottom':181 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'troubleshoot':95 'type':62,251,283,291,348 'us':173,234,242,263,268,436,571 'us-specif':570 'use':72,246,456,532 'valid':302,355,370 'valu':464 'vari':395 'variabl':463 'verifi':538 'via':611 'w2':574 'w4':243,273 'wage':193,550 'whether':539 'withhold':255,467 'without':537 'work':115 'year':361","prices":[{"id":"ea084b3d-02f5-4248-bff4-ffada93e4c53","listingId":"8af0f99e-7846-4ce7-93d2-8ccdcb17a48e","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:41:44.828Z"}],"sources":[{"listingId":"8af0f99e-7846-4ce7-93d2-8ccdcb17a48e","source":"github","sourceId":"sickn33/antigravity-awesome-skills/odoo-hr-payroll-setup","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/odoo-hr-payroll-setup","isPrimary":false,"firstSeenAt":"2026-04-18T21:41:44.828Z","lastSeenAt":"2026-04-23T06:51:40.789Z"}],"details":{"listingId":"8af0f99e-7846-4ce7-93d2-8ccdcb17a48e","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"odoo-hr-payroll-setup","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34666,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-23T06:41:03Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"62b55bf5cf048976a498e0d89618c31a4b67d04f","skill_md_path":"skills/odoo-hr-payroll-setup/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/odoo-hr-payroll-setup"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"odoo-hr-payroll-setup","description":"Expert guide for Odoo HR and Payroll: salary structures, payslip rules, leave policies, employee contracts, and payroll journal entries."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/odoo-hr-payroll-setup"},"updatedAt":"2026-04-23T06:51:40.789Z"}}