[IMP] sales, crm: improve sales reporting UX

- 'Customer' is more appropriate than 'Partner' for sales
- makes some confusing menu easier to understand
- remove favorites search duplicates of groupby
This commit is contained in:
Ravi Gohil
2018-01-25 13:01:51 +01:00
committed by XavierDo
parent decc668f76
commit 1a6b32ff58
6 changed files with 13 additions and 39 deletions
+1 -1
View File
@@ -60,7 +60,7 @@
<menuitem id="sales_team_menu_report_crm"
name="Sales Channels"
name="Sales Channel Dashboard"
parent="crm_menu_report"
action="sales_team.crm_team_salesteams_act"
sequence="10"/>
@@ -4,7 +4,7 @@
<field name="name">report.all.channels.sales.pivot</field>
<field name="model">report.all.channels.sales</field>
<field name="arch" type="xml">
<pivot string="All Channels Sales Orders Analysis">
<pivot string="Sales by Channel Analysis">
<field name="name" type="row"/>
<field name="price_total" string="Total Price" type="measure"/>
</pivot>
@@ -15,7 +15,7 @@
<field name="name">report.all.channels.sales.search</field>
<field name="model">report.all.channels.sales</field>
<field name="arch" type="xml">
<search string="All Channels Sales Orders Analysis">
<search string="Sales by Channel Analysis">
<field name="date_order"/>
<filter string="Current Year Sales" name="current_year" domain="[('date_order','&gt;=',time.strftime('%%Y-01-01'))]"/>
<group expand="1" string="Group By">
@@ -26,7 +26,7 @@
</record>
<record id="report_all_channels_sales_action" model="ir.actions.act_window">
<field name="name">All Channels Sales Orders</field>
<field name="name">Sales by Channel</field>
<field name="res_model">report.all.channels.sales</field>
<field name="view_mode">pivot</field>
<field name="view_id" ref="report_all_channels_sales_view_pivot"/>
+1 -1
View File
@@ -34,7 +34,7 @@ class SaleReport(models.Model):
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')
country_id = fields.Many2one('res.country', 'Partner Country', readonly=True)
country_id = fields.Many2one('res.country', 'Customer Country', readonly=True)
commercial_partner_id = fields.Many2one('res.partner', 'Commercial Entity', readonly=True)
state = fields.Selection([
('draft', 'Draft Quotation'),
+3 -29
View File
@@ -24,33 +24,6 @@
</field>
</record>
<!-- Custom reports (aka filters) -->
<record id="filter_sale_report_sales_funnel" model="ir.filters">
<field name="name">Sales Funnel</field>
<field name="model_id">sale.report</field>
<field name="domain">['&amp;', ('date','&lt;=', time.strftime('%%Y-12-31')), '&amp;', ('date','&gt;=',time.strftime('%%Y-01-01')), ('state','not in',('cancel',))]</field>
<field name="user_id" eval="False"/>
<field name="context">{'group_by': ['state'], 'measures': ['price_subtotal']}</field>
</record>
<record id="filter_sale_report_salespersons" model="ir.filters">
<field name="name">By Salespersons</field>
<field name="model_id">sale.report</field>
<field name="user_id" eval="False"/>
<field name="context">{'group_by': ['date:month', 'user_id']}</field>
</record>
<record id="filter_sale_report_salesteam" model="ir.filters">
<field name="name">By Salesteam</field>
<field name="model_id">sale.report</field>
<field name="user_id" eval="False"/>
<field name="context">{'group_by': ['date:month', 'team_id']}</field>
</record>
<record id="filter_isale_report_product" model="ir.filters">
<field name="name">By Product</field>
<field name="model_id">sale.report</field>
<field name="user_id" eval="False"/>
<field name="context">{'group_by': ['date:month', 'product_id']}</field>
</record>
<record id="view_order_product_search" model="ir.ui.view">
<field name="name">sale.report.search</field>
<field name="model">sale.report</field>
@@ -71,13 +44,14 @@
<group expand="1" string="Group By">
<filter string="Salesperson" name="User" context="{'group_by':'user_id'}"/>
<filter string="Sales Channel" name="sales_channel" context="{'group_by':'team_id'}"/>
<filter string="Partner's Country" name="country_id" context="{'group_by':'country_id'}"/>
<filter string="Customer Country" name="country_id" context="{'group_by':'country_id'}"/>
<filter string="Customer" name="Customer" context="{'group_by':'partner_id'}"/>
<filter string="Product" name="Product" context="{'group_by':'product_id'}"/>
<filter string="Product Category" name="Category" context="{'group_by':'categ_id'}"/>
<filter name="status" string="Status" context="{'group_by':'state'}"/>
<filter string="Company" name="company" groups="base.group_multi_company" context="{'group_by':'company_id'}"/>
<separator/>
<filter string="Order Month" name="order_month" context="{'group_by':'date:month'}" help="Ordered date of the sales order"/>
<filter string="Confirmation Date" name="order_month" context="{'group_by':'date:month'}" help="Ordered date of the sales order"/>
</group>
</search>
</field>
+4 -4
View File
@@ -50,16 +50,16 @@
sequence="1"/>
<menuitem id="report_sales_team"
name="Sales Channels"
name="Sales Channel Dashboard"
parent="menu_sale_report"
action="sales_team.crm_team_salesteams_act"
sequence="2"/>
sequence="3"/>
<menuitem id="report_all_channels_sales"
action="report_all_channels_sales_action"
name="All Channels Sales Orders"
name="Sales by Channel"
parent="menu_sale_report"
sequence="3"/>
sequence="2"/>
<menuitem id="product_menu_catalog" name="Products" action="product.product_template_action" parent="sale_menu_root" sequence="4" groups="sales_team.group_sale_salesman"/>
<menuitem id="menu_product" name="Product Variants" parent="product_menu_catalog" sequence="2" groups="product.group_product_variant" active="False"/>
+1 -1
View File
@@ -22,7 +22,7 @@
<!-- Case Teams Action -->
<record id="crm_team_salesteams_act" model="ir.actions.act_window">
<field name="name">Sales Channels</field>
<field name="name">Sales Channel Dashboard</field>
<field name="res_model">crm.team</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,form</field>