Skip to Content
Odoo model

mail.message

Message. Defined in module mail; exists in Odoo 16, 17, 18, 19, 20. Across the upgrade steps we tracked: 37 fields added, 12 removed, 1 renamed, 1 type changes.

  1. Odoo 16 mail
  2. Odoo 17 mail
  3. Odoo 18 mail
  4. Odoo 19 mail
  5. Odoo 20 mail

Odoo 16 to 17

Community only All changes in this step

Fields removed (1)

FieldTypeModuleNotes
canned_response_idsone2manymail

Fields added (13)

FieldTypeModule
account_audit_log_account_idmany2oneaccount_audit_trail
account_audit_log_company_idmany2oneaccount_audit_trail
account_audit_log_display_namecharaccount_audit_trail
account_audit_log_move_idmany2oneaccount_audit_trail
account_audit_log_partner_idmany2oneaccount_audit_trail
account_audit_log_previewhtmlaccount_audit_trail
account_audit_log_tax_idmany2oneaccount_audit_trail
parent_author_namecharim_livechat
parent_bodyhtmlim_livechat
pinned_atdatetimemail
record_alias_domain_idmany2onemail
record_company_idmany2onemail
show_audit_logbooleanaccount_audit_trail

Odoo 17 to 18

Community only All changes in this step

Fields removed (5)

FieldTypeModuleNotes
account_audit_log_display_namecharaccount_audit_trailIts module (account_audit_trail) is not in Odoo 18: removed, renamed or merged into another module.
descriptioncharmail
l10n_in_audit_log_account_move_idmany2onel10n_in
l10n_in_audit_log_previewhtmll10n_in
show_audit_logbooleanaccount_audit_trailIts module (account_audit_trail) is not in Odoo 18: removed, renamed or merged into another module.

Fields added (2)

FieldTypeModule
account_audit_log_activatedbooleanaccount
rating_idmany2onerating

Type changed (1)

FieldOdoo 17Odoo 18
account_audit_log_preview htmltext

Now also inherits bus.listener.mixin (fields from these parents are listed on their own pages).

4 views of this model removed
  • account_audit_trail.view_message_tree_audit_log
  • account_audit_trail.view_message_tree_audit_log_search
  • l10n_in.view_message_tree_audit_log
  • l10n_in.view_message_tree_audit_log_search
2 actions on this model removed
  • account_audit_trail.action_account_audit_trail_report
  • l10n_in.action_l10n_in_audit_trail_report
2 menus opening this model removed
  • account_audit_trail.account_audit_trail_menu
  • l10n_in.l10n_in_audit_trail_report_menu

Odoo 18 to 19

Community + Enterprise All changes in this step

Renamed (1)

Odoo 18Odoo 19Confidence
link_preview_idsmessage_link_preview_ids possible (same type, name extended)

Fields removed (3)

FieldTypeModuleNotes
account_audit_log_activatedbooleanaccount
parent_author_namecharim_livechat
parent_bodyhtmlim_livechat

Fields added (7)

FieldTypeModule
account_audit_log_restrictedbooleanaccount
call_history_idsone2manymail
channel_idmany2onemail
incoming_email_cccharmail
incoming_email_totextmail
linked_message_idsmany2manymail
outgoing_email_tocharmail

Odoo 19 to 20

Community + Enterprise All changes in this step

Fields removed (3)

FieldTypeModuleNotes
account_audit_log_previewtextaccount
starredbooleanmail
starred_partner_idsmany2manymail

Fields added (15)

FieldTypeModule
bookmarked_partner_idsmany2manymail
chatbot_message_idsone2manyim_livechat
ended_poll_idsone2manymail
has_pollbooleanmail
is_bookmarkedbooleanmail
partner_cc_idsmany2manymail
res_access_createbooleanmail
res_access_readbooleanmail
res_access_unlinkbooleanmail
res_access_writebooleanmail
source_mailing_idmany2onemail_tracking_mass_mailing
source_sms_template_idmany2onemail_tracking_sms
source_template_idmany2onemail_tracking
source_view_idmany2onemail_tracking
started_poll_idsone2manymail

All fields declared on mail.message (84)

Fields this model declares itself in any version, with the versions they exist in. Inherited fields (mail.thread and other mixins) are on the parent model's page.

present not present not covered (Enterprise, Odoo 16 and 17)

Show all 84 fields
FieldTypeLabelModule1617181920
account_audit_log_account_idmany2one account.accountAccountaccount
account_audit_log_activatedbooleanAudit Log Activatedaccount
account_audit_log_company_idmany2one res.companyCompany account
account_audit_log_display_namecharaccount_audit_trail
account_audit_log_move_idmany2one account.moveJournal Entryaccount
account_audit_log_partner_idmany2one res.partnerPartneraccount
account_audit_log_previewtextDescriptionaccount
account_audit_log_restrictedbooleanProtected by restricted Audit Logsaccount
account_audit_log_tax_idmany2one account.taxTaxaccount
attachment_idsmany2many ir.attachmentAttachmentsmail
author_avatarbinaryAuthor's avatarmail
author_guest_idmany2one mail.guestGuestmail
author_idmany2one res.partnerAuthormail
bodyhtmlContentsmail
bookmarked_partner_idsmany2many res.partnerBookmarked Bymail
call_history_idsone2many discuss.call.historymail
canned_response_idsone2many mail.shortcodeCanned Responsesmail
channel_idmany2one discuss.channelmail
chatbot_message_idsone2many chatbot.messageim_livechat
child_idsone2many mail.messageChild Messagesmail
datedatetimeDatemail
descriptioncharShort descriptionmail
email_add_signaturebooleanmail
email_fromcharFrommail
email_layout_xmlidcharLayoutmail
ended_poll_idsone2many mail.pollmail
has_errorbooleanHas errormail
has_pollbooleanmail
has_sms_errorbooleanHas SMS errorsms
incoming_email_cccharEmails Ccmail
incoming_email_totextEmails Tomail
is_bookmarkedbooleanBookmarkedmail
is_current_user_or_guest_authorbooleanmail
is_internalbooleanEmployee Onlymail
l10n_in_audit_log_account_move_idmany2one account.moveAccounting Entryl10n_in
l10n_in_audit_log_previewhtmlAudit Previewl10n_in
letter_idsone2many snailmail.lettersnailmail
linked_message_idsmany2many mail.messagemail
mail_activity_type_idmany2one mail.activity.typeMail Activity Typemail
mail_idsone2many mail.mailMailsmail
mail_server_idmany2one ir.mail_serverOutgoing mail servermail
message_idcharMessage-Idmail
message_typeselectionTypemail
modelcharRelated Document Modelmail
needactionbooleanNeed Actionmail
notification_idsone2many mail.notificationNotificationsmail
notified_partner_idsmany2many res.partnerPartners with Need Actionmail
outgoing_email_tocharemails Tomail
parent_author_namecharim_livechat
parent_bodyhtmlim_livechat
parent_idmany2one mail.messageParent Messagemail
partner_cc_idsmany2many res.partnerRecipients (Cc)mail
partner_idsmany2many res.partnerRecipients (To)mail
pinned_atdatetimePinnedmail
previewcharPreviewmail
rating_idmany2one rating.ratingrating
rating_idsone2many rating.ratingRelated ratingsrating
rating_valuefloatRating Valuerating
reaction_idsone2many mail.message.reactionReactionsmail
record_alias_domain_idmany2one mail.alias.domainAlias Domainmail
record_company_idmany2one res.companyCompanymail
record_namecharMessage Record Namemail
reply_tocharReply-Tomail
reply_to_force_newbooleanNo threading for answersmail
res_access_createbooleanmail
res_access_readbooleanmail
res_access_writebooleanmail
res_idmany2one_referenceRelated Document IDmail
show_audit_logbooleanaccount_audit_trail
snailmail_errorbooleanSnailmail message in errorsnailmail
source_mailing_idmany2one mailing.mailingGenerated by (mailing)mail_tracking_mass_mailing
source_sms_template_idmany2one sms.templateGenerated by (SMS template)mail_tracking_sms
source_template_idmany2one mail.templateGenerated by (template)mail_tracking
source_view_idmany2one ir.ui.viewGenerated by (qweb view)mail_tracking
starredbooleanStarredmail
starred_partner_idsmany2many res.partnerFavorited Bymail
started_poll_idsone2many mail.pollmail
subjectcharSubjectmail
subtype_idmany2one mail.message.subtypeSubtypemail
tracking_value_idsone2many mail.tracking.valueTracking valuesmail_tracking
wa_message_idsone2many whatsapp.messageRelated WhatsApp MessageswhatsappE
Coverage. Odoo 16 to 17 and 17 to 18 compare Community modules only (the Enterprise 16 and 17 sources are not available to us). Odoo 18 to 19 and 19 to 20 include Community and Enterprise modules. Everything here comes from a static read of the Odoo source code: a field counts as removed only when no parent model, mixin or delegated model still provides it. Fields created dynamically at run time can be missed, and entries we could not confirm are marked as low confidence.