- Consolidate all your sales channels in real time: stores, e-commerce, inside sales. Get real time control of the inventory and accurate forecasts to manage procurements.
+ Consolidate all your Sales Teams in real time: stores, e-commerce, inside sales. Get real time control of the inventory and accurate forecasts to manage procurements.
Odoo POS is fully integrated with other Odoo apps. Odoo Inventory app automatically inputs any transaction from the POS in the stock. You can see in real time the availability of products without losing time. Furthermore, the POS is compatible with Odoo e-commerce. You won't need to setup separate stocks for the two apps and be a truly multi-channel business, without headache.
diff --git a/addons/pos_sale/__manifest__.py b/addons/pos_sale/__manifest__.py
index 5d779866351..bda1ccafa89 100644
--- a/addons/pos_sale/__manifest__.py
+++ b/addons/pos_sale/__manifest__.py
@@ -10,7 +10,7 @@
'summary': 'Link module between Point of Sale and Sales',
'description': """
-This module adds a custom Sales Channel for the point of sale to be able to view and manage your point of sale sales with more ease.
+This module adds a custom Sales Team for the point of sale to be able to view and manage your point of sale sales with more ease.
""",
'depends': ['point_of_sale', 'sale_management'],
'data': [
diff --git a/addons/pos_sale/models/pos_config.py b/addons/pos_sale/models/pos_config.py
index 269a4471ff6..559499fcd08 100644
--- a/addons/pos_sale/models/pos_config.py
+++ b/addons/pos_sale/models/pos_config.py
@@ -8,6 +8,6 @@ class PosConfig(models.Model):
_inherit = 'pos.config'
crm_team_id = fields.Many2one(
- 'crm.team', string="Sales Channel", domain=[('team_type', '=', 'pos')],
+ 'crm.team', string="Sales Team", domain=[('team_type', '=', 'pos')],
default=lambda self: self.env['crm.team'].search([('team_type', '=', 'pos')], limit=1).id,
- help="This Point of sale's sales will be related to this Sales Channel.")
+ help="This Point of sale's sales will be related to this Sales Team.")
diff --git a/addons/pos_sale/models/pos_session.py b/addons/pos_sale/models/pos_session.py
index cde76bfd6cd..3f4848bb0ee 100644
--- a/addons/pos_sale/models/pos_session.py
+++ b/addons/pos_sale/models/pos_session.py
@@ -7,4 +7,4 @@ from odoo import fields, models
class PosSession(models.Model):
_inherit = 'pos.session'
- crm_team_id = fields.Many2one('crm.team', related='config_id.crm_team_id', string="Sales Channel", readonly=True)
+ crm_team_id = fields.Many2one('crm.team', related='config_id.crm_team_id', string="Sales Team", readonly=True)
diff --git a/addons/pos_sale/security/pos_sale_security.xml b/addons/pos_sale/security/pos_sale_security.xml
index 8b14025fa02..62f9afaa838 100644
--- a/addons/pos_sale/security/pos_sale_security.xml
+++ b/addons/pos_sale/security/pos_sale_security.xml
@@ -1,7 +1,7 @@
- POS Sales Channel
+ POS Sales Team
[('team_type', '=', 'pos')]
diff --git a/addons/sale/README.md b/addons/sale/README.md
index 6790375d4df..d8feee7fcfc 100644
--- a/addons/sale/README.md
+++ b/addons/sale/README.md
@@ -87,7 +87,7 @@ Opportunities can be converted into quotations in just one click.
Drive Engagement with Gamification
----------------------------------
-Align sales channels on clear targets. Define clear commission plans. Get real
+Align Sales Teams on clear targets. Define clear commission plans. Get real
time statistics on the performance of individual sales or channels. Motivate your
teams with challenges, rewards and leaderboards.
@@ -96,5 +96,5 @@ Have Clear Pricing Strategies
Use pricelists to record special conditions for a specific customer or to
define prices for a segment of customers. Define promotions and have them
-applied automatically for all your sales channels.
+applied automatically for all your Sales Teams.
diff --git a/addons/sale/data/mail_data.xml b/addons/sale/data/mail_data.xml
index 890cdfc1da7..b8e9b5fd637 100644
--- a/addons/sale/data/mail_data.xml
+++ b/addons/sale/data/mail_data.xml
@@ -27,6 +27,7 @@
Quotation sent
20
crm.team
+
team_id
@@ -34,6 +35,7 @@
Sales Order Confirmed
21
crm.team
+
team_id
diff --git a/addons/sale/data/sale_demo.xml b/addons/sale/data/sale_demo.xml
index b203cab9bf5..b1e0dab16aa 100644
--- a/addons/sale/data/sale_demo.xml
+++ b/addons/sale/data/sale_demo.xml
@@ -688,5 +688,11 @@ Thanks!
+
+
+
+
diff --git a/addons/sale/models/account_invoice.py b/addons/sale/models/account_invoice.py
index 226b1c04d85..24cb6aa7bb1 100644
--- a/addons/sale/models/account_invoice.py
+++ b/addons/sale/models/account_invoice.py
@@ -16,7 +16,7 @@ class AccountInvoice(models.Model):
if invoice_type == 'out_invoice' and self.env['ir.config_parameter'].sudo().get_param('sale.use_sale_note'):
return self.env.user.company_id.sale_note
- team_id = fields.Many2one('crm.team', string='Sales Channel', default=_get_default_team, oldname='section_id')
+ team_id = fields.Many2one('crm.team', string='Sales Team', default=_get_default_team, oldname='section_id')
comment = fields.Text(default=_default_comment)
partner_shipping_id = fields.Many2one(
'res.partner',
diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py
index c4e39ab3768..2b1d9e886a0 100644
--- a/addons/sale/models/sale.py
+++ b/addons/sale/models/sale.py
@@ -122,15 +122,15 @@ class SaleOrder(models.Model):
('sale', 'Sales Order'),
('done', 'Locked'),
('cancel', 'Cancelled'),
- ], string='Status', readonly=True, copy=False, index=True, track_visibility='onchange', default='draft')
+ ], string='Status', readonly=True, copy=False, index=True, track_visibility='onchange', track_sequence=3, default='draft')
date_order = fields.Datetime(string='Order Date', required=True, readonly=True, index=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, copy=False, default=fields.Datetime.now)
validity_date = fields.Date(string='Quote Validity', readonly=True, copy=False, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]},
help="Validity date of the quotation, after this date, the customer won't be able to validate the quotation online.")
is_expired = fields.Boolean(compute='_compute_is_expired', string="Is expired")
create_date = fields.Datetime(string='Creation Date', readonly=True, index=True, help="Date on which sales order is created.")
confirmation_date = fields.Datetime(string='Confirmation Date', readonly=True, index=True, help="Date on which the sales order is confirmed.", oldname="date_confirm", copy=False)
- user_id = fields.Many2one('res.users', string='Salesperson', index=True, track_visibility='onchange', default=lambda self: self.env.user)
- partner_id = fields.Many2one('res.partner', string='Customer', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, required=True, change_default=True, index=True, track_visibility='always')
+ user_id = fields.Many2one('res.users', string='Salesperson', index=True, track_visibility='onchange', track_sequence=2, default=lambda self: self.env.user)
+ partner_id = fields.Many2one('res.partner', string='Customer', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, required=True, change_default=True, index=True, track_visibility='always', track_sequence=1)
partner_invoice_id = fields.Many2one('res.partner', string='Invoice Address', readonly=True, required=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)], 'sale': [('readonly', False)]}, help="Invoice address for current sales order.")
partner_shipping_id = fields.Many2one('res.partner', string='Delivery Address', readonly=True, required=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)], 'sale': [('readonly', False)]}, help="Delivery address for current sales order.")
@@ -151,14 +151,14 @@ class SaleOrder(models.Model):
note = fields.Text('Terms and conditions', default=_default_note)
- amount_untaxed = fields.Monetary(string='Untaxed Amount', store=True, readonly=True, compute='_amount_all', track_visibility='onchange')
+ amount_untaxed = fields.Monetary(string='Untaxed Amount', store=True, readonly=True, compute='_amount_all', track_visibility='onchange', track_sequence=5)
amount_tax = fields.Monetary(string='Taxes', store=True, readonly=True, compute='_amount_all')
- amount_total = fields.Monetary(string='Total', store=True, readonly=True, compute='_amount_all', track_visibility='always')
+ amount_total = fields.Monetary(string='Total', store=True, readonly=True, compute='_amount_all', track_visibility='always', track_sequence=6)
payment_term_id = fields.Many2one('account.payment.term', string='Payment Terms', oldname='payment_term')
fiscal_position_id = fields.Many2one('account.fiscal.position', oldname='fiscal_position', string='Fiscal Position')
company_id = fields.Many2one('res.company', 'Company', default=lambda self: self.env['res.company']._company_default_get('sale.order'))
- team_id = fields.Many2one('crm.team', 'Sales Channel', change_default=True, default=_get_default_team, oldname='section_id')
+ team_id = fields.Many2one('crm.team', 'Sales Team', change_default=True, default=_get_default_team, oldname='section_id')
signature = fields.Binary('Signature', help='Signature received through the portal.', copy=False, attachment=True)
signed_by = fields.Char('Signed by', help='Name of the person that signed the SO.', copy=False)
diff --git a/addons/sale/models/sales_team.py b/addons/sale/models/sales_team.py
index ff90e706c94..b3c9de0b5fe 100644
--- a/addons/sale/models/sales_team.py
+++ b/addons/sale/models/sales_team.py
@@ -11,7 +11,7 @@ class CrmTeam(models.Model):
use_quotations = fields.Boolean(string='Quotations', help="Check this box if you send quotations to your customers rather than confirming orders straight away. "
"This will add specific action buttons to your dashboard.")
- use_invoices = fields.Boolean('Set Invoicing Target', help="Check this box to set an invoicing target for this sales channel.")
+ use_invoices = fields.Boolean('Set Invoicing Target', help="Check this box to set an invoicing target for this Sales Team.")
invoiced = fields.Integer(
compute='_compute_invoiced',
string='Invoiced This Month', readonly=True,
diff --git a/addons/sale/report/invoice_report.py b/addons/sale/report/invoice_report.py
index 24b0f131a2a..c70f82afe6c 100644
--- a/addons/sale/report/invoice_report.py
+++ b/addons/sale/report/invoice_report.py
@@ -7,7 +7,7 @@ from odoo import fields, models
class AccountInvoiceReport(models.Model):
_inherit = 'account.invoice.report'
- team_id = fields.Many2one('crm.team', string='Sales Channel')
+ team_id = fields.Many2one('crm.team', string='Sales Team')
def _select(self):
return super(AccountInvoiceReport, self)._select() + ", sub.team_id as team_id"
diff --git a/addons/sale/report/report_all_channels_sales.py b/addons/sale/report/report_all_channels_sales.py
index 5af76ba85ec..7c2e6edcc00 100644
--- a/addons/sale/report/report_all_channels_sales.py
+++ b/addons/sale/report/report_all_channels_sales.py
@@ -6,7 +6,7 @@ from odoo import api, fields, models, tools
class PosSaleReport(models.Model):
_name = "report.all.channels.sales"
- _description = "All sales orders grouped by sales channels"
+ _description = "All sales orders grouped by Sales Teams"
_auto = False
name = fields.Char('Order Reference', readonly=True)
@@ -23,7 +23,7 @@ class PosSaleReport(models.Model):
price_subtotal = fields.Float(string='Price Subtotal', readonly=True)
product_qty = fields.Float('Product Quantity', readonly=True)
analytic_account_id = fields.Many2one('account.analytic.account', 'Analytic Account', readonly=True)
- team_id = fields.Many2one('crm.team', 'Sales Channel', readonly=True)
+ team_id = fields.Many2one('crm.team', 'Sales Team', readonly=True)
def _so(self):
so_str = """
diff --git a/addons/sale/report/report_all_channels_sales_views.xml b/addons/sale/report/report_all_channels_sales_views.xml
index 4b146e5f894..a29bf412a6c 100644
--- a/addons/sale/report/report_all_channels_sales_views.xml
+++ b/addons/sale/report/report_all_channels_sales_views.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/addons/sale/report/sale_report.py b/addons/sale/report/sale_report.py
index 23bcb4bd13b..38d2409c9f7 100644
--- a/addons/sale/report/sale_report.py
+++ b/addons/sale/report/sale_report.py
@@ -33,7 +33,7 @@ class SaleReport(models.Model):
nbr = fields.Integer('# of Lines', readonly=True)
pricelist_id = fields.Many2one('product.pricelist', 'Pricelist', readonly=True)
analytic_account_id = fields.Many2one('account.analytic.account', 'Analytic Account', readonly=True)
- team_id = fields.Many2one('crm.team', 'Sales Channel', readonly=True, oldname='section_id')
+ team_id = fields.Many2one('crm.team', 'Sales Team', readonly=True, oldname='section_id')
country_id = fields.Many2one('res.country', 'Customer Country', readonly=True)
commercial_partner_id = fields.Many2one('res.partner', 'Commercial Entity', readonly=True)
state = fields.Selection([
diff --git a/addons/sale/report/sale_report_views.xml b/addons/sale/report/sale_report_views.xml
index 70b2954ceaf..e1ddb6361a1 100644
--- a/addons/sale/report/sale_report_views.xml
+++ b/addons/sale/report/sale_report_views.xml
@@ -43,7 +43,7 @@
-
+
diff --git a/addons/sale/tests/test_access_rights.py b/addons/sale/tests/test_access_rights.py
index 757acdd8b04..11f9faa3a57 100644
--- a/addons/sale/tests/test_access_rights.py
+++ b/addons/sale/tests/test_access_rights.py
@@ -47,7 +47,7 @@ class TestAccessRights(TestCommonSaleNoChart):
'groups_id': [(6, 0, [self.env.ref('base.group_user').id])]
})
- # Create a sales channel
+ # Create a Sales Team
self.sales_channel = self.env['crm.team'].with_context(tracking_disable=True).create({
'name': 'Test Channel',
})
@@ -80,17 +80,17 @@ class TestAccessRights(TestCommonSaleNoChart):
self.order.sudo(self.user_manager).unlink()
self.assertNotIn(self.order.id, SaleOrder.search([]).ids, 'Sales manager should be able to delete the SO')
- # Manager can create a sales channel
+ # Manager can create a Sales Team
india_channel = self.env['crm.team'].with_context(tracking_disable=True).sudo(self.user_manager).create({
'name': 'India',
})
- self.assertIn(india_channel.id, self.env['crm.team'].search([]).ids, 'Sales manager should be able to create a sales channel')
- # Manager can edit a sales channel
+ self.assertIn(india_channel.id, self.env['crm.team'].search([]).ids, 'Sales manager should be able to create a Sales Team')
+ # Manager can edit a Sales Team
india_channel.sudo(self.user_manager).write({'dashboard_graph_group': 'week'})
- self.assertEquals(india_channel.dashboard_graph_group, 'week', 'Sales manager should be able to edit a sales channel')
- # Manager can delete a sales channel
+ self.assertEquals(india_channel.dashboard_graph_group, 'week', 'Sales manager should be able to edit a Sales Team')
+ # Manager can delete a Sales Team
india_channel.sudo(self.user_manager).unlink()
- self.assertNotIn(india_channel.id, self.env['crm.team'].search([]).ids, 'Sales manager should be able to delete a sales channel')
+ self.assertNotIn(india_channel.id, self.env['crm.team'].search([]).ids, 'Sales manager should be able to delete a Sales Team')
def test_access_sales_person(self):
""" Test Salesperson's access rights """
@@ -100,7 +100,7 @@ class TestAccessRights(TestCommonSaleNoChart):
# Now assign the SO to themselves
self.order.write({'user_id': self.user_salesperson_1.id})
self.order.sudo(self.user_salesperson_1).read()
- # Salesperson can change a sales channel of SO
+ # Salesperson can change a Sales Team of SO
self.order.sudo(self.user_salesperson_1).write({'team_id': self.sales_channel.id})
# Salesperson can't create the SO of other salesperson
with self.assertRaises(AccessError):
diff --git a/addons/sale/views/sale_views.xml b/addons/sale/views/sale_views.xml
index 3272aab3f4e..0415bf1ded1 100644
--- a/addons/sale/views/sale_views.xml
+++ b/addons/sale/views/sale_views.xml
@@ -17,7 +17,7 @@
+ sequence="4" groups="sales_team.group_sale_salesman"/>
@@ -50,8 +50,8 @@
sequence="1"/>
@@ -571,7 +571,7 @@
-
+
+
New Quotation
sale.order
diff --git a/addons/sales_team/__manifest__.py b/addons/sales_team/__manifest__.py
index fd8ce74a30c..3ecf2d97481 100644
--- a/addons/sales_team/__manifest__.py
+++ b/addons/sales_team/__manifest__.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
{
- 'name': 'Sales Channels',
+ 'name': 'Sales Teams',
'version': '1.0',
'category': 'Sales',
- 'summary': 'Sales Channels',
+ 'summary': 'Sales Teams',
'description': """
-Using this application you can manage Sales Channels with CRM and/or Sales
+Using this application you can manage Sales Teams with CRM and/or Sales
===========================================================================
""",
'website': 'https://www.odoo.com/page/crm',
diff --git a/addons/sales_team/models/crm_team.py b/addons/sales_team/models/crm_team.py
index f3708fc5b10..89905ae28f7 100644
--- a/addons/sales_team/models/crm_team.py
+++ b/addons/sales_team/models/crm_team.py
@@ -16,7 +16,7 @@ from odoo.tools import DEFAULT_SERVER_DATE_FORMAT as DF
class CrmTeam(models.Model):
_name = "crm.team"
_inherit = ['mail.thread']
- _description = "Sales Channel"
+ _description = "Sales Team"
_order = "name"
@api.model
@@ -40,14 +40,14 @@ class CrmTeam(models.Model):
def _get_default_favorite_user_ids(self):
return [(6, 0, [self.env.uid])]
- name = fields.Char('Sales Channel', required=True, translate=True)
- active = fields.Boolean(default=True, help="If the active field is set to false, it will allow you to hide the sales channel without removing it.")
+ name = fields.Char('Sales Team', required=True, translate=True)
+ active = fields.Boolean(default=True, help="If the active field is set to false, it will allow you to hide the Sales Team without removing it.")
company_id = fields.Many2one('res.company', string='Company',
default=lambda self: self.env['res.company']._company_default_get('crm.team'))
currency_id = fields.Many2one(
"res.currency", related='company_id.currency_id',
string="Currency", readonly=True)
- user_id = fields.Many2one('res.users', string='Channel Leader')
+ user_id = fields.Many2one('res.users', string='Team Leader')
member_ids = fields.One2many('res.users', 'sale_team_id', string='Channel Members')
favorite_user_ids = fields.Many2many(
'res.users', 'team_favorite_user_rel', 'team_id', 'user_id',
@@ -58,9 +58,9 @@ class CrmTeam(models.Model):
compute='_compute_is_favorite', inverse='_inverse_is_favorite',
help="Favorite teams to display them in the dashboard and access them easily.")
reply_to = fields.Char(string='Reply-To',
- help="The email address put in the 'Reply-To' of all emails sent by Odoo about cases in this sales channel")
+ help="The email address put in the 'Reply-To' of all emails sent by Odoo about cases in this Sales Team")
color = fields.Integer(string='Color Index', help="The color of the channel")
- team_type = fields.Selection([('sales', 'Sales'), ('website', 'Website')], string='Channel Type', default='sales', required=True,
+ team_type = fields.Selection([('sales', 'Sales'), ('website', 'Website')], string='Team Type', default='sales', required=True,
help="The type of this channel, it will define the resources this channel uses.")
dashboard_button_name = fields.Char(string="Dashboard Button", compute='_compute_dashboard_button_name')
dashboard_graph_data = fields.Text(compute='_compute_dashboard_graph')
@@ -143,7 +143,7 @@ class CrmTeam(models.Model):
return 'DATE(%s)' % self._graph_date_column()
def _graph_y_query(self):
- raise UserError(_('Undefined graph model for Sales Channel: %s') % self.name)
+ raise UserError(_('Undefined graph model for Sales Team: %s') % self.name)
def _extra_sql_conditions(self):
return ''
@@ -170,7 +170,7 @@ class CrmTeam(models.Model):
# apply rules
if not self.dashboard_graph_model:
- raise UserError(_('Undefined graph model for Sales Channel: %s') % self.name)
+ raise UserError(_('Undefined graph model for Sales Team: %s') % self.name)
GraphModel = self.env[self.dashboard_graph_model]
graph_table = GraphModel._table
extra_conditions = self._extra_sql_conditions()
@@ -263,14 +263,14 @@ class CrmTeam(models.Model):
return [{'values': values, 'area': True, 'title': graph_title, 'key': graph_key, 'color': color}]
def _compute_dashboard_button_name(self):
- """ Sets the adequate dashboard button name depending on the sales channel's options
+ """ Sets the adequate dashboard button name depending on the Sales Team's options
"""
for team in self:
team.dashboard_button_name = _("Big Pretty Button :)") # placeholder
def action_primary_channel_button(self):
""" skeleton function to be overloaded
- It will return the adequate action depending on the sales channel's options
+ It will return the adequate action depending on the Sales Team's options
"""
return False
diff --git a/addons/sales_team/models/res_partner.py b/addons/sales_team/models/res_partner.py
index 1df2395602d..cd36892861b 100644
--- a/addons/sales_team/models/res_partner.py
+++ b/addons/sales_team/models/res_partner.py
@@ -8,5 +8,5 @@ class ResPartner(models.Model):
_inherit = 'res.partner'
team_id = fields.Many2one(
- 'crm.team', 'Sales Channel',
- help='If set, this sales channel will be used for sales and assignations related to this partner')
+ 'crm.team', 'Sales Team',
+ help='If set, this Sales Team will be used for sales and assignations related to this partner')
diff --git a/addons/sales_team/models/res_users.py b/addons/sales_team/models/res_users.py
index 50b7e5cd28c..6ce0c27f983 100644
--- a/addons/sales_team/models/res_users.py
+++ b/addons/sales_team/models/res_users.py
@@ -8,8 +8,8 @@ class ResUsers(models.Model):
_inherit = 'res.users'
sale_team_id = fields.Many2one(
- 'crm.team', 'Sales Team',
- help='Sales Channel the user is member of. Used to compute the members of a sales channel through the inverse one2many')
+ 'crm.team', "User's Sales Team",
+ help='Sales Team the user is member of. Used to compute the members of a Sales Team through the inverse one2many')
group_sales_team_user = fields.Selection(
selection=lambda self: self._get_group_selection('base.module_category_sales_management'),
diff --git a/addons/sales_team/security/sales_team_security.xml b/addons/sales_team/security/sales_team_security.xml
index cf23763913c..43571985b26 100644
--- a/addons/sales_team/security/sales_team_security.xml
+++ b/addons/sales_team/security/sales_team_security.xml
@@ -30,7 +30,7 @@
- Sales Channel multi-company
+ Sales Team multi-company
['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
diff --git a/addons/sales_team/views/crm_team_views.xml b/addons/sales_team/views/crm_team_views.xml
index 925c7651efa..413a41a7106 100644
--- a/addons/sales_team/views/crm_team_views.xml
+++ b/addons/sales_team/views/crm_team_views.xml
@@ -22,7 +22,7 @@
- Sales Channel Dashboard
+ Sales Teams
crm.team
form
kanban,form
@@ -30,9 +30,9 @@
- Define a new sales channel
+ Define a new Sales Team
- Use sales channels to organize your sales departments.
+ Use Sales Teams to organize your sales departments.
Each channel will work with a separate pipeline.
@@ -44,7 +44,7 @@
crm.team.form
crm.team
-
diff --git a/addons/website_sale/models/crm_team.py b/addons/website_sale/models/crm_team.py
index e17804537c4..85206db7b3a 100644
--- a/addons/website_sale/models/crm_team.py
+++ b/addons/website_sale/models/crm_team.py
@@ -10,7 +10,7 @@ from odoo import fields, models, _
class CrmTeam(models.Model):
_inherit = "crm.team"
- website_ids = fields.One2many('website', 'salesteam_id', string='Websites', help="Websites using this sales channel")
+ website_ids = fields.One2many('website', 'salesteam_id', string='Websites', help="Websites using this Sales Team")
abandoned_carts_count = fields.Integer(
compute='_compute_abandoned_carts',
string='Number of Abandoned Carts', readonly=True)
diff --git a/addons/website_sale/models/res_config_settings.py b/addons/website_sale/models/res_config_settings.py
index ec0fdf666e3..79dd3516a91 100644
--- a/addons/website_sale/models/res_config_settings.py
+++ b/addons/website_sale/models/res_config_settings.py
@@ -15,7 +15,7 @@ class ResConfigSettings(models.TransientModel):
return False
salesperson_id = fields.Many2one('res.users', related='website_id.salesperson_id', string='Salesperson')
- salesteam_id = fields.Many2one('crm.team', related='website_id.salesteam_id', string='Sales Channel', domain=[('team_type', '!=', 'pos')])
+ salesteam_id = fields.Many2one('crm.team', related='website_id.salesteam_id', string='Sales Team', domain=[('team_type', '!=', 'pos')])
module_website_sale_delivery = fields.Boolean("eCommerce Shipping Costs")
# field used to have a nice radio in form view, resuming the 2 fields above
sale_delivery_settings = fields.Selection([
diff --git a/addons/website_sale/models/website.py b/addons/website_sale/models/website.py
index 13594353abf..a86d695be95 100644
--- a/addons/website_sale/models/website.py
+++ b/addons/website_sale/models/website.py
@@ -16,7 +16,7 @@ class Website(models.Model):
pricelist_id = fields.Many2one('product.pricelist', compute='_compute_pricelist_id', string='Default Pricelist')
currency_id = fields.Many2one('res.currency', related='pricelist_id.currency_id', related_sudo=False, string='Default Currency')
salesperson_id = fields.Many2one('res.users', string='Salesperson')
- salesteam_id = fields.Many2one('crm.team', string='Sales Channel')
+ salesteam_id = fields.Many2one('crm.team', string='Sales Team')
pricelist_ids = fields.One2many('product.pricelist', compute="_compute_pricelist_ids",
string='Price list available for this Ecommerce/Website')
diff --git a/addons/website_sale/views/res_config_settings_views.xml b/addons/website_sale/views/res_config_settings_views.xml
index 6403dd3b3c6..cce68e47a13 100644
--- a/addons/website_sale/views/res_config_settings_views.xml
+++ b/addons/website_sale/views/res_config_settings_views.xml
@@ -369,7 +369,7 @@