[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M716Q8J4KPWC6R8GD0N04AWB":3,"skill-same:01M716Q8J4KPWC6R8GD0N04AWB":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":14,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M716Q8J4KPWC6R8GD0N04AWB","odoo-project-timesheet",null,"Expert guide for Odoo Project and Timesheets: task stages, billable time tracking, timesheet approval, budget alerts, and invoicing from timesheets.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcursor\u002Fodoo-project-timesheet\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000040","财务","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"project","timesheet","odoo project timesheet","odoo","for","expert","time","task","self","alerts","safe","Budget","time tracking","tracking","guide","approval","2026-11-10 10:12:30",false,"---\nname: odoo-project-timesheet\ndescription: \"Expert guide for Odoo Project and Timesheets: task stages, billable time tracking, timesheet approval, budget alerts, and invoicing from timesheets.\"\nrisk: safe\nsource: \"self\"\n---\n\n# Odoo Project & Timesheet\n\n## Overview\n\nThis skill helps you configure Odoo Project and Timesheets for service businesses, agencies, and consulting firms. It covers project setup with budgets, task stage management, employee timesheet logging, approval workflows, and converting approved timesheet hours to customer invoices.\n\n## When to Use This Skill\n\n- Setting up a new project with tasks, deadlines, and team assignments.\n- Configuring billable vs. non-billable time tracking per project.\n- Creating a timesheet approval workflow for managers.\n- Invoicing customers based on logged hours (Time & Materials billing).\n\n## How It Works\n\n1. **Activate**: Mention `@odoo-project-timesheet` and describe your project or billing scenario.\n2. **Configure**: Receive step-by-step setup instructions.\n3. **Automate**: Get guidance on automatically generating invoices from approved timesheets.\n\n## Examples\n\n### Example 1: Create a Billable Project\n\n```text\nMenu: Project → New Project (or the \"+\" button in Project view)\n\nName:     Website Redesign — Acme Corp\nCustomer: Acme Corporation\nBillable: YES  (toggle ON)\n\nSettings tab:\n  Billing Type: Based on Timesheets (Time & Materials)\n  Service Product: Consulting Hours ($150\u002Fhr)\n  ☑ Timesheets\n  ☑ Task Dependencies\n  ☑ Subtasks\n\nBudget:\n  Planned Hours: 120 hours\n  Budget Alert: at 80% (96 hrs) → notify project manager\n```\n\n### Example 2: Log Time on a Task\n\n```text\nMethod A — Directly inside the Task (recommended for accuracy):\n  Open Task → Timesheets tab → Add a Line\n  Employee:    John Doe\n  Date:        Today\n  Description: \"Initial wireframes and site map\" (required for clear invoices)\n  Duration:    3:30  (3 hours 30 minutes)\n\nMethod B — Timesheets app (for end-of-day bulk entry):\n  Menu: Timesheets → My Timesheets → New\n  Project:  Website Redesign\n  Task:     Wireframe Design\n  Duration: 3:30\n```\n\n### Example 3: Enable Timesheet Approval Before Invoicing\n\n```text\nMenu: Timesheets → Configuration → Settings\n  ☑ Timesheet Approval  (employees submit; managers approve)\n\nApproval flow:\n  1. Employee submits timesheet at week\u002Fmonth end\n  2. Manager reviews: Timesheets → Managers → Timesheets to Approve\n  3. Manager clicks \"Approve\" → entries are locked and billable\n  4. Only approved entries flow into the invoice\n\nIf Approval is disabled, all logged hours are immediately billable.\n```\n\n### Example 4: Invoice from Timesheets\n\n```text\nStep 1: Verify approved hours\n  Menu: Timesheets → Managers → All Timesheets\n  Filter: Billable = YES, Timesheet Invoice State = \"To Invoice\"\n\nStep 2: Generate Invoice\n  Menu: Sales → Orders → To Invoice → Timesheets  (v15\u002Fv16)\n  or:   Accounting → Customers → Invoiceable Time  (v17)\n  Filter by Customer: Acme Corporation\n  Select entries → Create Invoices\n\nStep 3: Invoice pre-populates with:\n  Product: Consulting Hours\n  Quantity: Sum of approved hours\n  Unit Price: $150.00\n  Total: Calculated automatically\n```\n\n## Best Practices\n\n- ✅ **Do:** Enable **Timesheet Approval** so only manager-approved hours appear on customer invoices.\n- ✅ **Do:** Set a **budget alert** at 80% of planned hours so PMs can intervene before overruns.\n- ✅ **Do:** Require **timesheet descriptions** — vague entries like \"Work done\" on invoices destroy client trust.\n- ✅ **Do:** Use **Subtasks** to break work into granular pieces while keeping the parent task on the Kanban board.\n- ❌ **Don't:** Mix billable and internal projects without tagging — it corrupts profitability and utilization reports.\n- ❌ **Don't:** Log time on the Project itself (without a Task) — it cannot be reported at the task level.\n\n## Limitations\n\n- **Timesheet Approval** is an Enterprise-only feature in some Odoo versions — verify your plan includes it.\n- Does not cover **Project Forecast** (resource capacity planning) — that requires the Enterprise Forecast app.\n- **Time & Materials** invoicing works well for hourly billing but is not suited for **fixed-price projects** — use milestones or manual invoice lines for those.\n- Timesheet entries logged outside an active project-task pair (e.g., on internal projects) are not assignable to customer invoices without custom configuration.\n","# Odoo Project & Timesheet\n\n## Overview\n\nThis skill helps you configure Odoo Project and Timesheets for service businesses, agencies, and consulting firms. It covers project setup with budgets, task stage management, employee timesheet logging, approval workflows, and converting approved timesheet hours to customer invoices.\n\n## When to Use This Skill\n\n- Setting up a new project with tasks, deadlines, and team assignments.\n- Configuring billable vs. non-billable time tracking per project.\n- Creating a timesheet approval workflow for managers.\n- Invoicing customers based on logged hours (Time & Materials billing).\n\n## How It Works\n\n1. **Activate**: Mention `@odoo-project-timesheet` and describe your project or billing scenario.\n2. **Configure**: Receive step-by-step setup instructions.\n3. **Automate**: Get guidance on automatically generating invoices from approved timesheets.\n\n## Examples\n\n### Example 1: Create a Billable Project\n\n```text\nMenu: Project → New Project (or the \"+\" button in Project view)\n\nName:     Website Redesign — Acme Corp\nCustomer: Acme Corporation\nBillable: YES  (toggle ON)\n\nSettings tab:\n  Billing Type: Based on Timesheets (Time & Materials)\n  Service Product: Consulting Hours ($150\u002Fhr)\n  ☑ Timesheets\n  ☑ Task Dependencies\n  ☑ Subtasks\n\nBudget:\n  Planned Hours: 120 hours\n  Budget Alert: at 80% (96 hrs) → notify project manager\n```\n\n### Example 2: Log Time on a Task\n\n```text\nMethod A — Directly inside the Task (recommended for accuracy):\n  Open Task → Timesheets tab → Add a Line\n  Employee:    John Doe\n  Date:        Today\n  Description: \"Initial wireframes and site map\" (required for clear invoices)\n  Duration:    3:30  (3 hours 30 minutes)\n\nMethod B — Timesheets app (for end-of-day bulk entry):\n  Menu: Timesheets → My Timesheets → New\n  Project:  Website Redesign\n  Task:     Wireframe Design\n  Duration: 3:30\n```\n\n### Example 3: Enable Timesheet Approval Before Invoicing\n\n```text\nMenu: Timesheets → Configuration → Settings\n  ☑ Timesheet Approval  (employees submit; managers approve)\n\nApproval flow:\n  1. Employee submits timesheet at week\u002Fmonth end\n  2. Manager reviews: Timesheets → Managers → Timesheets to Approve\n  3. Manager clicks \"Approve\" → entries are locked and billable\n  4. Only approved entries flow into the invoice\n\nIf Approval is disabled, all logged hours are immediately billable.\n```\n\n### Example 4: Invoice from Timesheets\n\n```text\nStep 1: Verify approved hours\n  Menu: Timesheets → Managers → All Timesheets\n  Filter: Billable = YES, Timesheet Invoice State = \"To Invoice\"\n\nStep 2: Generate Invoice\n  Menu: Sales → Orders → To Invoice → Timesheets  (v15\u002Fv16)\n  or:   Accounting → Customers → Invoiceable Time  (v17)\n  Filter by Customer: Acme Corporation\n  Select entries → Create Invoices\n\nStep 3: Invoice pre-populates with:\n  Product: Consulting Hours\n  Quantity: Sum of approved hours\n  Unit Price: $150.00\n  Total: Calculated automatically\n```\n\n## Best Practices\n\n- ✅ **Do:** Enable **Timesheet Approval** so only manager-approved hours appear on customer invoices.\n- ✅ **Do:** Set a **budget alert** at 80% of planned hours so PMs can intervene before overruns.\n- ✅ **Do:** Require **timesheet descriptions** — vague entries like \"Work done\" on invoices destroy client trust.\n- ✅ **Do:** Use **Subtasks** to break work into granular pieces while keeping the parent task on the Kanban board.\n- ❌ **Don't:** Mix billable and internal projects without tagging — it corrupts profitability and utilization reports.\n- ❌ **Don't:** Log time on the Project itself (without a Task) — it cannot be reported at the task level.\n\n## Limitations\n\n- **Timesheet Approval** is an Enterprise-only feature in some Odoo versions — verify your plan includes it.\n- Does not cover **Project Forecast** (resource capacity planning) — that requires the Enterprise Forecast app.\n- **Time & Materials** invoicing works well for hourly billing but is not suited for **fixed-price projects** — use milestones or manual invoice lines for those.\n- Timesheet entries logged outside an active project-task pair (e.g., on internal projects) are not assignable to customer invoices without custom configuration.\n",{"name":5,"risk":34,"source":32,"description":7},"main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcursor\u002Fodoo-project-timesheet","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill odoo-project-timesheet",{"tool":57,"command":58},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill odoo-project-timesheet",{"tool":60,"command":61},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill odoo-project-timesheet","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcursor\u002Fodoo-project-timesheet\u002FSKILL.md",true,[],[66,88,113,123,136,155],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":75,"publishedAt":40},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[72],{"categoryNo":73,"categoryName":74,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000037","律师与法务",[76,77,78,79,80,81,82,83,84,85,86,87],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":40},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[95,96,97,98,99,30,78,100,101,102,103,104,105,106,107,108,109,110,111,112],"trend","trend tap","tap","api keys","Bash","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":40},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[120,121,95,105,106,107,108,99,78,110,122,111,112,104,102,101,100,109,30,98],"trend radar","radar","pulse",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":40},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[130,131,132,133,134,135],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":147,"publishedAt":40},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[142],{"categoryNo":143,"categoryName":144,"taxonomyType":145,"taxonomyTypeDesc":146},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[138,84,148,149,150,87,105,151,152,153,97,154,109],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":40},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[157,162,163,164,109,165,152,166,167,168,169,170],"status","play","go","latest","github","discover","control","cmd","volume"]