diff --git a/docsource/modules190-200.rst b/docsource/modules190-200.rst
new file mode 100644
index 00000000000..c5ca3821e8e
--- /dev/null
+++ b/docsource/modules190-200.rst
@@ -0,0 +1,1342 @@
+Module coverage 19.0 -> 20.0
+============================
+
+.. include:: coverage_legend.rst
+
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| Module | Status + Extra Information |
++===================================================+======================+=================================================+
+| account | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| account_add_gln | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_check_printing | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_debit_note | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_edi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_edi_proxy_client | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_edi_ubl_cii | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_fleet | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_payment | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| account_payment_custom | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_payment_interco | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_peppol | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| account_peppol_advanced_fields | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| account_peppol_response | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_qr_code_emv | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_qr_code_sepa | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_tax_python | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| account_update_tax_tags | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| analytic | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| api_doc | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| attachment_indexation | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| auth_ldap | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| auth_oauth | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| auth_passkey | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| auth_passkey_portal | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| auth_password_policy | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| auth_password_policy_portal | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| auth_password_policy_signup | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| auth_signup | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| auth_timeout | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| auth_totp | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| auth_totp_mail | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| auth_totp_portal | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| barcodes | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| barcodes_gs1_nomenclature | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| base |Done | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| base_address_extended | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| base_automation | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| base_geolocalize | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| base_iban | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| base_import | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| base_import_module | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| base_install_request | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| base_report_paper_muncher | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| base_report_wkhtmltox | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| base_setup | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| base_sparse_field | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| base_vat | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| board | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| bus |Nothing to do |No schema change. im_status is not stored. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| calendar | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| calendar_sms | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| certificate | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| cloud_storage | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| cloud_storage_azure | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| cloud_storage_google | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| cloud_storage_migration | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| contacts | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| crm | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| crm_iap_enrich | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| crm_iap_mine | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| crm_livechat | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| crm_mail_plugin | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| crm_sale_project | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| crm_sms | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| data_recycle | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| delivery | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| delivery_mondialrelay | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| delivery_stock_picking_batch | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| digest | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| event | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| event_booth | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| event_booth_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| event_crm | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| event_crm_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| event_product | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| event_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| event_sms | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| fleet | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| fleet_maintenance | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| gamification | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| gamification_sale_crm | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| google_account | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| google_address_autocomplete | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| google_calendar | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| google_gmail | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| google_recaptcha | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| hr_address_extended | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_attendance | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_calendar | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| hr_calendar_google | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_expense | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_fleet | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_gamification | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_holidays | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_holidays_attendance | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| hr_holidays_homeworking | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| hr_homeworking | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| hr_homeworking_calendar | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| hr_hourly_cost | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_livechat |Nothing to do |Removed view only. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_maintenance | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| hr_org_chart | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_presence | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_recruitment | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_recruitment_skills | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_recruitment_sms | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_recruitment_survey | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_skills | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_skills_event | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_skills_slides | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_skills_survey | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_timesheet | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_timesheet_attendance | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| hr_work_entry | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| hr_work_entry_holidays | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| html_builder | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| html_editor | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| http_routing | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| iap | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| iap_crm | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| iap_mail | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| im_livechat |Done |Ratings, status, help time, chatbot source map. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| iot_base | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| iot_webserial | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_account_withholding_tax | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_account_withholding_tax_pos | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ae | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ae_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_anz_ubl_pint | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ar | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ar_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ar_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ar_website_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ar_withholding | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_at | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_au | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_bd | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_be | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_be_pos | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_be_pos_restaurant | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_be_pos_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_bf | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_bg | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_bg_ledger | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_bh | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_bj | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_bo | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_br | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_br_sales | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_br_website_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ca | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_cd | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_cf | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_cg | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ch | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ch_pos | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ci | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_cl | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_cm | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_cn | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_cn_city | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_co | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_co_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_cr | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_cy | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_cz | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_de | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_din5008 | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_din5008_expense | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_din5008_purchase | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_din5008_repair | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_din5008_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_din5008_stock | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_dk | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_dk_fik | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_dk_nemhandel | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_dk_nemhandel_response | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_dk_oioubl | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_do | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_dz | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ec | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ec_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_ec_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ee | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_eg | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_eg_edi_eta | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_eg_edi_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_es | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_es_edi_facturae | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_es_edi_sii | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_es_edi_tbai | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_es_edi_tbai_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_es_edi_verifactu | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_es_edi_verifactu_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_es_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_es_website_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_et | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_eu_account_vies | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_eu_oss | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_fi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_fi_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_fr | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_fr_account | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_fr_facturx_chorus_pro | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_fr_hr_holidays | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_fr_hr_work_entry_holidays | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_fr_payment | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_fr_pdp | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_fr_pdp_pos | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_fr_pos_cert | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ga | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_gcc_invoice | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_gcc_invoice_stock_account | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_gcc_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ge | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_gf | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_gn | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_gp | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_gq | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_gr | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_gr_edi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_gr_edi_delivery_note | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_gr_edi_e_invoo | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_gt | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_gw | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_hk | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_hn | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_hr | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_hr_edi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_hr_kuna | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_hu | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_hu_edi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_hu_edi_receive | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_id | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_id_efaktur_coretax | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_id_pos | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_id_pos_self_order_qris | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ie | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_il | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_in | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_in_boe | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_in_edi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_in_ewaybill | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_in_ewaybill_irn | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_in_ewaybill_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_in_hr_holidays | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_in_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_in_purchase_stock | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_in_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_in_sale_stock | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_in_stock | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_iq | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_it | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_it_edi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_it_edi_doi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_it_edi_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_it_stock_ddt | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_jo | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_jo_edi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_jo_edi_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_jp | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_jp_ubl_pint | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ke | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ke_edi_tremol | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_kh | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_km | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_kr | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_kr_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_kw | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_kz | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_latam_base | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_latam_check | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_latam_invoice_document | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_lb_account | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_lk | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_lk_invoice | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_lt | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_lu | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_lv | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ma | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_mc | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_mk | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ml | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_mm | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_mn | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_mq | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_mr | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_mt | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_mt_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_mu_account | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_mx | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_my | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_my_edi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_my_edi_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_my_ubl_pint | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_mz | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ne | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ng | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_nl | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_no | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_nz | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_om | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_pa | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_pe | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_pe_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ph | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_ph_invoice | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_ph_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_pk | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_pk_edi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_pk_edi_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_pl | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_pl_bank_verification | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_pl_edi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_pl_edi_jst | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_pt | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_qa | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_re | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ro | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_ro_cpv_code | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ro_edi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ro_edi_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_ro_edi_stock_batch | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_rs | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_rs_edi | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_rw | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_sa | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_sa_edi | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_sa_edi_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_sa_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_sa_withholding_tax | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_se | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_sg | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_sg_ubl_pint | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_si | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_sk | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_sn | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_syscohada | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_td | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_tg | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_th | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_tn | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_tr | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_tr_nilvera | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_tr_nilvera_base_vat | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_tr_nilvera_edispatch | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_tr_nilvera_einvoice | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_tr_nilvera_einvoice_extended | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_tw | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_tw_edi_ecpay | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_tw_edi_ecpay_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_tw_edi_ecpay_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_tw_edi_ecpay_website_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_tz_account | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ua | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ug | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_uk | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_us | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_us_account | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_uy | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| l10n_uy_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_uz | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_ve | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_vn | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_vn_edi_viettel | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_vn_edi_viettel_pos | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| l10n_vn_edi_viettel_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_yt | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_za | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| l10n_zm_account | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| link_tracker | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| loyalty | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| lunch | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mail |Done |Tracking split, bookmarks, activities, owners. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mail_bot |Nothing to do |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mail_bot_hr |Nothing to do |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mail_group | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mail_plugin | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| mail_tracking |Done |Installed from mail; history kept. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| mail_tracking_mass_mailing |Nothing to do |New field. Installed with mail_tracking. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| mail_tracking_sms |Nothing to do |New field. Installed with mail_tracking. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| maintenance | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| marketing_card | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| marketing_card_event | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mass_mailing | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mass_mailing_crm | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mass_mailing_crm_sms | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mass_mailing_event | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mass_mailing_event_sms | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mass_mailing_event_track | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mass_mailing_event_track_sms | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mass_mailing_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mass_mailing_sale_sms | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mass_mailing_slides | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mass_mailing_sms | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mass_mailing_themes | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| microsoft_account | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| microsoft_calendar | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| microsoft_outlook | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mrp | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mrp_account | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| mrp_delivery | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mrp_landed_costs | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mrp_product_expiry | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mrp_repair | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mrp_subcontracting | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mrp_subcontracting_account | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mrp_subcontracting_dropshipping | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mrp_subcontracting_landed_costs | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| mrp_subcontracting_purchase | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| mrp_subcontracting_repair | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| mysubscription | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| onboarding | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| partner_autocomplete | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| partnership | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_adyen | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_aps | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_asiapay | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_authorize | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_buckaroo | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_custom | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_demo | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_dpo | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_ecpay | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_flutterwave | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_iyzico | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_mercado_pago | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_mollie | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_nuvei | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_paymob | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_paypal | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_payu | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_razorpay | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_redsys | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_stripe | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_toss_payments | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_worldline | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| payment_xendit | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| phone_validation | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| point_of_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| populate | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| portal | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| portal_discuss | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| portal_rating | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_account_tax_python | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_adyen | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| pos_bancontact_pay | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_cashdro | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_cashmatic | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_discount | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_dpopay | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_edi_ubl | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_event | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_event_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_glory_cash | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_hr | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_hr_restaurant | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_imin | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_loyalty | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_mercado_pago | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_mollie | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_mrp | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_online_payment | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_online_payment_self_order | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| pos_partner_autocomplete | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_pine_labs | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_qfpay | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_razorpay | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_repair | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_restaurant | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| pos_restaurant_adyen | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_restaurant_loyalty | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| pos_restaurant_stripe | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_safaricom | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| pos_sale_delivery | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_sale_loyalty | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_sale_margin | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| pos_sale_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_self_order | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| pos_self_order_adyen | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| pos_self_order_bancontact_pay | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| pos_self_order_event | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_self_order_pine_labs | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_self_order_qfpay | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_self_order_razorpay | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_self_order_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| pos_self_order_sms | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| pos_self_order_stripe | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| pos_self_order_viva_com | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_sms | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| pos_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_stripe | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| pos_viva_com | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| printer | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| privacy_lookup | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| product | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| product_email_template | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| product_expiry | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| product_margin | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| product_matrix | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_account | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_hr_expense | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_hr_skills | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_mail_plugin | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_mrp | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_mrp_account | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_mrp_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_mrp_stock_landed_costs | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_purchase | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_purchase_stock | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_sale_expense | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_sms | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_stock | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_stock_account | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_stock_landed_costs | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_timesheet_holidays | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| project_todo | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| purchase | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| purchase_alternative | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| purchase_alternative_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| purchase_alternative_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| purchase_edi_ubl_bis3 | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| purchase_mrp | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| purchase_product_matrix | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| purchase_repair | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| purchase_requisition | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| purchase_requisition_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| purchase_requisition_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| purchase_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| rating | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| repair | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| resource | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| resource_mail | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| rpc | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_crm | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_edi_ubl | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_expense | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_expense_margin | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_gelato | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_gelato_stock | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_loyalty | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_loyalty_delivery | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_management | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_margin | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_mrp | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_mrp_margin | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_pdf_quote_builder | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_product_matrix | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_project | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| sale_project_margin | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_project_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_project_stock_account | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_purchase | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_purchase_project | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_purchase_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_service | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_sms | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_stock_margin | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_stock_product_expiry | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_timesheet | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sale_timesheet_margin | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sales_team | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sms | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| sms_twilio | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| snailmail | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| snailmail_account | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| social_media | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_account | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard_account | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard_event_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard_hr_expense | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard_hr_timesheet | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard_im_livechat | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard_pos_hr | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard_pos_restaurant | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard_sale_timesheet | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard_stock_account | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard_website_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| spreadsheet_dashboard_website_sale_slides | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| stock_account | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| stock_delivery | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| stock_dropshipping | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| stock_fleet | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| stock_landed_costs | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| stock_maintenance | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| stock_picking_batch | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| stock_sms | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| survey | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| survey_crm | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| theme_default | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| transifex | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| uom | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| utm | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| web | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| web_hierarchy | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| web_tour | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| web_unsplash | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| website_address_autocomplete | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_blog | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_cf_turnstile | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_crm | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_crm_iap_reveal | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_crm_livechat | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_crm_partner_assign | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_crm_sms | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_customer | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_event | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_event_booth | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_event_booth_exhibitor | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_event_booth_sale | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_event_booth_sale_exhibitor | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_event_crm | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_event_exhibitor | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_event_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_event_track | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_event_track_live | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_event_track_live_quiz | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_event_track_quiz | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_forum | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_google_map | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_hr_recruitment | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_hr_recruitment_livechat | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_links | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_livechat |Nothing to do |Operator cache column removed. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_mail | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_mail_group | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_mass_mailing | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| website_mass_mailing_event | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_mass_mailing_sms | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_partner | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| website_partnership | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_payment | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_profile | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_project | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_sale | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| website_sale_autocomplete | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_sale_collect | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| website_sale_collect_wishlist | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| website_sale_comparison | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| website_sale_comparison_wishlist | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_sale_gelato | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_sale_loyalty | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_sale_mass_mailing | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| website_sale_mondialrelay | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_sale_mrp | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |new| website_sale_project | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_sale_slides | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_sale_stock | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| website_sale_stock_wishlist | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| |del| website_sale_wishlist | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_slides | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_slides_forum | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_slides_survey | | |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_sms | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
+| website_timesheet | |No DB layout changes. |
++---------------------------------------------------+----------------------+-------------------------------------------------+
diff --git a/openupgrade_scripts/scripts/bus/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/bus/20.0.1.0/upgrade_analysis.txt
new file mode 100644
index 00000000000..8a9a7b75af5
--- /dev/null
+++ b/openupgrade_scripts/scripts/bus/20.0.1.0/upgrade_analysis.txt
@@ -0,0 +1,4 @@
+---Models in module 'bus'---
+---Fields in module 'bus'---
+---XML records in module 'bus'---
+DEL ir.model.access: bus.access_bus_bus
diff --git a/openupgrade_scripts/scripts/bus/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/bus/20.0.1.0/upgrade_analysis_work.txt
new file mode 100644
index 00000000000..3d8cc120e83
--- /dev/null
+++ b/openupgrade_scripts/scripts/bus/20.0.1.0/upgrade_analysis_work.txt
@@ -0,0 +1,13 @@
+---Models in module 'bus'---
+---Fields in module 'bus'---
+---XML records in module 'bus'---
+DEL ir.model.access: bus.access_bus_bus
+
+# NOTHING TO DO. bus 20.0 has no model or column changes. The deleted ir.model.access
+# row is the ir.model.access to ir.access merge done in base (OCA OpenUpgrade PR #6068);
+# bus no longer ships a security CSV. im_status was checked and is not a bus field.
+# res.users.im_status and mail.guest.im_status changed from a non-stored Char to a
+# non-stored Selection, so there is no column to convert. Stored presence remains
+# mail.presence.status with the same keys online, away and offline. manual_im_status is
+# unchanged. The old partner value bot was a non-stored compute on res.partner and that
+# field was removed.
diff --git a/openupgrade_scripts/scripts/hr_livechat/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/hr_livechat/20.0.1.0/upgrade_analysis.txt
new file mode 100644
index 00000000000..7a288402ef5
--- /dev/null
+++ b/openupgrade_scripts/scripts/hr_livechat/20.0.1.0/upgrade_analysis.txt
@@ -0,0 +1,4 @@
+---Models in module 'hr_livechat'---
+---Fields in module 'hr_livechat'---
+---XML records in module 'hr_livechat'---
+DEL ir.ui.view: hr_livechat.discuss_channel_looking_for_help_view_search
diff --git a/openupgrade_scripts/scripts/hr_livechat/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/hr_livechat/20.0.1.0/upgrade_analysis_work.txt
new file mode 100644
index 00000000000..1efa7666f43
--- /dev/null
+++ b/openupgrade_scripts/scripts/hr_livechat/20.0.1.0/upgrade_analysis_work.txt
@@ -0,0 +1,7 @@
+---Models in module 'hr_livechat'---
+---Fields in module 'hr_livechat'---
+---XML records in module 'hr_livechat'---
+DEL ir.ui.view: hr_livechat.discuss_channel_looking_for_help_view_search
+
+# NOTHING TO DO: the only change is removal of a search view for the deleted
+# looking-for-help action. No table or column changes.
diff --git a/openupgrade_scripts/scripts/im_livechat/20.0.1.0/pre-migration.py b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/pre-migration.py
new file mode 100644
index 00000000000..29260d6ed48
--- /dev/null
+++ b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/pre-migration.py
@@ -0,0 +1,142 @@
+# Copyright 2026 Odoo Community Association (OCA)
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+import logging
+
+from openupgradelib import openupgrade
+
+_logger = logging.getLogger(__name__)
+
+
+def _preserve_chatbot_script_source(env):
+ """Preserve chatbot.script source_id for the crm_livechat migration.
+
+ Copied from adekock11/OpenUpgrade#2 (cursor/crm-190-200-91bd). im_livechat
+ is updated before crm_livechat and drops source_id (the model no longer
+ inherits utm.source.mixin). crm_livechat post-migration reads
+ ``ou_crm_livechat_chatbot_source`` to set crm.lead.utm_reference.
+ """
+ cr = env.cr
+ cr.execute("SELECT state FROM ir_module_module WHERE name = %s", ("crm_livechat",))
+ row = cr.fetchone()
+ if not row or row[0] not in ("installed", "to upgrade", "to install"):
+ return
+ if not openupgrade.column_exists(cr, "chatbot_script", "source_id"):
+ return
+ openupgrade.logged_query(
+ cr,
+ """
+ CREATE TABLE IF NOT EXISTS ou_crm_livechat_chatbot_source (
+ chatbot_script_id integer PRIMARY KEY,
+ source_id integer NOT NULL
+ )
+ """,
+ )
+ openupgrade.logged_query(
+ cr,
+ """
+ INSERT INTO ou_crm_livechat_chatbot_source (chatbot_script_id, source_id)
+ SELECT id, source_id
+ FROM chatbot_script
+ WHERE source_id IS NOT NULL
+ ON CONFLICT (chatbot_script_id) DO NOTHING
+ """,
+ )
+ _logger.info(
+ "Saved %s chatbot.script source links for crm_livechat.",
+ cr.rowcount,
+ )
+
+
+def _migrate_livechat_ratings(cr):
+ """Ratings moved off ``rating.mixin`` onto ``discuss.channel.livechat_rating``.
+
+ 19.0 stored the last rating as a float (1, 3 or 5) in ``rating_last_value``.
+ 20.0 stores the same scale as a selection. ``im_livechat.channel.member.history``
+ no longer points at ``rating.rating``; its stored ``rating`` is recomputed
+ from ``livechat_rating`` when the module initializes. ``rating.rating``
+ rows themselves are left in place.
+ """
+ if not openupgrade.column_exists(cr, "discuss_channel", "rating_last_value"):
+ return
+ if not openupgrade.column_exists(cr, "discuss_channel", "livechat_rating"):
+ openupgrade.logged_query(
+ cr,
+ "ALTER TABLE discuss_channel ADD COLUMN livechat_rating varchar",
+ )
+ openupgrade.logged_query(
+ cr,
+ """
+ UPDATE discuss_channel
+ SET livechat_rating = CASE round(rating_last_value)
+ WHEN 1 THEN '1'
+ WHEN 3 THEN '3'
+ WHEN 5 THEN '5'
+ END
+ WHERE channel_type = 'livechat'
+ AND rating_last_value IS NOT NULL
+ AND round(rating_last_value) IN (1, 3, 5)
+ AND livechat_rating IS NULL
+ """,
+ )
+
+
+def _map_waiting_status(cr):
+ """The ``waiting`` livechat status ("Waiting for customer") was removed.
+
+ An open session becomes ``in_progress``. A closed session must have an
+ empty status (``livechat_end_dt`` / ``livechat_status`` check).
+ """
+ if not openupgrade.column_exists(cr, "discuss_channel", "livechat_status"):
+ return
+ openupgrade.logged_query(
+ cr,
+ """
+ UPDATE discuss_channel
+ SET livechat_status = CASE
+ WHEN livechat_end_dt IS NOT NULL THEN NULL
+ ELSE 'in_progress'
+ END
+ WHERE livechat_status = 'waiting'
+ """,
+ )
+
+
+def _prepare_looking_for_help_date(cr):
+ """The new check requires a timestamp exactly when status is ``need_help``.
+
+ Fill it before the constraint is added. The stored compute overwrites the
+ value with "now" during init, which is the same information 19.0 kept
+ (the field did not exist, so the original request time is unknown).
+ """
+ if not openupgrade.column_exists(cr, "discuss_channel", "livechat_status"):
+ return
+ if not openupgrade.column_exists(
+ cr, "discuss_channel", "livechat_looking_for_help_since_dt"
+ ):
+ openupgrade.logged_query(
+ cr,
+ """
+ ALTER TABLE discuss_channel
+ ADD COLUMN livechat_looking_for_help_since_dt timestamp
+ """,
+ )
+ openupgrade.logged_query(
+ cr,
+ """
+ UPDATE discuss_channel
+ SET livechat_looking_for_help_since_dt = (now() AT TIME ZONE 'UTC')
+ WHERE livechat_status = 'need_help'
+ AND livechat_looking_for_help_since_dt IS NULL
+ """,
+ )
+
+
+@openupgrade.migrate()
+def migrate(env, version):
+ # Must run before the column is dropped, and before the rating/status
+ # updates. Same SQL as OpenUpgrade PR #2.
+ _preserve_chatbot_script_source(env)
+ _migrate_livechat_ratings(env.cr)
+ _map_waiting_status(env.cr)
+ _prepare_looking_for_help_date(env.cr)
diff --git a/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis.txt b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis.txt
new file mode 100644
index 00000000000..e8894973691
--- /dev/null
+++ b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis.txt
@@ -0,0 +1,82 @@
+---Models in module 'im_livechat'---
+obsolete model im_livechat.conversation.tag
+---Fields in module 'im_livechat'---
+im_livechat / chatbot.script / source_id (many2one) : DEL relation: utm.source, required
+im_livechat / discuss.channel / livechat_conversation_tag_ids (many2many): DEL relation: im_livechat.conversation.tag
+im_livechat / discuss.channel / livechat_looking_for_help_since_dt (datetime): NEW isfunction: function, stored
+im_livechat / discuss.channel / livechat_operator_id (many2one): DEL relation: res.partner
+im_livechat / discuss.channel / livechat_rating (selection) : NEW selection_keys: ['1', '3', '5']
+im_livechat / discuss.channel / livechat_status (selection) : selection_keys removed: [waiting]
+im_livechat / discuss.channel / rating_last_text (selection) : DEL selection_keys: function
+im_livechat / discuss.channel / rating_last_value (float) : DEL
+im_livechat / im_livechat.channel / rating_ids (one2many) : DEL relation: rating.rating
+im_livechat / im_livechat.channel / rating_percentage_satisfaction (integer): type is now 'float' ('integer')
+im_livechat / im_livechat.channel.member.history / rating (float) : is now stored
+im_livechat / im_livechat.channel.member.history / rating (float) : not related anymore
+im_livechat / im_livechat.channel.member.history / rating (float) : now a function
+im_livechat / im_livechat.channel.member.history / rating (float) : selection_keys is now '['1', '3', '5']' ('False')
+im_livechat / im_livechat.channel.member.history / rating (float) : type is now 'selection' ('float')
+im_livechat / im_livechat.channel.member.history / rating_id (many2one) : DEL relation: rating.rating
+im_livechat / im_livechat.conversation.tag / color (integer) : DEL
+im_livechat / im_livechat.conversation.tag / conversation_ids (many2many) : DEL relation: discuss.channel
+im_livechat / im_livechat.conversation.tag / name (char) : DEL required
+im_livechat / im_livechat.expertise / color (integer) : NEW
+im_livechat / mail.message / chatbot_message_ids (one2many): NEW relation: chatbot.message
+---XML records in module 'im_livechat'---
+NEW ir.access: im_livechat.access_chatbot_message_user
+NEW ir.access: im_livechat.access_chatbot_script_answer_user
+NEW ir.access: im_livechat.access_chatbot_script_step_user
+NEW ir.access: im_livechat.access_chatbot_script_user
+NEW ir.access: im_livechat.access_im_livechat_channel_member_history_user
+NEW ir.access: im_livechat.access_livechat_channel_manager
+NEW ir.access: im_livechat.access_livechat_channel_rule_manager
+NEW ir.access: im_livechat.access_livechat_channel_rule_user
+NEW ir.access: im_livechat.access_livechat_channel_user
+NEW ir.access: im_livechat.access_livechat_expertise_internal_user
+NEW ir.access: im_livechat.access_livechat_expertise_livechat_manager
+NEW ir.access: im_livechat.access_livechat_support_report_channel
+NEW ir.access: im_livechat.ir_rule_discuss_call_history_im_livechat_group_user
+NEW ir.access: im_livechat.ir_rule_discuss_channel_im_livechat_group_user
+NEW ir.access: im_livechat.ir_rule_discuss_channel_member_im_livechat_group_user
+NEW ir.actions.act_window: im_livechat.im_livechat_channel_config_action
+DEL ir.actions.act_window: im_livechat.discuss_channel_looking_for_help_action
+DEL ir.actions.act_window: im_livechat.livechat_conversation_tag_action
+NEW ir.actions.act_window.view: im_livechat.im_livechat_channel_config_action_kanban
+NEW ir.actions.act_window.view: im_livechat.im_livechat_channel_config_action_list
+DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_form
+DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_kanban
+DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_list
+DEL ir.model.access: im_livechat.access_chatbot_message_user
+DEL ir.model.access: im_livechat.access_chatbot_script_answer
+DEL ir.model.access: im_livechat.access_chatbot_script_answer_user
+DEL ir.model.access: im_livechat.access_chatbot_script_step_user
+DEL ir.model.access: im_livechat.access_chatbot_script_user
+DEL ir.model.access: im_livechat.access_im_livechat_channel_member_history_user
+DEL ir.model.access: im_livechat.access_livechat_channel_manager
+DEL ir.model.access: im_livechat.access_livechat_channel_rule_manager
+DEL ir.model.access: im_livechat.access_livechat_channel_rule_user
+DEL ir.model.access: im_livechat.access_livechat_channel_user
+DEL ir.model.access: im_livechat.access_livechat_conversation_tag_livechat_manager
+DEL ir.model.access: im_livechat.access_livechat_conversation_tag_livechat_user
+DEL ir.model.access: im_livechat.access_livechat_expertise_internal_user
+DEL ir.model.access: im_livechat.access_livechat_expertise_livechat_manager
+DEL ir.model.access: im_livechat.access_livechat_support_report_channel
+NEW ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_looking_for_help_since_dt_constraint
+NEW ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_rating_constraint
+DEL ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_operator_id
+DEL ir.model.constraint: im_livechat.constraint_im_livechat_conversation_tag_name_unique
+DEL ir.rule: im_livechat.ir_rule_discuss_call_history_im_livechat_group_user (noupdate)
+DEL ir.rule: im_livechat.ir_rule_discuss_channel_im_livechat_group_user (noupdate)
+DEL ir.rule: im_livechat.ir_rule_discuss_channel_member_im_livechat_group_user (noupdate)
+NEW ir.ui.menu: im_livechat.livechat_channels_config
+DEL ir.ui.menu: im_livechat.menu_livechat_all_conversations
+DEL ir.ui.menu: im_livechat.menu_livechat_conversation_tag
+DEL ir.ui.menu: im_livechat.menu_livechat_looking_for_help
+NEW ir.ui.view: im_livechat.im_livechat_channel_config_view_kanban
+NEW ir.ui.view: im_livechat.im_livechat_channel_view_list
+DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_kanban
+DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_list
+DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_search
+DEL ir.ui.view: im_livechat.im_livechat_channel_conversation_tag_view_form
+DEL ir.ui.view: im_livechat.im_livechat_channel_conversation_tag_view_list
+NEW utm.source: im_livechat.utm_source_chatbot
diff --git a/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis_work.txt
new file mode 100644
index 00000000000..916b25cc592
--- /dev/null
+++ b/openupgrade_scripts/scripts/im_livechat/20.0.1.0/upgrade_analysis_work.txt
@@ -0,0 +1,216 @@
+---Models in module 'im_livechat'---
+obsolete model im_livechat.conversation.tag
+
+# NOTHING TO DO: conversation tags were removed with no replacement. The model, its
+# many2many and the tag menu go away with the feature. Tag names are not copied anywhere
+# because 20.0 has nowhere to store them.
+
+---Fields in module 'im_livechat'---
+im_livechat / chatbot.script / source_id (many2one) : DEL relation: utm.source, required
+
+# DONE in pre-migration, same SQL as adekock11/OpenUpgrade#2: if crm_livechat is
+# installed or queued, chatbot_script.source_id is copied to
+# ou_crm_livechat_chatbot_source before this module drops the column. That PR's
+# crm_livechat post-migration turns the map into crm.lead.utm_reference and drops
+# the table. The utm.source rows themselves are not deleted. Leads already created
+# keep their source_id. New chatbot leads use im_livechat.utm_source_chatbot.
+
+im_livechat / discuss.channel / livechat_conversation_tag_ids (many2many): DEL relation: im_livechat.conversation.tag
+
+# NOTHING TO DO: conversation tags were removed with no replacement. The model, its
+# many2many and the tag menu go away with the feature. Tag names are not copied anywhere
+# because 20.0 has nowhere to store them.
+
+im_livechat / discuss.channel / livechat_looking_for_help_since_dt (datetime): NEW isfunction: function, stored
+
+# DONE in pre-migration: the column is filled with the migration time for sessions
+# already in need_help, so the new check passes. 19.0 did not store the request time.
+# The stored compute may overwrite it with now during init.
+
+im_livechat / discuss.channel / livechat_operator_id (many2one): DEL relation: res.partner
+
+# NOTHING TO DO: the required operator column is removed. 19.0 already stores the agent
+# on im_livechat.channel.member.history, which 20.0 uses. The check constraint on the
+# column is dropped with it.
+
+im_livechat / discuss.channel / livechat_rating (selection) : NEW selection_keys: ['1', '3', '5']
+
+# DONE in pre-migration: discuss.channel.livechat_rating is filled from
+# rating_last_value (1, 3 or 5) before rating.mixin columns are dropped.
+
+im_livechat / discuss.channel / livechat_status (selection) : selection_keys removed: [waiting]
+
+# DONE in pre-migration: status waiting becomes in_progress while the session is open,
+# and NULL when livechat_end_dt is set, so the closed session check still holds.
+
+im_livechat / discuss.channel / rating_last_text (selection) : DEL selection_keys: function
+im_livechat / discuss.channel / rating_last_value (float) : DEL
+
+# DONE: rating_last_value is copied to livechat_rating. rating_last_text is the same
+# rating in words and is not stored separately in 20.0.
+
+im_livechat / im_livechat.channel / rating_ids (one2many) : DEL relation: rating.rating
+
+# NOTHING TO DO for the old column: history.rating was a non-stored related of
+# rating.rating. 20.0 stores a selection recomputed from
+# discuss.channel.livechat_rating, which the pre-migration fills. rating.rating rows are
+# not deleted.
+
+im_livechat / im_livechat.channel / rating_percentage_satisfaction (integer): type is now 'float' ('integer')
+
+# NOTHING TO DO: the integer came from rating.mixin as a non-stored compute. 20.0
+# recomputes a float from livechat ratings. No column to cast.
+
+im_livechat / im_livechat.channel.member.history / rating (float) : is now stored
+im_livechat / im_livechat.channel.member.history / rating (float) : not related anymore
+im_livechat / im_livechat.channel.member.history / rating (float) : now a function
+im_livechat / im_livechat.channel.member.history / rating (float) : selection_keys is now '['1', '3', '5']' ('False')
+im_livechat / im_livechat.channel.member.history / rating (float) : type is now 'selection' ('float')
+im_livechat / im_livechat.channel.member.history / rating_id (many2one) : DEL relation: rating.rating
+
+# NOTHING TO DO for the old column: history.rating was a non-stored related of
+# rating.rating. 20.0 stores a selection recomputed from
+# discuss.channel.livechat_rating, which the pre-migration fills. rating.rating rows are
+# not deleted.
+
+im_livechat / im_livechat.conversation.tag / color (integer) : DEL
+im_livechat / im_livechat.conversation.tag / conversation_ids (many2many) : DEL relation: discuss.channel
+im_livechat / im_livechat.conversation.tag / name (char) : DEL required
+
+# NOTHING TO DO: conversation tags were removed with no replacement. The model, its
+# many2many and the tag menu go away with the feature. Tag names are not copied anywhere
+# because 20.0 has nowhere to store them.
+
+im_livechat / im_livechat.expertise / color (integer) : NEW
+im_livechat / mail.message / chatbot_message_ids (one2many): NEW relation: chatbot.message
+
+# NOTHING TO DO: new field or a display-only change.
+
+---XML records in module 'im_livechat'---
+NEW ir.access: im_livechat.access_chatbot_message_user
+NEW ir.access: im_livechat.access_chatbot_script_answer_user
+NEW ir.access: im_livechat.access_chatbot_script_step_user
+NEW ir.access: im_livechat.access_chatbot_script_user
+NEW ir.access: im_livechat.access_im_livechat_channel_member_history_user
+NEW ir.access: im_livechat.access_livechat_channel_manager
+NEW ir.access: im_livechat.access_livechat_channel_rule_manager
+NEW ir.access: im_livechat.access_livechat_channel_rule_user
+NEW ir.access: im_livechat.access_livechat_channel_user
+NEW ir.access: im_livechat.access_livechat_expertise_internal_user
+NEW ir.access: im_livechat.access_livechat_expertise_livechat_manager
+NEW ir.access: im_livechat.access_livechat_support_report_channel
+NEW ir.access: im_livechat.ir_rule_discuss_call_history_im_livechat_group_user
+NEW ir.access: im_livechat.ir_rule_discuss_channel_im_livechat_group_user
+NEW ir.access: im_livechat.ir_rule_discuss_channel_member_im_livechat_group_user
+
+# NOTHING TO DO: ir.model.access and ir.rule merge into ir.access in base (OCA
+# OpenUpgrade PR #6068).
+
+NEW ir.actions.act_window: im_livechat.im_livechat_channel_config_action
+DEL ir.actions.act_window: im_livechat.discuss_channel_looking_for_help_action
+
+# NOTHING TO DO: standard data. The transcript email template and the demo channel
+# rename YourWebsite.com to Support are noupdate and are not forced onto existing
+# databases, so a customized template or channel name is kept.
+
+DEL ir.actions.act_window: im_livechat.livechat_conversation_tag_action
+
+# NOTHING TO DO: conversation tags were removed with no replacement. The model, its
+# many2many and the tag menu go away with the feature. Tag names are not copied anywhere
+# because 20.0 has nowhere to store them.
+
+NEW ir.actions.act_window.view: im_livechat.im_livechat_channel_config_action_kanban
+NEW ir.actions.act_window.view: im_livechat.im_livechat_channel_config_action_list
+DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_form
+DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_kanban
+DEL ir.actions.act_window.view: im_livechat.discuss_channel_looking_for_help_action_list
+
+# NOTHING TO DO: standard data. The transcript email template and the demo channel
+# rename YourWebsite.com to Support are noupdate and are not forced onto existing
+# databases, so a customized template or channel name is kept.
+
+DEL ir.model.access: im_livechat.access_chatbot_message_user
+DEL ir.model.access: im_livechat.access_chatbot_script_answer
+DEL ir.model.access: im_livechat.access_chatbot_script_answer_user
+DEL ir.model.access: im_livechat.access_chatbot_script_step_user
+DEL ir.model.access: im_livechat.access_chatbot_script_user
+DEL ir.model.access: im_livechat.access_im_livechat_channel_member_history_user
+DEL ir.model.access: im_livechat.access_livechat_channel_manager
+DEL ir.model.access: im_livechat.access_livechat_channel_rule_manager
+DEL ir.model.access: im_livechat.access_livechat_channel_rule_user
+DEL ir.model.access: im_livechat.access_livechat_channel_user
+
+# NOTHING TO DO: ir.model.access and ir.rule merge into ir.access in base (OCA
+# OpenUpgrade PR #6068).
+
+DEL ir.model.access: im_livechat.access_livechat_conversation_tag_livechat_manager
+DEL ir.model.access: im_livechat.access_livechat_conversation_tag_livechat_user
+
+# NOTHING TO DO: conversation tags were removed with no replacement. The model, its
+# many2many and the tag menu go away with the feature. Tag names are not copied anywhere
+# because 20.0 has nowhere to store them.
+
+DEL ir.model.access: im_livechat.access_livechat_expertise_internal_user
+DEL ir.model.access: im_livechat.access_livechat_expertise_livechat_manager
+DEL ir.model.access: im_livechat.access_livechat_support_report_channel
+
+# NOTHING TO DO: ir.model.access and ir.rule merge into ir.access in base (OCA
+# OpenUpgrade PR #6068).
+
+NEW ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_looking_for_help_since_dt_constraint
+
+# DONE in pre-migration: the column is filled with the migration time for sessions
+# already in need_help, so the new check passes. 19.0 did not store the request time.
+# The stored compute may overwrite it with now during init.
+
+NEW ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_rating_constraint
+
+# NOTHING TO DO: standard data. The transcript email template and the demo channel
+# rename YourWebsite.com to Support are noupdate and are not forced onto existing
+# databases, so a customized template or channel name is kept.
+
+DEL ir.model.constraint: im_livechat.constraint_discuss_channel_livechat_operator_id
+
+# NOTHING TO DO: the required operator column is removed. 19.0 already stores the agent
+# on im_livechat.channel.member.history, which 20.0 uses. The check constraint on the
+# column is dropped with it.
+
+DEL ir.model.constraint: im_livechat.constraint_im_livechat_conversation_tag_name_unique
+
+# NOTHING TO DO: conversation tags were removed with no replacement. The model, its
+# many2many and the tag menu go away with the feature. Tag names are not copied anywhere
+# because 20.0 has nowhere to store them.
+
+DEL ir.rule: im_livechat.ir_rule_discuss_call_history_im_livechat_group_user (noupdate)
+DEL ir.rule: im_livechat.ir_rule_discuss_channel_im_livechat_group_user (noupdate)
+DEL ir.rule: im_livechat.ir_rule_discuss_channel_member_im_livechat_group_user (noupdate)
+
+# NOTHING TO DO: ir.model.access and ir.rule merge into ir.access in base (OCA
+# OpenUpgrade PR #6068).
+
+NEW ir.ui.menu: im_livechat.livechat_channels_config
+DEL ir.ui.menu: im_livechat.menu_livechat_all_conversations
+
+# NOTHING TO DO: standard data. The transcript email template and the demo channel
+# rename YourWebsite.com to Support are noupdate and are not forced onto existing
+# databases, so a customized template or channel name is kept.
+
+DEL ir.ui.menu: im_livechat.menu_livechat_conversation_tag
+
+# NOTHING TO DO: conversation tags were removed with no replacement. The model, its
+# many2many and the tag menu go away with the feature. Tag names are not copied anywhere
+# because 20.0 has nowhere to store them.
+
+DEL ir.ui.menu: im_livechat.menu_livechat_looking_for_help
+NEW ir.ui.view: im_livechat.im_livechat_channel_config_view_kanban
+NEW ir.ui.view: im_livechat.im_livechat_channel_view_list
+DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_kanban
+DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_list
+DEL ir.ui.view: im_livechat.discuss_channel_looking_for_help_view_search
+DEL ir.ui.view: im_livechat.im_livechat_channel_conversation_tag_view_form
+DEL ir.ui.view: im_livechat.im_livechat_channel_conversation_tag_view_list
+NEW utm.source: im_livechat.utm_source_chatbot
+
+# NOTHING TO DO: standard data. The transcript email template and the demo channel
+# rename YourWebsite.com to Support are noupdate and are not forced onto existing
+# databases, so a customized template or channel name is kept.
diff --git a/openupgrade_scripts/scripts/mail/20.0.1.19/post-migration.py b/openupgrade_scripts/scripts/mail/20.0.1.19/post-migration.py
new file mode 100644
index 00000000000..bcaa3e54deb
--- /dev/null
+++ b/openupgrade_scripts/scripts/mail/20.0.1.19/post-migration.py
@@ -0,0 +1,122 @@
+# Copyright 2026 Odoo Community Association (OCA)
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from openupgradelib import openupgrade
+
+# 19.0 Font Awesome icon -> 20.0 Material Symbols icon. Applied only when the
+# standard activity type still has the 19.0 default, so a custom icon survives.
+_activity_icon_xmlids = {
+ "mail.mail_activity_data_email": ("fa-envelope", "mail"),
+ "mail.mail_activity_data_call": ("fa-phone", "phone"),
+ "mail.mail_activity_data_meeting": ("fa-users", "calendar_today"),
+ "mail.mail_activity_data_todo": ("fa-check", "check"),
+ "mail.mail_activity_data_upload_document": ("fa-upload", "upload"),
+ "mail.mail_activity_data_warning": ("fa-warning", "warning"),
+}
+
+
+def _update_activity_icons(env):
+ for xmlid, (old_icon, new_icon) in _activity_icon_xmlids.items():
+ activity_type = env.ref(xmlid, raise_if_not_found=False)
+ if activity_type and activity_type.icon == old_icon:
+ activity_type.icon = new_icon
+
+
+def _update_subtypes(env):
+ """Rename the standard subtypes and swap the note/activity sequences.
+
+ Names are translated. Write them in en_US and only when the English source
+ term is still the 19.0 value. Other languages keep their existing
+ translations.
+ """
+ renames = {
+ "mail.mt_comment": ("Discussions", "Messages", None),
+ "mail.mt_note": ("Note", "Notes", (100, 90)),
+ "mail.mt_activities": (None, None, (90, 100)),
+ }
+ for xmlid, (old_name, new_name, sequence_change) in renames.items():
+ subtype = env.ref(xmlid, raise_if_not_found=False)
+ if not subtype:
+ continue
+ if old_name and new_name:
+ english = subtype.with_context(lang="en_US")
+ if english.name == old_name:
+ english.name = new_name
+ if sequence_change and subtype.sequence == sequence_change[0]:
+ subtype.sequence = sequence_change[1]
+
+
+def _imply_internal_user_on_canned_response_admin(env):
+ group = env.ref("mail.group_mail_canned_response_admin", raise_if_not_found=False)
+ user_group = env.ref("base.group_user", raise_if_not_found=False)
+ if group and user_group and user_group not in group.implied_ids:
+ group.write({"implied_ids": [(4, user_group.id)]})
+
+
+def _assign_channel_owners(env):
+ """20.0 requires an owner to archive a channel or a group, and to edit a
+ read-only channel. 19.0 had no roles. The user who created the channel
+ becomes the owner when they are still a member; otherwise the oldest
+ active internal member does. The standard #general admin membership is
+ forced to owner, matching ``discuss_channel_data.xml``.
+ """
+ openupgrade.logged_query(
+ env.cr,
+ """
+ UPDATE discuss_channel_member AS member
+ SET channel_role = 'owner'
+ FROM discuss_channel AS channel
+ JOIN res_users AS creator ON creator.id = channel.create_uid
+ WHERE member.channel_id = channel.id
+ AND member.partner_id = creator.partner_id
+ AND channel.channel_type IN ('channel', 'group')
+ AND member.channel_role IS NULL
+ """,
+ )
+ openupgrade.logged_query(
+ env.cr,
+ """
+ UPDATE discuss_channel_member AS member
+ SET channel_role = 'owner'
+ WHERE member.id IN (
+ SELECT DISTINCT ON (channel.id) candidate.id
+ FROM discuss_channel AS channel
+ JOIN discuss_channel_member AS candidate
+ ON candidate.channel_id = channel.id
+ JOIN res_users AS users
+ ON users.partner_id = candidate.partner_id
+ AND users.active
+ WHERE channel.channel_type IN ('channel', 'group')
+ AND NOT EXISTS (
+ SELECT 1
+ FROM discuss_channel_member AS owner
+ WHERE owner.channel_id = channel.id
+ AND owner.channel_role = 'owner'
+ )
+ ORDER BY channel.id, candidate.id
+ )
+ """,
+ )
+ # discuss_channel_data.xml makes the admin membership of #general the owner.
+ openupgrade.logged_query(
+ env.cr,
+ """
+ UPDATE discuss_channel_member AS member
+ SET channel_role = 'owner'
+ FROM ir_model_data AS data
+ WHERE data.module = 'mail'
+ AND data.name = 'channel_member_general_channel_for_admin'
+ AND data.model = 'discuss.channel.member'
+ AND member.id = data.res_id
+ AND member.channel_role IS DISTINCT FROM 'owner'
+ """,
+ )
+
+
+@openupgrade.migrate()
+def migrate(env, version):
+ _update_activity_icons(env)
+ _update_subtypes(env)
+ _imply_internal_user_on_canned_response_admin(env)
+ if openupgrade.column_exists(env.cr, "discuss_channel_member", "channel_role"):
+ _assign_channel_owners(env)
diff --git a/openupgrade_scripts/scripts/mail/20.0.1.19/pre-migration.py b/openupgrade_scripts/scripts/mail/20.0.1.19/pre-migration.py
new file mode 100644
index 00000000000..7ad380eaf7a
--- /dev/null
+++ b/openupgrade_scripts/scripts/mail/20.0.1.19/pre-migration.py
@@ -0,0 +1,331 @@
+# Copyright 2026 Odoo Community Association (OCA)
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+import json
+import logging
+
+from openupgradelib import openupgrade
+
+_logger = logging.getLogger(__name__)
+
+_renamed_xmlids = [
+ (
+ "mail.action_view_mail_tracking_value",
+ "mail_tracking.action_view_mail_tracking_value",
+ ),
+ (
+ "mail.menu_mail_tracking_value",
+ "mail_tracking.menu_mail_tracking_value",
+ ),
+ (
+ "mail.view_mail_tracking_value_form",
+ "mail_tracking.view_mail_tracking_value_form",
+ ),
+ (
+ "mail.view_mail_tracking_value_tree",
+ "mail_tracking.view_mail_tracking_value_tree",
+ ),
+ (
+ "mail.model_mail_tracking_value",
+ "mail_tracking.model_mail_tracking_value",
+ ),
+]
+
+
+def _ensure_column(cr, table, column, column_type):
+ if openupgrade.column_exists(cr, table, column):
+ return
+ queries = {
+ ("mail_activity_type", "suggested_next_type_id", "int4"): (
+ "ALTER TABLE mail_activity_type ADD COLUMN suggested_next_type_id int4"
+ ),
+ ("ir_act_server", "log_note_note", "jsonb"): (
+ "ALTER TABLE ir_act_server ADD COLUMN log_note_note jsonb"
+ ),
+ }
+ openupgrade.logged_query(cr, queries[(table, column, column_type)])
+
+
+def _schedule_new_module(cr, name):
+ """Mark a module introduced in 20.0 to install during this upgrade.
+
+ ``ir.module.module.update_list()`` has already run, so rows for modules
+ that are on the addons path exist. Setting ``to install`` here is picked
+ up by the module-loading loop before ``ir.model.data._process_end``, which
+ is what keeps moved records from being deleted as leftovers of ``mail``.
+ """
+ openupgrade.logged_query(
+ cr,
+ """
+ UPDATE ir_module_module
+ SET state = 'to install'
+ WHERE name = %s
+ AND state = 'uninstalled'
+ """,
+ (name,),
+ )
+ cr.execute("SELECT state FROM ir_module_module WHERE name = %s", (name,))
+ row = cr.fetchone()
+ if not row:
+ _logger.error(
+ "Module %s is not in ir_module_module. It must be on the addons "
+ "path or data that moved into it will not be loaded.",
+ name,
+ )
+ return row and row[0]
+
+
+def _install_mail_tracking(cr):
+ """Discuss tracking was split out of mail and is not auto_install.
+
+ The model name and table stay ``mail.tracking.value`` /
+ ``mail_tracking_value``. Installing the new module reuses that table.
+ The mass-mailing and SMS glue modules are ``auto_install``, but
+ ``update_list()`` already ran before this script could mark
+ ``mail_tracking`` to install, so schedule them explicitly when their
+ other dependency is already installed.
+ """
+ state = _schedule_new_module(cr, "mail_tracking")
+ if state not in ("to install", "to upgrade", "installed"):
+ return
+ cr.execute(
+ """
+ SELECT name FROM ir_module_module
+ WHERE name IN ('mass_mailing', 'sms')
+ AND state IN ('installed', 'to upgrade', 'to install')
+ """
+ )
+ installed = {row[0] for row in cr.fetchall()}
+ if "mass_mailing" in installed:
+ _schedule_new_module(cr, "mail_tracking_mass_mailing")
+ if "sms" in installed:
+ _schedule_new_module(cr, "mail_tracking_sms")
+
+
+def _preserve_tracking_currency(cr):
+ """19.0 stored the currency of a monetary tracking on ``currency_id``.
+
+ 20.0 drops that column and keeps the currency id inside ``field_info``
+ (see ``mail.track.mixin``). Copy it before the column is removed, when
+ ``mail_tracking`` initializes the model.
+ """
+ if not openupgrade.column_exists(cr, "mail_tracking_value", "currency_id"):
+ return
+ if not openupgrade.column_exists(cr, "mail_tracking_value", "field_info"):
+ return
+ openupgrade.logged_query(
+ cr,
+ """
+ UPDATE mail_tracking_value
+ SET field_info = COALESCE(field_info::jsonb, '{}'::jsonb)
+ || jsonb_build_object('currency_id', currency_id)
+ WHERE currency_id IS NOT NULL
+ AND (
+ field_info IS NULL
+ OR NOT (COALESCE(field_info::jsonb, '{}'::jsonb) ? 'currency_id')
+ )
+ """,
+ )
+
+
+def _mark_tracking_messages(cr):
+ """20.0 stores field-change logs as ``message_type = 'tracking'``.
+
+ 19.0 stored them as ``notification`` messages that have tracking values.
+ The Discuss "changes" search only matches ``tracking``. Comments that
+ also carry tracking values are left as comments.
+ """
+ if not openupgrade.table_exists(cr, "mail_tracking_value"):
+ return
+ openupgrade.logged_query(
+ cr,
+ """
+ UPDATE mail_message AS message
+ SET message_type = 'tracking'
+ WHERE message.message_type = 'notification'
+ AND EXISTS (
+ SELECT 1
+ FROM mail_tracking_value AS tracking
+ WHERE tracking.mail_message_id = message.id
+ )
+ """,
+ )
+
+
+def _rename_starred_bookmarks(cr):
+ """Starred messages were renamed to bookmarks. Same columns, new table."""
+ old = "mail_message_res_partner_starred_rel"
+ new = "mail_message_res_partner_bookmarked_rel"
+ if openupgrade.table_exists(cr, old) and not openupgrade.table_exists(cr, new):
+ openupgrade.rename_tables(cr, [(old, new)])
+
+
+def _migrate_activity_chaining(cr):
+ """Suggest-next went from a many2many (or a triggered many2one) to one
+ many2one, ``suggested_next_type_id``.
+
+ ``previous_type_ids`` still uses ``mail_activity_rel``, so every old
+ suggestion stays visible as a preceding activity. 20.0 can only suggest
+ a single next type: a ``trigger`` chain wins, otherwise the lowest
+ ``recommended_id`` is kept. Automatic triggering no longer exists; the
+ link is preserved as a suggestion.
+ """
+ if not openupgrade.table_exists(cr, "mail_activity_type"):
+ return
+ _ensure_column(cr, "mail_activity_type", "suggested_next_type_id", "int4")
+ if not openupgrade.column_exists(cr, "mail_activity_type", "chaining_type"):
+ return
+ if openupgrade.column_exists(cr, "mail_activity_type", "triggered_next_type_id"):
+ openupgrade.logged_query(
+ cr,
+ """
+ UPDATE mail_activity_type
+ SET suggested_next_type_id = triggered_next_type_id
+ WHERE chaining_type = 'trigger'
+ AND triggered_next_type_id IS NOT NULL
+ AND suggested_next_type_id IS NULL
+ """,
+ )
+ if openupgrade.table_exists(cr, "mail_activity_rel"):
+ openupgrade.logged_query(
+ cr,
+ """
+ UPDATE mail_activity_type AS activity_type
+ SET suggested_next_type_id = suggestion.recommended_id
+ FROM (
+ SELECT DISTINCT ON (activity_id)
+ activity_id,
+ recommended_id
+ FROM mail_activity_rel
+ ORDER BY activity_id, recommended_id
+ ) AS suggestion
+ WHERE activity_type.id = suggestion.activity_id
+ AND activity_type.chaining_type IS DISTINCT FROM 'trigger'
+ AND activity_type.suggested_next_type_id IS NULL
+ """,
+ )
+ cr.execute(
+ """
+ SELECT COUNT(*)
+ FROM (
+ SELECT activity_id
+ FROM mail_activity_rel
+ GROUP BY activity_id
+ HAVING COUNT(*) > 1
+ ) AS extra
+ """
+ )
+ extra = cr.fetchone()[0]
+ if extra:
+ _logger.info(
+ "%s activity types suggested more than one next activity. "
+ "20.0 keeps a single suggested_next_type_id (lowest id); "
+ "the other links remain on previous_type_ids.",
+ extra,
+ )
+
+
+# Fields removed in 20.0 that 19.0 standard views still reference. ir.cron's form
+# is validated before mail replaces the server-action view, so the old arch has
+# to be neutralized first. Only views that name one of these fields are touched.
+# Standard mail views are reloaded from XML afterwards. A custom view that still
+# names a removed field is reduced to an empty arch so the upgrade can continue;
+# that customization has to be reapplied.
+_OBSOLETE_VIEW_FIELDS = (
+ "mail_post_method",
+ "chaining_type",
+ "triggered_next_type_id",
+ "suggested_next_type_ids",
+ "previous_activity_type_id",
+ "recommended_activity_type_id",
+ "has_recommended_activities",
+ "custom_channel_name",
+ "fetched_message_id",
+ "starred_partner_ids",
+)
+
+
+def _blank_views_referencing_removed_fields(cr):
+ # arch_db::text escapes quotes, so match the field name itself.
+ pattern = "|".join(_OBSOLETE_VIEW_FIELDS)
+ cr.execute(
+ """
+ SELECT id, inherit_id IS NOT NULL, COALESCE(type, 'form'), arch_db
+ FROM ir_ui_view
+ WHERE arch_db::text ~ %s
+ """,
+ (pattern,),
+ )
+ rows = cr.fetchall()
+ for view_id, is_inherit, view_type, arch_db in rows:
+ if is_inherit:
+ empty = ""
+ elif view_type == "list":
+ empty = ""
+ elif view_type == "search":
+ empty = "