diff --git a/odoo/addons/base/models/ir_qweb_fields.py b/odoo/addons/base/models/ir_qweb_fields.py
index 329d9b3c55b..dc02b1ea5e3 100644
--- a/odoo/addons/base/models/ir_qweb_fields.py
+++ b/odoo/addons/base/models/ir_qweb_fields.py
@@ -632,9 +632,22 @@ class Contact(models.AbstractModel):
@api.model
def get_available_options(self):
options = super(Contact, self).get_available_options()
+ contact_fields = [
+ {'field_name': 'name', 'label': _('Name'), 'default': True},
+ {'field_name': 'address', 'label': _('Address'), 'default': True},
+ {'field_name': 'phone', 'label': _('Phone'), 'default': True},
+ {'field_name': 'mobile', 'label': _('Mobile'), 'default': True},
+ {'field_name': 'email', 'label': _('Email'), 'default': True},
+ {'field_name': 'vat', 'label': _('VAT')},
+ ]
+ separator_params = dict(
+ type='selection',
+ selection=[[" ", _("Space")], [",", _("Comma")], ["-", _("Dash")], ["|", _("Vertical bar")], ["/", _("Slash")]],
+ placeholder=_('Linebreak'),
+ )
options.update(
- fields=dict(type='array', params=dict(type='selection', params=["name", "address", "city", "country_id", "phone", "mobile", "email", "fax", "karma", "website"]), string=_('Displayed fields'), description=_('List of contact fields to display in the widget'), default_value=["name", "address", "phone", "mobile", "email"]),
- separator=dict(type='string', string=_('Address separator'), description=_('Separator use to split the address from the display_name.'), default_value="\\n"),
+ fields=dict(type='array', params=dict(type='selection', params=contact_fields), string=_('Displayed fields'), description=_('List of contact fields to display in the widget'), default_value=[param.get('field_name') for param in contact_fields if param.get('default')]),
+ separator=dict(type='selection', params=separator_params, string=_('Address separator'), description=_('Separator use to split the address from the display_name.'), default_value=False),
no_marker=dict(type='boolean', string=_('Hide badges'), description=_("Don't display the font awesome marker")),
no_tag_br=dict(type='boolean', string=_('Use comma'), description=_("Use comma instead of the
tag to display the address")),
phone_icons=dict(type='boolean', string=_('Display phone icons'), description=_("Display the phone icons even if no_marker is True")),
@@ -661,6 +674,8 @@ class Contact(models.AbstractModel):
'country_id': value.country_id.display_name,
'website': value.website,
'email': value.email,
+ 'vat': value.vat,
+ 'vat_label': value.country_id.vat_label or _('VAT'),
'fields': opf,
'object': value,
'options': options
diff --git a/odoo/addons/base/views/ir_qweb_widget_templates.xml b/odoo/addons/base/views/ir_qweb_widget_templates.xml
index 608e42413cc..627bbb95c06 100644
--- a/odoo/addons/base/views/ir_qweb_widget_templates.xml
+++ b/odoo/addons/base/views/ir_qweb_widget_templates.xml
@@ -43,6 +43,7 @@