Odoo 20.0 Community · Persistant

hr.time.rule : champs, relations et API

Le modèle hr.time.rule (« Time Rule ») est un modèle persistant déclaré par le module Work Entries, puis enrichi par 3 autres modules. Il expose 40 champs, dont 34 déclarés directement sur le modèle ; 2 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 20.

Fiche d'identité

Nom technique
hr.time.rule
Libellé
Time Rule
Type
Persistant (models.Model)
Table SQL
hr_time_rule
Module d'origine
Work Entries (hr_work_entry)
Étendu par
hr_attendance, hr_holidays, hr_holidays_attendance
Tri par défaut (_order)
sequence, id

Champs du modèle

34 champs propres, 0 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.

40 champs affichés sur 40

Nom techniqueLibelléTypeDétails
activeActifboolean
allocation_type_idAllocate tomany2one

ajouté par Congés (hr_holidays)

amount_rateSalary Ratefloat
calculé, stocké
apply_fridayApply Fridayboolean
apply_mondayApply Monday

Define a condition based on the timing of the time entry.

boolean
apply_on_public_holidaysApply On Public Holidaysboolean
apply_saturdayApply Saturdayboolean
apply_sundayApply Sundayboolean
apply_thursdayApply Thursdayboolean
apply_tuesdayApply Tuesdayboolean
apply_wednesdayApply Wednesdayboolean
calendar_sourceCalendar Source

Which schedule to use as the expected-hours baseline.

selection
calculé, stocké

Valeurs : employee (Employee Schedule), reference (Reference Schedule)

company_idSociétémany2one
condition_labelConditionchar
calculé
condition_work_entry_type_idsType de temps

If set, only the selected types will be considered by this rule.

many2many
requis
country_codeCode du payschar

related : country_id.code

country_idPaysmany2one
calculé, stocké
country_work_entry_type_idsCountry Work Entry Typemany2many
calculé
descriptionDescriptiontext
employee_domainEmployés

The rule will automatically apply to all time entries for matching employees.

char
employee_toleranceTolérance de l’employéfloat
employer_toleranceTolérance de l’employeurfloat
expected_hoursHeures de travail habituellesfloat
calculé, stocké
leave_compensation_rateAllocate %

Leave allocated or taken at this rate of the excess or deficit. 100% = 1:1.

float

ajouté par Congés (hr_holidays)

nameNomchar
requis
quantity_periodPériode de référence quantitéselection
calculé, stocké

Valeurs : day (Jour), week (Semaine)

resource_calendar_idPlanifiermany2one
sequenceSéquenceinteger
threshold_operatorThreshold Operatorselection
requis

Valeurs : exceed (Exceed), less_than (Less than)

timing_startDefloat
timing_stopAufloat
week_startWeek Starts Onselection

Valeurs : 0 (Lundi), 1 (Mardi), 2 (Mercredi), 3 (Jeudi), 4 (Vendredi), 5 (Samedi), 6 (Dimanche)

work_entry_type_idSet Excess to

Define a time type that will be created to count the amount of time in excess or missing.

many2one
working_hours_modeWorking Hours Mode

Define a condition based on the quantity of work made by the employee on a specific period of time.

selection
requis

Valeurs : schedule_day (the daily schedule), schedule_week (the weekly schedule), day (per day), week (per week)

create_dateCréé ledatetime
lecture seuleautomatique
create_uidCréé parmany2one
lecture seuleautomatique
display_nameNom affichéchar
lecture seulecalculéautomatique
idIDinteger
lecture seuleautomatique
write_dateDernière mise à jour ledatetime
lecture seuleautomatique
write_uidDernière mise à jour parmany2one
lecture seuleautomatique

Relations

Modèles liés depuis ce modèle

Champs d'autres modèles qui pointent ici

Lire ce modèle par l'API

Exemple d'appel à l'API JSON-2 d'Odoo 20 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.

curl
curl -X POST "https://votre-instance.odoo.com/json/2/hr.time.rule/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: votre-base" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","threshold_operator","working_hours_mode","allocation_type_id","company_id"],"limit":5}'
Python (requests)
import requests

BASE_URL = "https://votre-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "votre-base"}

res = requests.post(
    f"{BASE_URL}/hr.time.rule/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","threshold_operator","working_hours_mode","allocation_type_id","company_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())
  • L'accès à l'API externe est réservé à la formule Custom d'Odoo.
  • XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
  • Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.

Citer cet outil

Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.

<a href="https://aidoo.ai/fr/outils/explorateur-modeles-odoo/hr-time-rule">hr.time.rule (Odoo 20.0)</a>

Sources

Données vérifiées le 25 septembre 2026 · Odoo 20.0 Community

Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons

Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.