一键导入
odoo-expenses
Odoo Expenses operations — manage employee expense claims, submission, approval, and reporting.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Odoo Expenses operations — manage employee expense claims, submission, approval, and reporting.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Odoo ERP integration for all 37 business modules. Entry point for Odoo operations — CRM, Sales, Inventory, Manufacturing, Purchase, Accounting, HR, Expenses, Contacts, Calendar, Discuss, Project, Timesheets, Time Off, Attendances, Recruitment, Fleet, Email Marketing, Events, Website, Link Tracker, Dashboards, POS, Delivery, Loyalty, Payments, SMS, Live Chat, Maintenance, Survey, Forum, eLearning, Planning, Restaurant, Certificate, and Data Recycle.
Cross-skill workflow: Odoo ERP health audit, infographic summary, PPTX report, and email delivery via Gmail.
Odoo Accounting operations — manage invoices, bills, journal entries, payments, and financial reports.
Odoo Attendances operations — manage employee check-ins, check-outs, and attendance records.
Odoo Calendar operations — manage events, meetings, and attendee tracking.
Odoo Certificate operations — manage certificates, templates, and certificate issuance.
| name | odoo-expenses |
| description | Odoo Expenses operations — manage employee expense claims, submission, approval, and reporting. |
| version | 1.0.0 |
| author | Hermes |
| license | MIT |
| platforms | ["linux","macos","windows"] |
| metadata | {"hermes":{"tags":["odoo","expenses","reimbursements","employee-expenses"],"parent_skill":"odoo"}} |
Manage employee expense claims — create, submit, approve, and refuse.
Prerequisite: odoo skill must be set up. ODOO = python scripts/odoo_api.py.
ODOO expenses list --limit 20
ODOO expenses list --state draft
ODOO expenses list --state approved --employee-id 1
ODOO expenses get 12
ODOO expenses create --name "Client lunch" --total-amount 85.50 --date "2026-05-11"
ODOO expenses create --name "Airfare" --employee-id 1 --product-id 3 --unit-amount 350 --total-amount 350 --description "Flight to conference"
ODOO expenses submit 12
ODOO expenses approve 12
ODOO expenses refuse 12
ODOO expenses statistics
{
$ODOO_DB: true,
"result": [
{
"id": 12,
"name": "Client lunch",
"employee_id": [1, "John Doe"],
"product_id": [2, "Meals"],
"unit_amount": 85.50,
"total_amount": 85.50,
"date": "2026-05-11",
"state": "draft",
"description": "Lunch with Acme Corp"
}
]
}
{$ODOO_DB: true, "result": 13}
{$ODOO_DB: true, "result": true}
{
$ODOO_DB: true,
"result": {"total": 45, "draft": 10, "reported": 5, "approved": 20, "done": 10}
}
| Model | Use |
|---|---|
hr.expense | Individual expense claims |
hr.expense.sheet | Grouped expense reports |
draft → reported → approved → done
↘ refused
submit creates an expense report and moves expenses to reported.done state.draft for editing.--employee-id is omitted, the API uses the current user's linked employee. For admin users, always specify --employee-id explicitly.ODOO model hr.expense.sheet search --domain '[["state","=","submit"]]' --fields name,employee_id,total_amount,state# Authenticate
UID=$(curl -s -X POST $ODOO_URL/jsonrpc -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"call","params":{"service":"common","method":"authenticate","args":[$ODOO_DB,"$ODOO_USER","$ODOO_PASS",{}]},"id":1}' | python3 -c "import sys,json;print(json.load(sys.stdin)['result'])")
# List Expenses
curl -s -X POST $ODOO_URL/jsonrpc -H "Content-Type: application/json" -d "{\"jsonrpc\":\"2.0\",\"method\":\"call\",\"params\":{\"service\":\"object\",\"method\":\"execute_kw\",\"args\":[\"$ODOO_DB\",$UID,\"$ODOO_PASS\",\"hr.expense\",\"search_read\",[[]],{\"limit\":10,\"fields\":[["name", "employee_id", "total_amount", "state"]]}},\"id\":2}"