# Models and fields

Contracts defines 7 model(s) and 58 field(s) on Jaah 19.0. This page lists every model the app creates or extends and the purpose of each field. Generated from the installed database on 2026-10-14 for version 19.0.1.0.26.

**Contracts defines 7 model(s) and 58 field(s) on Jaah 19.0. This page lists every model the app creates or extends and the purpose of each field. Generated from the installed database on 2026-10-14 for version 19.0.1.0.26.**

## Legal Contract (`j.contract`) {#model-j-contract}

Model. Defined by this app.

### Active (`active`) {#field-j-contract-active}

Type: `boolean` · Stored · Tracked in the chatter

### Agreement Statement (`agreement_statement`) {#field-j-contract-agreement-statement}

Type: `html` · Stored

> Rendered contract body. Pulled from the linked template and merged with {company_name}, {client_name}, {contract_value} placeholders.

### Amount (`amount`) {#field-j-contract-amount}

Type: `monetary` · Stored · Tracked in the chatter

### Cancel Reason (`cancel_reason_id`) {#field-j-contract-cancel-reason-id}

Type: `many2one` · Stored · Relation: Contract Cancel Reason (`j.contract.cancel.reason`) · Tracked in the chatter

### Client Signature (`client_signature`) {#field-j-contract-client-signature}

Type: `binary` · Stored

### Client Signed On (`client_signed_date`) {#field-j-contract-client-signed-date}

Type: `datetime` · Readonly · Stored · Tracked in the chatter

### Branch (`company_id`) {#field-j-contract-company-id}

Type: `many2one` · Required · Readonly · Stored · Relation: Companies (`res.company`)

### Company Signature (`company_signature`) {#field-j-contract-company-signature}

Type: `binary` · Stored

### Company Signed On (`company_signed_date`) {#field-j-contract-company-signed-date}

Type: `datetime` · Readonly · Stored · Tracked in the chatter

### Created on (`create_date`) {#field-j-contract-create-date}

Type: `datetime` · Readonly · Stored

### Created by (`create_uid`) {#field-j-contract-create-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

### Currency (`currency_id`) {#field-j-contract-currency-id}

Type: `many2one` · Required · Stored · Relation: Currency (`res.currency`) · Tracked in the chatter

### Description (`description`) {#field-j-contract-description}

Type: `html` · Stored

### End Date (`end_date`) {#field-j-contract-end-date}

Type: `date` · Stored · Tracked in the chatter

### Sequence (`name`) {#field-j-contract-name}

Type: `char` · Required · Readonly · Stored · Tracked in the chatter

### Client (`partner_id`) {#field-j-contract-partner-id}

Type: `many2one` · Required · Stored · Relation: Contact (`res.partner`) · Tracked in the chatter

### Reminder Sent For (`reminder_sent_for`) {#field-j-contract-reminder-sent-for}

Type: `date` · Stored

### Show Type (`show_type`) {#field-j-contract-show-type}

Type: `boolean` · Readonly · Computed

> True when at least one bridge contributed an extra type — drives the type field's form visibility.

### Start Date (`start_date`) {#field-j-contract-start-date}

Type: `date` · Stored · Tracked in the chatter

### State (`state`) {#field-j-contract-state}

Type: `selection` · Readonly · Stored · Values: Drafting (`drafting`), Draft (`draft`), Valid (`valid`), Expired (`expired`), Cancelled (`cancelled`), Closed (`closed`) · Tracked in the chatter

### Template (`template_id`) {#field-j-contract-template-id}

Type: `many2one` · Stored · Relation: Contract Template (`j.contract.template`) · Tracked in the chatter

### Last Updated on (`write_date`) {#field-j-contract-write-date}

Type: `datetime` · Readonly · Stored

### Last Updated by (`write_uid`) {#field-j-contract-write-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

## Contract Cancel Reason (`j.contract.cancel.reason`) {#model-j-contract-cancel-reason}

Model. Defined by this app.

### Active (`active`) {#field-j-contract-cancel-reason-active}

Type: `boolean` · Stored

### Created on (`create_date`) {#field-j-contract-cancel-reason-create-date}

Type: `datetime` · Readonly · Stored

### Created by (`create_uid`) {#field-j-contract-cancel-reason-create-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

### Reason (`name`) {#field-j-contract-cancel-reason-name}

Type: `char` · Required · Stored · Translatable

### Sequence (`sequence`) {#field-j-contract-cancel-reason-sequence}

Type: `integer` · Stored

### Last Updated on (`write_date`) {#field-j-contract-cancel-reason-write-date}

Type: `datetime` · Readonly · Stored

### Last Updated by (`write_uid`) {#field-j-contract-cancel-reason-write-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

## Cancel Contract Wizard (`j.contract.cancel.wizard`) {#model-j-contract-cancel-wizard}

Wizard (transient). Defined by this app.

### Cancel Reason (`cancel_reason_id`) {#field-j-contract-cancel-wizard-cancel-reason-id}

Type: `many2one` · Required · Stored · Relation: Contract Cancel Reason (`j.contract.cancel.reason`)

### Contract (`contract_id`) {#field-j-contract-cancel-wizard-contract-id}

Type: `many2one` · Required · Stored · Relation: Legal Contract (`j.contract`)

### Created on (`create_date`) {#field-j-contract-cancel-wizard-create-date}

Type: `datetime` · Readonly · Stored

### Created by (`create_uid`) {#field-j-contract-cancel-wizard-create-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

### Note (`note`) {#field-j-contract-cancel-wizard-note}

Type: `text` · Stored

> Optional explanation logged in the chatter.

### Last Updated on (`write_date`) {#field-j-contract-cancel-wizard-write-date}

Type: `datetime` · Readonly · Stored

### Last Updated by (`write_uid`) {#field-j-contract-cancel-wizard-write-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

## Contract Template (`j.contract.template`) {#model-j-contract-template}

Model. Defined by this app.

### Active (`active`) {#field-j-contract-template-active}

Type: `boolean` · Stored

### Agreement Statement (`agreement_statement`) {#field-j-contract-template-agreement-statement}

Type: `html` · Stored

> Body with optional {company_name}, {client_name}, {contract_value} placeholders that are substituted into the contract on selection.

### Branch (`company_id`) {#field-j-contract-template-company-id}

Type: `many2one` · Readonly · Stored · Relation: Companies (`res.company`)

### Created on (`create_date`) {#field-j-contract-template-create-date}

Type: `datetime` · Readonly · Stored

### Created by (`create_uid`) {#field-j-contract-template-create-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

### Name (`name`) {#field-j-contract-template-name}

Type: `char` · Required · Stored · Tracked in the chatter

### Progress (`progress`) {#field-j-contract-template-progress}

Type: `selection` · Stored · Values: Auto (`auto`), Manual (`manual`) · Tracked in the chatter

### Default Value (`value`) {#field-j-contract-template-value}

Type: `float` · Stored · Tracked in the chatter

### Last Updated on (`write_date`) {#field-j-contract-template-write-date}

Type: `datetime` · Readonly · Stored

### Last Updated by (`write_uid`) {#field-j-contract-template-write-uid}

Type: `many2one` · Readonly · Stored · Relation: User (`res.users`)

## Companies (`res.company`) {#model-res-company}

Model. Defined by `base`; extended by this app.

### Auto Contract Reminder (`contract_auto_reminder`) {#field-res-company-contract-auto-reminder}

Type: `boolean` · Stored

### Notify Client (`contract_notify_client`) {#field-res-company-contract-notify-client}

Type: `boolean` · Stored

### Notify Followers (`contract_notify_followers`) {#field-res-company-contract-notify-followers}

Type: `boolean` · Stored

### Additional Notification Recipients (`contract_notify_recipients_ids`) {#field-res-company-contract-notify-recipients-ids}

Type: `many2many` · Stored · Relation: Contact (`res.partner`)

### Reminder Activity Assignee (`contract_reminder_activity_user_id`) {#field-res-company-contract-reminder-activity-user-id}

Type: `many2one` · Stored · Relation: User (`res.users`)

> User who receives the 'Contract expires in N day(s)' To-Do activity created by the daily expiration cron. Leave empty to skip the activity (the reminder email is still sent).

### Default Reminder Days (`contract_reminder_days`) {#field-res-company-contract-reminder-days}

Type: `integer` · Stored

### Send Activation Notice (`contract_send_activation_notice`) {#field-res-company-contract-send-activation-notice}

Type: `boolean` · Stored

## Config Settings (`res.config.settings`) {#model-res-config-settings}

Wizard (transient). Defined by `base`; extended by this app.

### Notify Client (`contract_notify_client`) {#field-res-config-settings-contract-notify-client}

Type: `boolean` · Computed · Related to: `company_id.contract_notify_client`

### Notify Followers (`contract_notify_followers`) {#field-res-config-settings-contract-notify-followers}

Type: `boolean` · Computed · Related to: `company_id.contract_notify_followers`

### Send Activation Notice (`contract_send_activation_notice`) {#field-res-config-settings-contract-send-activation-notice}

Type: `boolean` · Computed · Related to: `company_id.contract_send_activation_notice`

## Contact (`res.partner`) {#model-res-partner}

Model. Defined by `base`; extended by this app.

### Contract Count (`contract_count`) {#field-res-partner-contract-count}

Type: `integer` · Readonly · Computed

---

- Source: https://jaah.app/docs/law-contract/models-and-fields
- Updated: 2026-10-14
- Version: Contracts 19.0.1.0.26
