summaryrefslogtreecommitdiff
path: root/addons/sale/data
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/sale/data
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/sale/data')
-rw-r--r--addons/sale/data/ir_sequence_data.xml15
-rw-r--r--addons/sale/data/mail_data.xml301
-rw-r--r--addons/sale/data/product_product_demo.xml149
-rw-r--r--addons/sale/data/sale_data.xml22
-rw-r--r--addons/sale/data/sale_demo.xml946
5 files changed, 1433 insertions, 0 deletions
diff --git a/addons/sale/data/ir_sequence_data.xml b/addons/sale/data/ir_sequence_data.xml
new file mode 100644
index 00000000..07379f90
--- /dev/null
+++ b/addons/sale/data/ir_sequence_data.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <data noupdate="1">
+
+ <!-- Sequences for sale.order -->
+ <record id="seq_sale_order" model="ir.sequence">
+ <field name="name">Sales Order</field>
+ <field name="code">sale.order</field>
+ <field name="prefix">S</field>
+ <field name="padding">5</field>
+ <field name="company_id" eval="False"/>
+ </record>
+
+ </data>
+</odoo>
diff --git a/addons/sale/data/mail_data.xml b/addons/sale/data/mail_data.xml
new file mode 100644
index 00000000..fc13b954
--- /dev/null
+++ b/addons/sale/data/mail_data.xml
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <data noupdate="1">
+ <!-- Activities -->
+ <record id="mail_act_sale_upsell" model="mail.activity.type">
+ <field name="name">Order Upsell</field>
+ <field name="icon">fa-line-chart</field>
+ <field name="res_model_id" ref="sale.model_sale_order"/>
+ </record>
+
+ <!-- Sale-related subtypes for messaging / Chatter -->
+ <record id="mt_order_sent" model="mail.message.subtype">
+ <field name="name">Quotation sent</field>
+ <field name="res_model">sale.order</field>
+ <field name="default" eval="False"/>
+ <field name="description">Quotation sent</field>
+ </record>
+ <record id="mt_order_confirmed" model="mail.message.subtype">
+ <field name="name">Sales Order Confirmed</field>
+ <field name="res_model">sale.order</field>
+ <field name="default" eval="False"/>
+ <field name="description">Quotation confirmed</field>
+ </record>
+
+ <!-- Salesteam-related subtypes for messaging / Chatter -->
+ <record id="mt_salesteam_order_sent" model="mail.message.subtype">
+ <field name="name">Quotation sent</field>
+ <field name="sequence">20</field>
+ <field name="res_model">crm.team</field>
+ <field name="default" eval="True"/>
+ <field name="parent_id" ref="sale.mt_order_sent"/>
+ <field name="relation_field">team_id</field>
+ </record>
+ <record id="mt_salesteam_order_confirmed" model="mail.message.subtype">
+ <field name="name">Sales Order Confirmed</field>
+ <field name="sequence">21</field>
+ <field name="res_model">crm.team</field>
+ <field name="default" eval="True"/>
+ <field name="parent_id" ref="sale.mt_order_confirmed"/>
+ <field name="relation_field">team_id</field>
+ </record>
+ <record id="mt_salesteam_invoice_created" model="mail.message.subtype">
+ <field name="name">Invoice Created</field>
+ <field name="sequence">22</field>
+ <field name="res_model">crm.team</field>
+ <field name="parent_id" ref="account.mt_invoice_created"/>
+ <field name="relation_field">team_id</field>
+ </record>
+ <record id="mt_salesteam_invoice_confirmed" model="mail.message.subtype">
+ <field name="name">Invoice Confirmed</field>
+ <field name="sequence">23</field>
+ <field name="res_model">crm.team</field>
+ <field name="parent_id" ref="account.mt_invoice_validated"/>
+ <field name="relation_field">team_id</field>
+ </record>
+ </data>
+ <!-- Template and notification section -->
+ <data noupdate="1">
+ <template id="mail_notification_paynow_online" inherit_id="mail.mail_notification_paynow"
+ name="Quotation: Sign and Pay mail notification template">
+ <xpath expr="//t[@t-set='access_name']" position="after">
+ <t t-if="record._name == 'sale.order'">
+ <t t-set="is_transaction_pending" t-value="record.get_portal_last_transaction().state == 'pending'"/>
+ <t t-if="record.has_to_be_signed(include_draft=True)">
+ <t t-if="record.has_to_be_paid()" t-set="access_name">
+ <t t-if="is_transaction_pending">View Quotation</t>
+ <t t-else="">Sign &amp; Pay Quotation</t>
+ </t>
+ <t t-else="" t-set="access_name">Accept &amp; Sign Quotation</t>
+ </t>
+ <t t-elif="record.has_to_be_paid(include_draft=True) and not is_transaction_pending">
+ <t t-set="access_name">Accept &amp; Pay Quotation</t>
+ </t>
+ <t t-elif="record.state in ('draft', 'sent')">
+ <t t-set="access_name">View Quotation</t>
+ </t>
+ </t>
+ </xpath>
+ </template>
+
+ <record id="email_template_edi_sale" model="mail.template">
+ <field name="name">Sales Order: Send by email</field>
+ <field name="model_id" ref="sale.model_sale_order"/>
+ <field name="subject">${object.company_id.name} ${object.state in ('draft', 'sent') and (ctx.get('proforma') and 'Proforma' or 'Quotation') or 'Order'} (Ref ${object.name or 'n/a' })</field>
+ <field name="email_from">${(object.user_id.email_formatted or user.email_formatted) | safe}</field>
+ <field name="partner_to">${object.partner_id.id}</field>
+ <field name="body_html" type="html">
+<div style="margin: 0px; padding: 0px;">
+ <p style="margin: 0px; padding: 0px; font-size: 13px;">
+ % set doc_name = 'quotation' if object.state in ('draft', 'sent') else 'order'
+ Hello,
+ <br/><br/>
+ Your
+ % if ctx.get('proforma'):
+ Pro forma invoice for ${doc_name} <strong>${object.name}</strong>
+ % if object.origin:
+ (with reference: ${object.origin} )
+ % endif
+ amounting in <strong>${format_amount(object.amount_total, object.pricelist_id.currency_id)}</strong> is available.
+ % else:
+ ${doc_name} <strong>${object.name}</strong>
+ % if object.origin:
+ (with reference: ${object.origin} )
+ % endif
+ amounting in <strong>${format_amount(object.amount_total, object.pricelist_id.currency_id)}</strong> is ready for review.
+ % endif
+ <br/><br/>
+ Do not hesitate to contact us if you have any questions.
+ <br/>
+ </p>
+</div>
+ </field>
+ <field name="report_template" ref="action_report_saleorder"/>
+ <field name="report_name">${(object.name or '').replace('/','_')}</field>
+ <field name="lang">${object.partner_id.lang}</field>
+ <field name="auto_delete" eval="True"/>
+ </record>
+
+ <record id="mail_template_sale_confirmation" model="mail.template">
+ <field name="name">Sales Order: Confirmation Email</field>
+ <field name="model_id" ref="sale.model_sale_order"/>
+ <field name="subject">${object.company_id.name} ${(object.get_portal_last_transaction().state == 'pending') and 'Pending Order' or 'Order'} (Ref ${object.name or 'n/a' })</field>
+ <field name="email_from">${(object.user_id.email_formatted or user.email_formatted) | safe}</field>
+ <field name="partner_to">${object.partner_id.id}</field>
+ <field name="body_html" type="html">
+<div style="margin: 0px; padding: 0px;">
+ <p style="margin: 0px; padding: 0px; font-size: 12px;">
+ Hello,
+ <br/><br/>
+ % set transaction = object.get_portal_last_transaction()
+ Your order <strong>${object.name}</strong> amounting in <strong>${format_amount(object.amount_total, object.currency_id)}</strong>
+ % if object.state == 'sale' or (transaction and transaction.state in ('done', 'authorized')) :
+ has been confirmed.<br/>
+ Thank you for your trust!
+ % elif transaction and transaction.state == 'pending' :
+ is pending. It will be confirmed when the payment is received.
+ % if object.reference:
+ Your payment reference is <strong>${object.reference}</strong>.
+ % endif
+ % endif
+ <br/><br/>
+ Do not hesitate to contact us if you have any questions.
+ <br/><br/>
+ </p>
+% if object.website_id:
+ <div style="margin: 0px; padding: 0px;">
+ <table width="100%" style="color: #454748; font-size: 12px; border-collapse: collapse;">
+ <tr style="border-bottom: 2px solid #dee2e6;">
+ <td style="width: 150px;"><strong>Products</strong></td>
+ <td></td>
+ <td width="15%" align="center"><strong>Quantity</strong></td>
+ <td width="20%" align="right"><strong>
+ % if object.user_id.has_group('account.group_show_line_subtotals_tax_excluded'):
+ VAT Excl.
+ % else
+ VAT Incl.
+ % endif
+ </strong></td>
+ </tr>
+ </table>
+ % for line in object.order_line:
+ % if not line.is_delivery and line.display_type in ['line_section', 'line_note']:
+ <table width="100%" style="color: #454748; font-size: 12px; border-collapse: collapse;">
+ <tr style="${loop.cycle('background-color: #f2f2f2', 'background-color: #ffffff')}">
+ <td colspan="4">
+ % if line.display_type == 'line_section':
+ <strong>${line.name}</strong>
+ % elif line.display_type == 'line_note':
+ <i>${line.name}</i>
+ % endif
+ </td>
+ </tr>
+ </table>
+ % elif not line.is_delivery
+ <table width="100%" style="color: #454748; font-size: 12px; border-collapse: collapse;">
+ <tr style="${loop.cycle('background-color: #f2f2f2', 'background-color: #ffffff')}">
+ <td style="width: 150px;">
+ <img src="/web/image/product.product/${line.product_id.id}/image_128" style="width: 64px; height: 64px; object-fit: contain;" alt="Product image"></img>
+ </td>
+ <td align="left">${line.product_id.name}</td>
+ <td width="15%" align="center">${line.product_uom_qty}</td>
+ <td width="20%" align="right"><strong>
+ % if object.user_id.has_group('account.group_show_line_subtotals_tax_excluded'):
+ ${format_amount(line.price_reduce_taxexcl, object.currency_id)}
+ % else
+ ${format_amount(line.price_reduce_taxinc, object.currency_id)}
+ % endif
+ </strong></td>
+ </tr>
+ </table>
+ % endif
+ % endfor
+ </div>
+ % if object.carrier_id:
+ <div style="margin: 0px; padding: 0px;">
+ <table width="100%" style="color: #454748; font-size: 12px; border-spacing: 0px 4px;" align="right">
+ <tr>
+ <td style="width: 60%"/>
+ <td style="width: 30%; border-top: 1px solid #dee2e6;" align="right"><strong>Delivery:</strong></td>
+ <td style="width: 10%; border-top: 1px solid #dee2e6;" align="right">${format_amount(object.amount_delivery, object.currency_id)}</td>
+ </tr>
+ <tr>
+ <td style="width: 60%"/>
+ <td style="width: 30%;" align="right"><strong>SubTotal:</strong></td>
+ <td style="width: 10%;" align="right">${format_amount(object.amount_untaxed, object.currency_id)}</td>
+ </tr>
+ </table>
+ </div>
+ % else:
+ <div style="margin: 0px; padding: 0px;">
+ <table width="100%" style="color: #454748; font-size: 12px; border-spacing: 0px 4px;" align="right">
+ <tr>
+ <td style="width: 60%"/>
+ <td style="width: 30%; border-top: 1px solid #dee2e6;" align="right"><strong>SubTotal:</strong></td>
+ <td style="width: 10%; border-top: 1px solid #dee2e6;" align="right">${format_amount(object.amount_untaxed, object.currency_id)}</td>
+ </tr>
+ </table>
+ </div>
+ % endif
+ <div style="margin: 0px; padding: 0px;">
+ <table width="100%" style="color: #454748; font-size: 12px; border-spacing: 0px 4px;" align="right">
+ <tr>
+ <td style="width: 60%"/>
+ <td style="width: 30%;" align="right"><strong>Taxes:</strong></td>
+ <td style="width: 10%;" align="right">${format_amount(object.amount_tax, object.currency_id)}</td>
+ </tr>
+ <tr>
+ <td style="width: 60%"/>
+ <td style="width: 30%; border-top: 1px solid #dee2e6;" align="right"><strong>Total:</strong></td>
+ <td style="width: 10%; border-top: 1px solid #dee2e6;" align="right">${format_amount(object.amount_total, object.currency_id)}</td>
+ </tr>
+ </table>
+ </div>
+ % if object.partner_invoice_id:
+ <div style="margin: 0px; padding: 0px;">
+ <table width="100%" style="color: #454748; font-size: 12px;">
+ <tr>
+ <td style="padding-top: 10px;">
+ <strong>Bill to:</strong>
+ ${object.partner_invoice_id.street or ''}
+ ${object.partner_invoice_id.city or ''}
+ ${object.partner_invoice_id.state_id.name or ''}
+ ${object.partner_invoice_id.zip or ''}
+ ${object.partner_invoice_id.country_id.name or ''}
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <strong>Payment Method:</strong>
+ % if transaction.payment_token_id:
+ ${transaction.payment_token_id.name}
+ % else:
+ ${transaction.acquirer_id.name}
+ % endif
+ (${format_amount(transaction.amount, object.currency_id)})
+ </td>
+ </tr>
+ </table>
+ </div>
+ % endif
+ % if object.partner_shipping_id and not object.only_services:
+ <div style="margin: 0px; padding: 0px;">
+ <table width="100%" style="color: #454748; font-size: 12px;">
+ <tr>
+ <td>
+ <br/>
+ <strong>Ship to:</strong>
+ ${object.partner_shipping_id.street or ''}
+ ${object.partner_shipping_id.city or ''}
+ ${object.partner_shipping_id.state_id.name or ''}
+ ${object.partner_shipping_id.zip or ''}
+ ${object.partner_shipping_id.country_id.name or ''}
+ </td>
+ </tr>
+ </table>
+ % if object.carrier_id:
+ <table width="100%" style="color: #454748; font-size: 12px;">
+ <tr>
+ <td>
+ <strong>Shipping Method:</strong>
+ ${object.carrier_id.name}
+ % if object.carrier_id.fixed_price == 0.0:
+ (Free)
+ % else:
+ (${format_amount(object.carrier_id.fixed_price, object.currency_id)})
+ % endif
+ </td>
+ </tr>
+ </table>
+ % endif
+ </div>
+ % endif
+% endif
+</div></field>
+ <field name="report_template" ref="action_report_saleorder"/>
+ <field name="report_name">${(object.name or '').replace('/','_')}</field>
+ <field name="lang">${object.partner_id.lang}</field>
+ <field name="auto_delete" eval="True"/>
+ </record>
+ </data>
+</odoo>
diff --git a/addons/sale/data/product_product_demo.xml b/addons/sale/data/product_product_demo.xml
new file mode 100644
index 00000000..ae030ceb
--- /dev/null
+++ b/addons/sale/data/product_product_demo.xml
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <data noupdate="1">
+ <record id="product.consu_delivery_01" model="product.product">
+ <field name="invoice_policy">order</field>
+ </record>
+
+ <record id="product.consu_delivery_02" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.consu_delivery_03" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_delivery_01" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_delivery_02" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_order_01" model="product.product">
+ <field name="invoice_policy">order</field>
+ </record>
+
+ <record id="product.product_delivery_02" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_delivery_01" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_delivery_02" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_27" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_25" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_24" model="product.product">
+ <field name="invoice_policy">order</field>
+ </record>
+
+ <record id="product.product_product_22" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_20" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_16" model="product.product">
+ <field name="invoice_policy">order</field>
+ </record>
+
+ <record id="product.product_product_13" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_12" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_11b" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_11" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_10" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_9" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_8" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_7" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_6" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_5" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_4d" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_4d" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_4c" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_4b" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_4" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_3" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ <field name="expense_policy">cost</field>
+ </record>
+
+ <record id="product.product_product_2" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <record id="product.product_product_1" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ </record>
+
+ <!-- Expensable products -->
+ <record id="product.expense_product" model="product.product">
+ <field name="invoice_policy">order</field>
+ <field name="expense_policy">sales_price</field>
+ </record>
+
+ <record id="product.expense_hotel" model="product.product">
+ <field name="invoice_policy">delivery</field>
+ <field name="expense_policy">cost</field>
+ </record>
+
+ </data>
+</odoo>
diff --git a/addons/sale/data/sale_data.xml b/addons/sale/data/sale_data.xml
new file mode 100644
index 00000000..1d217715
--- /dev/null
+++ b/addons/sale/data/sale_data.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <data noupdate="1">
+ <!-- Share Button in action menu -->
+ <record id="model_sale_order_action_share" model="ir.actions.server">
+ <field name="name">Share</field>
+ <field name="model_id" ref="sale.model_sale_order"/>
+ <field name="binding_model_id" ref="sale.model_sale_order"/>
+ <field name="binding_view_types">form</field>
+ <field name="state">code</field>
+ <field name="code">action = records.action_share()</field>
+ </record>
+
+ <!-- set default order confirmation template -->
+ <record id="default_confirmation_template" model="ir.config_parameter">
+ <field name="key">sale.default_confirmation_template</field>
+ <field name="value" ref="sale.mail_template_sale_confirmation"/>
+ </record>
+
+ <function model="ir.default" name="set" eval="('product.template', 'invoice_policy', 'delivery')"/>
+ </data>
+</odoo>
diff --git a/addons/sale/data/sale_demo.xml b/addons/sale/data/sale_demo.xml
new file mode 100644
index 00000000..695736aa
--- /dev/null
+++ b/addons/sale/data/sale_demo.xml
@@ -0,0 +1,946 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <data noupdate="1">
+
+ <!-- We want to activate pay and sign by default for easier demoing. -->
+ <record id="base.main_company" model="res.company">
+ <field name="portal_confirmation_pay" eval="True"/>
+ </record>
+
+ <record id="base.user_demo" model="res.users">
+ <field eval="[(4, ref('sales_team.group_sale_salesman'))]" name="groups_id"/>
+ </record>
+
+ <record model="crm.team" id="sales_team.team_sales_department">
+ <field name="use_quotations" eval="True"/>
+ <field name="invoiced_target">250000</field>
+ </record>
+
+ <record model="crm.team" id="sales_team.crm_team_1">
+ <field name="use_quotations" eval="True"/>
+ <field name="invoiced_target">40000</field>
+ </record>
+
+ <record id="utm_source_sale_order_0" model="utm.source">
+ <field name="name">Sale Promotion 1</field>
+ </record>
+
+ <record id="sale_order_1" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_2"/>
+ <field name="partner_invoice_id" ref="base.res_partner_2"/>
+ <field name="partner_shipping_id" ref="base.res_partner_2"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.team_sales_department"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(DateTime.today() - relativedelta(months=1)).strftime('%Y-%m-%d %H:%M')"/>
+ </record>
+
+ <record id="sale_order_line_1" model="sale.order.line">
+ <field name="order_id" ref="sale_order_1"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_25').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_25"/>
+ <field name="product_uom_qty">3</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">2950.00</field>
+ </record>
+
+ <record id="sale_order_line_2" model="sale.order.line">
+ <field name="order_id" ref="sale_order_1"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_delivery_02').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_delivery_02"/>
+ <field name="product_uom_qty">5</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">145.00</field>
+ </record>
+
+ <record id="sale_order_line_3" model="sale.order.line">
+ <field name="order_id" ref="sale_order_1"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_delivery_01').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_delivery_01"/>
+ <field name="product_uom_qty">2</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">65.00</field>
+ </record>
+
+ <record id="sale_order_2" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_4"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_13"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_13"/>
+ <field name="user_id" ref="base.user_admin"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.team_sales_department"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(DateTime.today() - relativedelta(months=1)).strftime('%Y-%m-%d %H:%M')"/>
+ <field name="tag_ids" eval="[(4, ref('sales_team.categ_oppor7'))]"/>
+ </record>
+
+ <record id="sale_order_line_4" model="sale.order.line">
+ <field name="order_id" ref="sale_order_2"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_1').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_1"/>
+ <field name="product_uom_qty">24</field>
+ <field name="product_uom" ref="uom.product_uom_hour"/>
+ <field name="price_unit">75.00</field>
+ </record>
+
+ <record id="sale_order_line_5" model="sale.order.line">
+ <field name="order_id" ref="sale_order_2"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_2').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_2"/>
+ <field name="product_uom_qty">30</field>
+ <field name="product_uom" ref="uom.product_uom_hour"/>
+ <field name="price_unit">38.25</field>
+ </record>
+
+ <record id="sale_order_3" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_4"/>
+ <field name="partner_invoice_id" ref="base.res_partner_4"/>
+ <field name="partner_shipping_id" ref="base.res_partner_4"/>
+ <field name="user_id" ref="base.user_admin"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.team_sales_department"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="tag_ids" eval="[(4, ref('sales_team.categ_oppor1')), (4, ref('sales_team.categ_oppor2'))]"/>
+ </record>
+
+ <record id="sale_order_line_6" model="sale.order.line">
+ <field name="order_id" ref="sale_order_3"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_1').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_1"/>
+ <field name="product_uom_qty">10</field>
+ <field name="product_uom" ref="uom.product_uom_hour"/>
+ <field name="price_unit">30.75</field>
+ </record>
+
+ <record id="sale_order_line_7" model="sale.order.line">
+ <field name="order_id" ref="sale_order_3"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_delivery_01').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_delivery_01"/>
+ <field name="product_uom_qty">1</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">70.00</field>
+ </record>
+
+ <record id="sale_order_4" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_25"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_25"/>
+ <field name="user_id" ref="base.user_admin"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.team_sales_department"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ </record>
+
+ <record id="sale_order_line_8" model="sale.order.line">
+ <field name="order_id" ref="sale_order_4"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_1').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_1"/>
+ <field name="product_uom_qty">16</field>
+ <field name="product_uom" ref="uom.product_uom_hour"/>
+ <field name="price_unit">75.00</field>
+ </record>
+
+ <record id="sale_order_line_9" model="sale.order.line">
+ <field name="order_id" ref="sale_order_4"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_delivery_02').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_delivery_02"/>
+ <field name="product_uom_qty">10</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">45.00</field>
+ </record>
+
+ <record id="sale_order_line_10" model="sale.order.line">
+ <field name="order_id" ref="sale_order_4"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.consu_delivery_02').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.consu_delivery_02"/>
+ <field name="product_uom_qty">3</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">150.00</field>
+ </record>
+
+ <record id="sale_order_line_11" model="sale.order.line">
+ <field name="order_id" ref="sale_order_4"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_delivery_01').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_delivery_01"/>
+ <field name="product_uom_qty">2</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">70.00</field>
+ </record>
+
+ <record id="sale_order_5" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_2"/>
+ <field name="partner_invoice_id" ref="base.res_partner_2"/>
+ <field name="partner_shipping_id" ref="base.res_partner_2"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.crm_team_1"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(DateTime.today() - relativedelta(months=1)).strftime('%Y-%m-%d %H:%M')"/>
+ </record>
+
+ <record id="sale_order_line_12" model="sale.order.line">
+ <field name="order_id" ref="sale_order_5"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_delivery_02').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_delivery_02"/>
+ <field name="product_uom_qty">1</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">405.00</field>
+ </record>
+
+ <record id="sale_order_6" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_18"/>
+ <field name="partner_invoice_id" ref="base.res_partner_18"/>
+ <field name="partner_shipping_id" ref="base.res_partner_18"/>
+ <field name="user_id" ref="base.user_admin"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.crm_team_1"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="tag_ids" eval="[(4, ref('sales_team.categ_oppor6'))]"/>
+ </record>
+
+ <record id="sale_order_line_15" model="sale.order.line">
+ <field name="order_id" ref="sale_order_6"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_4').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_4"/>
+ <field name="product_uom_qty">1</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">750.00</field>
+ </record>
+
+ <record id="sale_order_7" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_11"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_11"/>
+ <field name="user_id" ref="base.user_admin"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.team_sales_department"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="tag_ids" eval="[(4, ref('sales_team.categ_oppor4'))]"/>
+ </record>
+
+ <record id="sale_order_line_16" model="sale.order.line">
+ <field name="order_id" ref="sale_order_7"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_25').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_25"/>
+ <field name="product_uom_qty">5</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">2950.00</field>
+ </record>
+
+ <record id="sale_order_line_17" model="sale.order.line">
+ <field name="order_id" ref="sale_order_7"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.consu_delivery_01').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.consu_delivery_01"/>
+ <field name="product_uom_qty">1</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">173.00</field>
+ </record>
+
+ <record id="sale_order_line_18" model="sale.order.line">
+ <field name="order_id" ref="sale_order_7"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_delivery_02').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_delivery_02"/>
+ <field name="product_uom_qty">1</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">40.00</field>
+ </record>
+
+ <record id="sale_order_line_19" model="sale.order.line">
+ <field name="order_id" ref="sale_order_7"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_delivery_01').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_delivery_01"/>
+ <field name="product_uom_qty">1</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">18.00</field>
+ </record>
+
+ <record id="sale_order_8" model="sale.order">
+ <field name="name">Test/001</field>
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_25"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_25"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.crm_team_1"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ </record>
+
+ <record id="sale_order_line_20" model="sale.order.line">
+ <field name="order_id" ref="sale_order_8"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_27').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_27"/>
+ <field name="product_uom_qty">2</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">3645.00</field>
+ </record>
+
+ <record id="sale_order_line_21" model="sale.order.line">
+ <field name="order_id" ref="sale_order_8"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_12').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_12"/>
+ <field name="product_uom_qty">2</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">12.50</field>
+ </record>
+
+ <!-- additional demo data for pretty graphs in sales dashboard -->
+
+ <record id="sale_order_9" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_25"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_25"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.crm_team_1"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(datetime.now()-relativedelta(days=7)).strftime('%Y-%m-%d %H:%M:%S')"/>
+ </record>
+
+ <record id="sale_order_line_22" model="sale.order.line">
+ <field name="order_id" ref="sale_order_9"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_27').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_27"/>
+ <field name="product_uom_qty">3</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">3245.00</field>
+ </record>
+
+ <record id="sale_order_line_23" model="sale.order.line">
+ <field name="order_id" ref="sale_order_9"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_12').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_12"/>
+ <field name="product_uom_qty">3</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">12.50</field>
+ </record>
+
+ <record id="sale_order_10" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_25"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_25"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.crm_team_1"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(datetime.now()-relativedelta(days=14)).strftime('%Y-%m-%d %H:%M:%S')"/>
+ <field name="tag_ids" eval="[(4, ref('sales_team.categ_oppor3'))]"/>
+ </record>
+
+ <record id="sale_order_line_24" model="sale.order.line">
+ <field name="order_id" ref="sale_order_10"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_25').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_25"/>
+ <field name="product_uom_qty">2</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">2550.00</field>
+ </record>
+
+ <record id="sale_order_line_25" model="sale.order.line">
+ <field name="order_id" ref="sale_order_10"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_12').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_12"/>
+ <field name="product_uom_qty">2</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">12.50</field>
+ </record>
+
+
+ <record id="sale_order_11" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_25"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_25"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.crm_team_1"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(datetime.now()-relativedelta(days=21)).strftime('%Y-%m-%d %H:%M:%S')"/>
+ </record>
+
+ <record id="sale_order_line_26" model="sale.order.line">
+ <field name="order_id" ref="sale_order_11"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_25').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_25"/>
+ <field name="product_uom_qty">3</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">2450.00</field>
+ </record>
+
+ <record id="sale_order_line_27" model="sale.order.line">
+ <field name="order_id" ref="sale_order_11"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_12').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_12"/>
+ <field name="product_uom_qty">3</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">12.50</field>
+ </record>
+
+ <record id="sale_order_12" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_25"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_25"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.crm_team_1"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(datetime.now()-relativedelta(days=28)).strftime('%Y-%m-%d %H:%M:%S')"/>
+ <field name="tag_ids" eval="[(4, ref('sales_team.categ_oppor1'))]"/>
+ </record>
+
+ <record id="sale_order_line_28" model="sale.order.line">
+ <field name="order_id" ref="sale_order_12"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_25').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_25"/>
+ <field name="product_uom_qty">1</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">3150.00</field>
+ </record>
+
+ <record id="sale_order_line_29" model="sale.order.line">
+ <field name="order_id" ref="sale_order_12"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_12').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_12"/>
+ <field name="product_uom_qty">2</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">12.50</field>
+ </record>
+
+ <record id="sale_order_13" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_25"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_25"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.crm_team_1"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(datetime.now()-relativedelta(days=35)).strftime('%Y-%m-%d %H:%M:%S')"/>
+ </record>
+
+ <record id="sale_order_line_30" model="sale.order.line">
+ <field name="order_id" ref="sale_order_13"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_25').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_25"/>
+ <field name="product_uom_qty">1</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">2950.00</field>
+ </record>
+
+ <record id="sale_order_line_31" model="sale.order.line">
+ <field name="order_id" ref="sale_order_13"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_12').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_12"/>
+ <field name="product_uom_qty">1</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">12.50</field>
+ </record>
+
+ <record id="sale_order_14" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_25"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_25"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.team_sales_department"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(datetime.now()-relativedelta(days=7)).strftime('%Y-%m-%d %H:%M:%S')"/>
+ </record>
+
+ <record id="sale_order_line_32" model="sale.order.line">
+ <field name="order_id" ref="sale_order_14"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_25').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_25"/>
+ <field name="product_uom_qty">4</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">2750.00</field>
+ </record>
+
+ <record id="sale_order_line_33" model="sale.order.line">
+ <field name="order_id" ref="sale_order_14"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_12').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_12"/>
+ <field name="product_uom_qty">4</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">12.50</field>
+ </record>
+
+ <record id="sale_order_15" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_25"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_25"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.team_sales_department"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(datetime.now()-relativedelta(days=14)).strftime('%Y-%m-%d %H:%M:%S')"/>
+ </record>
+
+ <record id="sale_order_line_34" model="sale.order.line">
+ <field name="order_id" ref="sale_order_15"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_25').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_25"/>
+ <field name="product_uom_qty">4</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">2950.00</field>
+ </record>
+
+ <record id="sale_order_line_35" model="sale.order.line">
+ <field name="order_id" ref="sale_order_15"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_12').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_12"/>
+ <field name="product_uom_qty">3</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">12.50</field>
+ </record>
+
+ <record id="sale_order_16" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_25"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_25"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.team_sales_department"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(datetime.now()-relativedelta(days=21)).strftime('%Y-%m-%d %H:%M:%S')"/>
+ </record>
+
+ <record id="sale_order_line_36" model="sale.order.line">
+ <field name="order_id" ref="sale_order_16"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_25').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_25"/>
+ <field name="product_uom_qty">3</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">2750.00</field>
+ </record>
+
+ <record id="sale_order_line_37" model="sale.order.line">
+ <field name="order_id" ref="sale_order_16"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_12').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_12"/>
+ <field name="product_uom_qty">3</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">12.50</field>
+ </record>
+
+ <record id="sale_order_17" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_25"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_25"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.team_sales_department"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(datetime.now()-relativedelta(days=28)).strftime('%Y-%m-%d %H:%M:%S')"/>
+ </record>
+
+ <record id="sale_order_line_38" model="sale.order.line">
+ <field name="order_id" ref="sale_order_17"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_25').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_25"/>
+ <field name="product_uom_qty">2</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">3550.00</field>
+ </record>
+
+ <record id="sale_order_line_39" model="sale.order.line">
+ <field name="order_id" ref="sale_order_17"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_12').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_12"/>
+ <field name="product_uom_qty">2</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">12.50</field>
+ </record>
+
+ <record id="sale_order_18" model="sale.order">
+ <field name="partner_id" ref="base.res_partner_3"/>
+ <field name="partner_invoice_id" ref="base.res_partner_address_25"/>
+ <field name="partner_shipping_id" ref="base.res_partner_address_25"/>
+ <field name="user_id" ref="base.user_demo"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.team_sales_department"/>
+ <field name="campaign_id" ref="utm.utm_campaign_email_campaign_products"/>
+ <field name="medium_id" ref="utm.utm_medium_email"/>
+ <field name="source_id" ref="sale.utm_source_sale_order_0"/>
+ <field name="date_order" eval="(datetime.now()-relativedelta(days=35)).strftime('%Y-%m-%d %H:%M:%S')"/>
+ </record>
+
+ <record id="sale_order_line_40" model="sale.order.line">
+ <field name="order_id" ref="sale_order_18"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_25').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_25"/>
+ <field name="product_uom_qty">2</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">2950.00</field>
+ </record>
+
+ <record id="sale_order_line_41" model="sale.order.line">
+ <field name="order_id" ref="sale_order_18"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_12').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_12"/>
+ <field name="product_uom_qty">2</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">12.50</field>
+ </record>
+
+ <!-- Confirm some Sales Orders-->
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_4')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_6')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_7')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_8')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_9')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_10')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_11')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_12')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_13')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_14')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_15')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_16')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_17')]]"/>
+ <function model="sale.order" name="action_confirm" eval="[[ref('sale_order_18')]]"/>
+
+ <!-- Setting date_order in the past for beautiful spread -->
+ <record id="sale_order_9" model="sale.order">
+ <field name="date_order" eval="datetime.now() - relativedelta(days=7)"/>
+ </record>
+
+ <record id="sale_order_11" model="sale.order">
+ <field name="date_order" eval="datetime.now() - relativedelta(days=21)"/>
+ </record>
+
+ <record id="sale_order_15" model="sale.order">
+ <field name="date_order" eval="datetime.now() - relativedelta(days=14)"/>
+ </record>
+
+ <record id="sale_order_17" model="sale.order">
+ <field name="date_order" eval="datetime.now() - relativedelta(days=28)"/>
+ </record>
+
+ <record id="sale_order_18" model="sale.order">
+ <field name="date_order" eval="datetime.now() - relativedelta(days=35)"/>
+ </record>
+
+ <record id="message_sale_1" model="mail.message">
+ <field name="model">sale.order</field>
+ <field name="res_id" ref="sale_order_2"/>
+ <field name="body">Hi,
+I have a question regarding services pricing: I heard of a possible discount for quantities exceeding 25 hours.
+Could you confirm, please?</field>
+ <field name="message_type">comment</field>
+ <field name="author_id" ref="base.partner_demo"/>
+ </record>
+
+ <record id="message_sale_2" model="mail.message">
+ <field name="model">sale.order</field>
+ <field name="res_id" ref="sale_order_2"/>
+ <field name="parent_id" ref="message_sale_1"/>
+ <field name="body">Hello,
+Unfortunately that was a temporary discount that is not available anymore.
+Do you still plan to confirm the order based on the quoted prices?
+Thanks!</field>
+ <field name="message_type">comment</field>
+ <field name="author_id" ref="base.partner_root"/>
+ </record>
+
+ <record id="message_sale_3" model="mail.message">
+ <field name="model">sale.order</field>
+ <field name="res_id" ref="sale_order_2"/>
+ <field name="parent_id" ref="message_sale_2"/>
+ <field name="body">Alright, thanks for the clarification. I will confirm the order as soon as I get my manager's approval.</field>
+ <field name="message_type">comment</field>
+ <field name="author_id" ref="base.partner_demo"/>
+ </record>
+ <!-- sale advance demo.. -->
+ <!-- Demo Data for Product -->
+
+ <record id="advance_product_0" model="product.product">
+ <field name="name">Deposit</field>
+ <field name="categ_id" ref="product.product_category_3"/>
+ <field name="type">service</field>
+ <field name="list_price">150.0</field>
+ <field name="invoice_policy">order</field>
+ <field name="standard_price">100.0</field>
+ <field name="uom_id" ref="uom.product_uom_unit"/>
+ <field name="uom_po_id" ref="uom.product_uom_unit"/>
+ <field name="company_id" eval="[]"/>
+ <field name="image_1920" type="base64" file="sale/static/img/advance_product_0-image.jpg"/>
+ <field name="taxes_id" eval="[]"/>
+ <field name="supplier_taxes_id" eval="[]"/>
+ </record>
+
+ <record id="base.user_demo" model="res.users">
+ <field eval="[(4, ref('sales_team.group_sale_salesman'))]" name="groups_id"/>
+ </record>
+
+ <!-- records coming from website_portal_sale, now dead module -->
+ <record id="portal_sale_order_1" model="sale.order">
+ <field name="partner_id" ref="base.partner_demo_portal"/>
+ <field name="partner_invoice_id" ref="base.partner_demo_portal"/>
+ <field name="partner_shipping_id" ref="base.partner_demo_portal"/>
+ <field name="user_id" ref="base.user_admin"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="state">sent</field>
+ <field name="team_id" ref="sales_team.team_sales_department"/>
+ <field name="date_order" eval="(DateTime.today() - relativedelta(months=1)).strftime('%Y-%m-%d %H:%M')"/>
+ <field name="message_partner_ids" eval="[(4, ref('base.partner_demo_portal'))]"/>
+ <field name="tag_ids" eval="[(4, ref('sales_team.categ_oppor4'))]"/>
+ </record>
+
+ <record id="portal_sale_order_line_1" model="sale.order.line">
+ <field name="order_id" ref="portal_sale_order_1"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_25').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_25"/>
+ <field name="product_uom_qty">3</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">2950.00</field>
+ </record>
+
+ <record id="portal_sale_order_line_2" model="sale.order.line">
+ <field name="order_id" ref="portal_sale_order_1"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_delivery_02').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_delivery_02"/>
+ <field name="product_uom_qty">5</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">145.00</field>
+ </record>
+
+ <record id="portal_sale_order_line_3" model="sale.order.line">
+ <field name="order_id" ref="portal_sale_order_1"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_delivery_01').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_delivery_01"/>
+ <field name="product_uom_qty">2</field>
+ <field name="product_uom" ref="uom.product_uom_unit"/>
+ <field name="price_unit">65.00</field>
+ </record>
+
+ <record id="portal_sale_order_2" model="sale.order">
+ <field name="partner_id" ref="base.partner_demo_portal"/>
+ <field name="partner_invoice_id" ref="base.partner_demo_portal"/>
+ <field name="partner_shipping_id" ref="base.partner_demo_portal"/>
+ <field name="user_id" ref="base.user_admin"/>
+ <field name="pricelist_id" ref="product.list0"/>
+ <field name="team_id" ref="sales_team.team_sales_department"/>
+ <field name="date_order" eval="(DateTime.today() - relativedelta(months=1)).strftime('%Y-%m-%d %H:%M')"/>
+ <field name="message_partner_ids" eval="[(4, ref('base.partner_demo_portal'))]"/>
+ </record>
+
+ <record id="portal_sale_order_line_4" model="sale.order.line">
+ <field name="order_id" ref="portal_sale_order_2"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_1').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_1"/>
+ <field name="product_uom_qty">24</field>
+ <field name="product_uom" ref="uom.product_uom_hour"/>
+ <field name="price_unit">75.00</field>
+ </record>
+
+ <record id="portal_sale_order_line_5" model="sale.order.line">
+ <field name="order_id" ref="portal_sale_order_2"/>
+ <field name="name" model="sale.order.line" eval="obj().env.ref('product.product_product_2').get_product_multiline_description_sale()"/>
+ <field name="product_id" ref="product.product_product_2"/>
+ <field name="product_uom_qty">30</field>
+ <field name="product_uom" ref="uom.product_uom_hour"/>
+ <field name="price_unit">38.25</field>
+ </record>
+
+ <record id="product.product_attribute_2" model="product.attribute">
+ <field name="display_type">color</field>
+ </record>
+ <record id="product.product_attribute_3" model="product.attribute">
+ <field name="display_type">select</field>
+ </record>
+
+ <record id="product.product_attribute_value_3" model="product.attribute.value">
+ <field name="html_color">#FFFFFF</field>
+ </record>
+ <record id="product.product_attribute_value_4" model="product.attribute.value">
+ <field name="html_color">#000000</field>
+ </record>
+
+ <!-- Confirm some Sales Orders-->
+ <function model="sale.order" name="action_confirm" eval="[[ref('portal_sale_order_2')]]"/>
+
+ <record id="portal_sale_order_2" model="sale.order">
+ <field name="date_order" eval="datetime.now() - relativedelta(months=1)"/>
+ </record>
+
+ <record id="product_attribute_value_7" model="product.attribute.value">
+ <field name="name">Custom</field>
+ <field name="attribute_id" ref="product.product_attribute_1"/>
+ <field name="is_custom">True</field>
+ <field name="sequence">3</field>
+ </record>
+
+ <record id="product.product_4_attribute_1_product_template_attribute_line" model="product.template.attribute.line">
+ <field name="value_ids" eval="[(4,ref('product_attribute_value_7'))]"/>
+ </record>
+
+ <!--
+ Handle automatically created product.template.attribute.value.
+ Check "product.product_4_attribute_1_value_2" for more information about this
+ -->
+ <function model="ir.model.data" name="_update_xmlids">
+ <value model="base" eval="[{
+ 'xml_id': 'sale.product_4_attribute_1_value_3',
+ 'record': obj().env.ref('product.product_4_attribute_1_product_template_attribute_line').product_template_value_ids[2],
+ 'noupdate': True,
+ }]"/>
+ </function>
+
+ <function model="ir.model.data" name="_update_xmlids">
+ <value model="base" eval="[{
+ 'xml_id': 'sale.product_product_4e',
+ 'record': obj().env.ref('product.product_product_4_product_template')._get_variant_for_combination(obj().env.ref('sale.product_4_attribute_1_value_3') + obj().env.ref('product.product_4_attribute_2_value_1')),
+ 'noupdate': True,
+ }, {
+ 'xml_id': 'sale.product_product_4f',
+ 'record': obj().env.ref('product.product_product_4_product_template')._get_variant_for_combination(obj().env.ref('sale.product_4_attribute_1_value_3') + obj().env.ref('product.product_4_attribute_2_value_2')),
+ 'noupdate': True,
+ },]"/>
+ </function>
+
+ <record id="product_product_4e" model="product.product">
+ <field name="default_code">DESK0005</field>
+ <field name="weight">0.01</field>
+ </record>
+
+ <record id="product_product_4f" model="product.product">
+ <field name="default_code">DESK0006</field>
+ <field name="weight">0.01</field>
+ </record>
+
+ <record id="product_template_attribute_exclusion_1" model="product.template.attribute.exclusion">
+ <field name="product_tmpl_id" ref="product.product_product_4_product_template" />
+ <field name="value_ids" eval="[(6,0,[ref('product.product_4_attribute_2_value_2')])]"/>
+ </record>
+
+ <record id="product_template_attribute_exclusion_2" model="product.template.attribute.exclusion">
+ <field name="product_tmpl_id" ref="product.product_product_11_product_template" />
+ <field name="value_ids" eval="[(6,0,[ref('product.product_11_attribute_1_value_1')])]"/>
+ </record>
+
+ <!--
+ The "Customizable Desk's Aluminium" attribute value will excude:
+ - The "Customizable Desk's Black" attribute
+ - The "Office Chair's Steel" attribute
+ -->
+ <record id="product.product_4_attribute_1_value_2" model="product.template.attribute.value">
+ <field name="exclude_for" eval="[(6,0,[ref('sale.product_template_attribute_exclusion_1') ,ref('sale.product_template_attribute_exclusion_2')])]" />
+ </record>
+
+ <record id="product_template_attribute_exclusion_3" model="product.template.attribute.exclusion">
+ <field name="product_tmpl_id" ref="product.product_product_11_product_template" />
+ <field name="value_ids" eval="[(6,0,[ref('product.product_11_attribute_1_value_2')])]"/>
+ </record>
+
+ <!--
+ The "Customizable Desk's Steel" attribute value will excude:
+ - The "Office Chair's Aluminium" attribute
+ -->
+ <record id="product.product_4_attribute_1_value_1" model="product.template.attribute.value">
+ <field name="exclude_for" eval="[(6,0,[ref('sale.product_template_attribute_exclusion_3')])]" />
+ </record>
+
+ <!-- Activities of sales order -->
+ <record id="sale_activity_2" model="mail.activity">
+ <field name="res_id" ref="sale.sale_order_3"/>
+ <field name="res_model_id" ref="sale.model_sale_order"/>
+ <field name="activity_type_id" ref="mail.mail_activity_data_email"/>
+ <field name="date_deadline" eval="DateTime.today().strftime('%Y-%m-%d %H:%M')"/>
+ <field name="summary">Answer questions</field>
+ <field name="create_uid" ref="base.user_admin"/>
+ <field name="user_id" ref="base.user_admin"/>
+ </record>
+ <record id="sale_activity_3" model="mail.activity">
+ <field name="res_id" ref="sale.sale_order_4"/>
+ <field name="res_model_id" ref="sale.model_sale_order"/>
+ <field name="activity_type_id" ref="sale.mail_act_sale_upsell"/>
+ <field name="date_deadline" eval="(DateTime.today() + relativedelta(days=5)).strftime('%Y-%m-%d %H:%M')"/>
+ <field name="create_uid" ref="base.user_admin"/>
+ <field name="user_id" ref="base.user_admin"/>
+ </record>
+ <record id="sale_activity_4" model="mail.activity">
+ <field name="res_id" ref="sale.sale_order_5"/>
+ <field name="res_model_id" ref="sale.model_sale_order"/>
+ <field name="activity_type_id" ref="mail.mail_activity_data_email"/>
+ <field name="date_deadline" eval="DateTime.today().strftime('%Y-%m-%d %H:%M')"/>
+ <field name="create_uid" ref="base.user_demo"/>
+ <field name="user_id" ref="base.user_demo"/>
+ </record>
+ <record id="sale_activity_6" model="mail.activity">
+ <field name="res_id" ref="sale.sale_order_7"/>
+ <field name="res_model_id" ref="sale.model_sale_order"/>
+ <field name="activity_type_id" ref="mail.mail_activity_data_todo"/>
+ <field name="date_deadline" eval="(DateTime.today() + relativedelta(days=5)).strftime('%Y-%m-%d %H:%M')"/>
+ <field name="summary">Check delivery requirements</field>
+ <field name="create_uid" ref="base.user_admin"/>
+ <field name="user_id" ref="base.user_admin"/>
+ </record>
+ <record id="sale_activity_7" model="mail.activity">
+ <field name="res_id" ref="sale.sale_order_10"/>
+ <field name="res_model_id" ref="sale.model_sale_order"/>
+ <field name="activity_type_id" ref="mail.mail_activity_data_todo"/>
+ <field name="date_deadline" eval="(DateTime.today() + relativedelta(days=5)).strftime('%Y-%m-%d %H:%M')"/>
+ <field name="summary">Confirm Delivery</field>
+ <field name="create_uid" ref="base.user_demo"/>
+ <field name="user_id" ref="base.user_demo"/>
+ </record>
+ <record id="sale_activity_8" model="mail.activity">
+ <field name="res_id" ref="sale.sale_order_12"/>
+ <field name="res_model_id" ref="sale.model_sale_order"/>
+ <field name="activity_type_id" ref="mail.mail_activity_data_email"/>
+ <field name="date_deadline" eval="(DateTime.today() + relativedelta(days=5)).strftime('%Y-%m-%d %H:%M')"/>
+ <field name="create_uid" ref="base.user_demo"/>
+ <field name="user_id" ref="base.user_demo"/>
+ </record>
+ <record id="sale_activity_9" model="mail.activity">
+ <field name="res_id" ref="sale.sale_order_16"/>
+ <field name="res_model_id" ref="sale.model_sale_order"/>
+ <field name="activity_type_id" ref="sale.mail_act_sale_upsell"/>
+ <field name="date_deadline" eval="DateTime.today().strftime('%Y-%m-%d %H:%M')"/>
+ <field name="create_uid" ref="base.user_demo"/>
+ <field name="user_id" ref="base.user_demo"/>
+ </record>
+ <record id="sale_activity_10" model="mail.activity">
+ <field name="res_id" ref="sale.portal_sale_order_1"/>
+ <field name="res_model_id" ref="sale.model_sale_order"/>
+ <field name="activity_type_id" ref="mail.mail_activity_data_todo"/>
+ <field name="date_deadline" eval="(DateTime.today() + relativedelta(days=5)).strftime('%Y-%m-%d %H:%M')"/>
+ <field name="summary">Get quote confirmation</field>
+ <field name="create_uid" ref="base.user_admin"/>
+ <field name="user_id" ref="base.user_admin"/>
+ </record>
+
+ </data>
+</odoo>