Odoo 19.0 Community · Persistent

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 nameLabelTypeDetails
amountAmountmonetary
read-only
billable_timeBillable Time

Number of hours/days linked to a SOL.

float
read-only

added by Sales Timesheet (sale_timesheet)

company_idCompanymany2one
read-only
currency_idCurrencymany2one
read-only
dateDatedate
read-only
department_idDepartmentmany2one
read-only
manager_idManagermany2one
read-only
marginMargin

Timesheets revenues minus the costs

monetary
read-only

added by Sales Timesheet (sale_timesheet)

message_partner_idsMessage Partnermany2many
read-onlycomputed
milestone_idMilestonemany2one

related: task_id.milestone_id

nameDescriptionchar
read-only
non_billable_timeNon-billable Time

Number of hours/days not linked to a SOL.

float
read-only

added by Sales Timesheet (sale_timesheet)

order_idSales Ordermany2one
read-only

added by Sales Timesheet (sale_timesheet)

parent_task_idParent Taskmany2one
read-only
partner_idPartnermany2one
read-only
project_idProjectmany2one
read-only
so_lineSales Order Itemmany2one
read-only

added by Sales Timesheet (sale_timesheet)

task_idTaskmany2one
read-only
timesheet_invoice_idInvoice

Invoice created from the timesheet

many2one
read-only

added by Sales Timesheet (sale_timesheet)

timesheet_invoice_typeBillable Typeselection
read-only

Values: billable_time (Billed on Timesheets), billable_fixed (Billed at a Fixed price), billable_milestones (Billed on Milestones), billable_manual (Billed Manually), non_billable (Non-Billable), timesheet_revenues (Timesheet Revenues), service_revenues (Service Revenues), other_revenues (Other revenues), other_costs (Other costs)

added by Sales Timesheet (sale_timesheet)

timesheet_revenuesTimesheet Revenues

Number of hours spent multiplied by the unit price per hour/day.

monetary
read-only

added by Sales Timesheet (sale_timesheet)

unit_amountTime Spentfloat
read-only
user_idUsermany2one
read-only
employee_idEmployeemany2one
read-only

inherited from hr.manager.department.report

has_department_manager_accessHas Department Manager Accessboolean
computed

inherited from hr.manager.department.report

create_dateCreated ondatetime
read-onlyautomatic
create_uidCreated bymany2one
read-onlyautomatic
display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic
write_dateLast Updated ondatetime
read-onlyautomatic
write_uidLast Updated bymany2one
read-onlyautomatic

Relations

Models linked from this model

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
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}'
Python (requests)
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.