Odoo 19.0 Community · Persistent

hr.work.entry: fields, relations and API

The hr.work.entry model ("HR Work Entry") is a persistent model declared by the Work Entries module, then extended by 2 other modules. It exposes 26 fields, 20 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
hr.work.entry
Label
HR Work Entry
Type
Persistent (models.Model)
SQL table
hr_work_entry
Origin module
Work Entries (hr_work_entry)
Extended by
hr_work_entry_holidays, l10n_fr_hr_work_entry_holidays
Default order (_order)
create_date

Model fields

20 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.

26 of 26 fields shown

Technical nameLabelTypeDetails
activeActiveboolean
amount_ratePay ratefloat
codeCodechar

related: work_entry_type_id.code

colorColorinteger
read-only

related: work_entry_type_id.color

company_idCompanymany2one
requiredread-only
conflictConflictsboolean
computed, stored
country_idCountrymany2one

related: employee_id.company_id.country_id

dateDatedate
required
department_idDepartmentmany2one

related: employee_id.department_id

display_codeDisplay Codechar

related: work_entry_type_id.display_code

durationDurationfloat
employee_idEmployeemany2one
required
external_codeExternal Codechar

related: work_entry_type_id.external_code

leave_idTime Offmany2one

added by Time Off in Payslips (hr_work_entry_holidays)

leave_stateLeave Stateselection

related: leave_id.state

added by Time Off in Payslips (hr_work_entry_holidays)

nameNamechar
stateStateselection

Values: draft (New), conflict (In Conflict), validated (In Payslip), cancelled (Cancelled)

version_idEmployee Recordmany2one
required
work_entry_sourceWork Entry Sourceselection

related: version_id.work_entry_source

work_entry_type_idWork Entry Typemany2one
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/hr.work.entry/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","date","employee_id","version_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}/hr.work.entry/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","company_id","date","employee_id","version_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/hr-work-entry">hr.work.entry (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.