timesheets.analysis.report: fields, relations and API
The timesheets.analysis.report model ("Timesheets Analysis Report") is a persistent model declared by the Task Logs module, then extended by 1 other module. It exposes 31 fields, 23 of them declared directly on the model. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.
Model identity
- Technical name
timesheets.analysis.report- Label
- Timesheets Analysis Report
- Type
- Persistent (models.Model)
- SQL table
- None (no table)
- Origin module
- Task Logs (
hr_timesheet) - Extended by
- sale_timesheet
- Inherits from (mixins)
- hr.manager.department.report
Model fields
23 own fields, 2 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.
31 of 31 fields shown
| Technical name | Label | Type | Details |
|---|---|---|---|
| amount | Amount | monetary | read-only |
| billable_time | Billable Time Number of hours/days linked to a SOL. | float | read-only added by Sales Timesheet ( |
| company_id | Company | many2one | read-only |
| currency_id | Currency | many2one | read-only |
| date | Date | date | read-only |
| department_id | Department | many2one | read-only |
| manager_id | Manager | many2one | read-only |
| margin | Margin Timesheets revenues minus the costs | monetary | read-only added by Sales Timesheet ( |
| message_partner_ids | Message Partner | many2many | read-onlycomputed |
| milestone_id | Milestone | many2one | related: |
| name | Description | char | read-only |
| non_billable_time | Non-billable Time Number of hours/days not linked to a SOL. | float | read-only added by Sales Timesheet ( |
| order_id | Sales Order | many2one | read-only added by Sales Timesheet ( |
| parent_task_id | Parent Task | many2one | read-only |
| partner_id | Partner | many2one | read-only |
| project_id | Project | many2one | read-only |
| so_line | Sales Order Item | many2one | read-only added by Sales Timesheet ( |
| task_id | Task | many2one | read-only |
| timesheet_invoice_id | Invoice Invoice created from the timesheet | many2one | read-only added by Sales Timesheet ( |
| timesheet_invoice_type | Billable Type | selection | read-only Values: added by Sales Timesheet ( |
| timesheet_revenues | Timesheet Revenues Number of hours spent multiplied by the unit price per hour/day. | monetary | read-only added by Sales Timesheet ( |
| unit_amount | Time Spent | float | read-only |
| user_id | User | many2one | read-only |
| employee_id | Employee | many2one | read-only inherited from hr.manager.department.report |
| has_department_manager_access | Has Department Manager Access | boolean | computed inherited from hr.manager.department.report |
| create_date | Created on | datetime | read-onlyautomatic |
| create_uid | Created by | many2one | read-onlyautomatic |
| display_name | Display Name | char | read-onlycomputedautomatic |
| id | ID | integer | read-onlyautomatic |
| write_date | Last Updated on | datetime | read-onlyautomatic |
| write_uid | Last Updated by | many2one | read-onlyautomatic |
Relations
Models linked from this model
- account.move: timesheet_invoice_id
- hr.department: department_id
- hr.employee: manager_id
- project.milestone: milestone_id
- project.project: project_id
- project.task: parent_task_id, task_id
- res.company: company_id
- res.currency: currency_id
- res.partner: message_partner_ids, partner_id
- res.users: user_id
- sale.order: order_id
- sale.order.line: so_line
Fields of other models pointing here
No Many2one or Many2many field of another model points to this model.
Reading this model through the API
Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.
curl -X POST "https://your-instance.odoo.com/json/2/timesheets.analysis.report/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: your-db" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","company_id","currency_id","department_id","manager_id"],"limit":5}'import requests
BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}
res = requests.post(
f"{BASE_URL}/timesheets.analysis.report/search_read",
headers=headers,
json={"domain": [], "fields": ["name","company_id","currency_id","department_id","manager_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- External API access requires Odoo's Custom plan.
- XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
- The access rights and record rules of the key's user apply.
Cite this tool
Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.
<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/timesheets-analysis-report">timesheets.analysis.report (Odoo 19.0)</a>Sources
Data verified on September 23, 2026 · Odoo 19.0 Community
Have an Odoo project, or want to put your ERP to work with AI? Let's talk
Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.