Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Expert guide for Odoo Project and Timesheets: task stages, billable time tracking, timesheet approval, budget alerts, and invoicing from timesheets.
.claude/skills/odoo-project-timesheet/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | — | — |
| case-17 | ✗→✓ | ▲ Improved | — | — |
| case-10 | ✗→✓ | ▲ Improved | — | — |
| case-02 | ✗→✓ | ▲ Improved | — | — |
| case-16 | ✗→✓ | ▲ Improved | — | — |
This 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.
@odoo-project-timesheet and describe your project or billing scenario.textMenu: Project → New Project (or the "+" button in Project view) Name: Website Redesign — Acme Corp Customer: Acme Corporation Billable: YES (toggle ON) Settings tab: Billing Type: Based on Timesheets (Time & Materials) Service Product: Consulting Hours ($150/hr) ☑ Timesheets ☑ Task Dependencies ☑ Subtasks Budget: Planned Hours: 120 hours Budget Alert: at 80% (96 hrs) → notify project manager
textMethod A — Directly inside the Task (recommended for accuracy): Open Task → Timesheets tab → Add a Line Employee: John Doe Date: Today Description: "Initial wireframes and site map" (required for clear invoices) Duration: 3:30 (3 hours 30 minutes) Method B — Timesheets app (for end-of-day bulk entry): Menu: Timesheets → My Timesheets → New Project: Website Redesign Task: Wireframe Design Duration: 3:30
textMenu: Timesheets → Configuration → Settings ☑ Timesheet Approval (employees submit; managers approve) Approval flow: 1. Employee submits timesheet at week/month end 2. Manager reviews: Timesheets → Managers → Timesheets to Approve 3. Manager clicks "Approve" → entries are locked and billable 4. Only approved entries flow into the invoice If Approval is disabled, all logged hours are immediately billable.
textStep 1: Verify approved hours Menu: Timesheets → Managers → All Timesheets Filter: Billable = YES, Timesheet Invoice State = "To Invoice" Step 2: Generate Invoice Menu: Sales → Orders → To Invoice → Timesheets (v15/v16) or: Accounting → Customers → Invoiceable Time (v17) Filter by Customer: Acme Corporation Select entries → Create Invoices Step 3: Invoice pre-populates with: Product: Consulting Hours Quantity: Sum of approved hours Unit Price: $150.00 Total: Calculated automatically
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-08 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +27 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.