<commit_before><?xml version="1.0"?>
<openerp>
    <data>

        <!-- Top menu item -->
        <menuitem name="Point of Sale"
            id="menu_point_root"
            groups="group_pos_manager,group_pos_user"
            sequence="140"/>

        <record id="categ_others" model="pos.category">
            <field name="name">Others</field>
        </record>

        <record model="ir.ui.view" id="view_pos_pos_form">
            <field name="name">pos.order</field>
            <field name="model">pos.order</field>
            <field name="arch" type="xml">
                <form string="Point of Sale Orders" version="7.0">
                    <header>
                        <button name="%(action_pos_payment)d" string="Payment" class="oe_highlight" type="action" states="draft" context="{'pos_session_id' : session_id}"/>
                        <button name="action_invoice" string="Invoice" type="object" states="paid" attrs="{'readonly': [('partner_id','=',False)]}"/>
                        <button name="refund" string="Return Products" type="object" 
                            attrs="{'invisible':[('state','=','draft')]}"/>
                        <button name="%(action_report_pos_receipt)d" string="Reprint" type="action" states="paid,done,invoiced"/>
                        <field name="state" widget="statusbar" statusbar_visible="draft,paid,done" statusbar_colors='{"cancel":"red"}'/>
                    </header>
                    <sheet>
                    <group col="4" colspan="4">
                        <field name="name"/>
                        <field name="date_order"/>
                        <field name="session_id" required="1"/>
                        <field name="partner_id" on_change="onchange_partner_id(partner_id)" context="{'search_default_customer':1}" attrs="{'readonly': [('state','=','invoiced')]}"/>
                    </group>
                    <notebook colspan="4">
                        <page string="Products">
                            <field name="lines" colspan="4" nolabel="1">
                                <tree string="Order lines" editable="bottom">
                                    <field name="product_id" on_change="onchange_product_id(parent.pricelist_id,product_id,qty,parent.partner_id)"/>
                                    <field name="qty" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
                                    <field name="price_unit" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
                                    <field name="discount"  on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
                                    <field name="price_subtotal"/>
                                    <field name="price_subtotal_incl"/>
                                </tree>
                                <form string="Order lines" version="7.0">
                                    <group col="4">
                                        <field name="product_id" on_change="onchange_product_id(parent.pricelist_id,product_id,qty,parent.partner_id)"/>
                                        <field name="qty" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
                                        <field name="discount"  on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
                                        <field name="price_unit" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
                                        <field name="price_subtotal" invisible="1"/>
                                        <field name="price_subtotal_incl" invisible="1"/>
                                        <field name="notice"/>
                                    </group>
                                </form>
                            </field>
                            <group class="oe_subtotal_footer oe_right" colspan="2" name="order_total">
                                <field name="amount_tax"/>
                                <div class="oe_subtotal_footer_separator oe_inline">
                                    <label for="amount_total" />
                                    <button name="button_dummy"
                                        states="draft" string="(update)" type="object" class="oe_edit_only oe_link"/>
                                </div>
                                <field name="amount_total" nolabel="1" class="oe_subtotal_footer_separator"/>
                            </group>
                        </page>
                        <page string="Payments">
                            <field name="statement_ids" colspan="4" nolabel="1">
                                <tree editable="bottom" string="Statement lines">
                                    <field name="journal_id"/>
                                    <field name="statement_id"/>
                                    <field name="amount"/>
                                </tree>
                                <form string="Statement lines" version="7.0">
                                    <group col="4">
                                        <field name="account_id"/>
                                        <field name="amount"/>
                                        <field name="statement_id" domain="[('company_id','=',parent.company_id),('state','=','open')]"/>
                                    </group>
                                </form>
                            </field>
                        </page>
                        <page string="Extra Info">
                            <group string="General Information">
                                <field name="company_id" groups="base.group_multi_company"/>
                                <field name="shop_id" widget="selection"/>
                                <field name="user_id"/>
                                <field name="pricelist_id" groups="product.group_sale_pricelist" domain="[('type','=','sale')]"/>
                                <field name="picking_id" readonly="1"/>
                                <field name="pos_reference"/>
                            </group>
                            <group string="Accounting Information">
                                <field name="sale_journal" domain="[('type','=','sale')]"/>
                                <field name="invoice_id" readonly="1"
                                    attrs="{'invisible':[('state','&lt;&gt;','invoiced')]}"/>
                                <button name="%(pos_invoice_report)d" string="Re-Print"
                                    icon="gtk-print" type="action" attrs="{'invisible':[('state','&lt;&gt;','invoiced')]}"/>
                                <field name="account_move" readonly="1"
                                    attrs="{'invisible':[('state','&lt;&gt;','done')]}"/>
                            </group>
                        </page>
                        <page string="Notes" >
                            <field name="note"/>
                        </page>
                    </notebook>
                </sheet>
                </form>
            </field>
        </record>
        <record model="ir.actions.act_window" id="action_pos_pos_form">
            <field name="name">Orders</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.order</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="view_id" eval="False"/>
            <field name="domain">[]</field>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                Click to create a new order.
              </p><p>
                Use this menu to browse your preceeding orders. To record new
                orders, you should better use the menu <i>Your Session</i> for
                the touchscreen interface.
              </p>
            </field>
        </record>
        <record model="ir.ui.view" id="view_pos_order_tree">
            <field name="name">Orders</field>
            <field name="model">pos.order</field>
            <field name="arch" type="xml">
                <tree string="POS Orders" colors="blue:state == 'draft';gray:state in ('done','cancel');black:state not in('done','cancel')">
                    <field name="name"/>
                    <field name="pos_reference"/>
                    <field name="partner_id"/>
                    <field name="date_order"/>
                    <field name="user_id"/>
                    <field name="invoice_id"/>
                    <field name="amount_total" sum="Amount total"/>
                    <field name="company_id" groups="base.group_multi_company"/>
                    <field name="state"/>
                    <field name="session_id" />
                </tree>
            </field>
        </record>
        <record id="view_pos_order_filter" model="ir.ui.view">
            <field name="name">pos.order.list.select</field>
            <field name="model">pos.order</field>
            <field name="arch" type="xml">
                <search string="Search Sales Order">
                    <field name="name" string="Sales Order"/>
                    <field name="date_order"/>
                    <field name="pos_reference"/>
                    <filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/>
                    <filter icon="gtk-apply" string="Done" domain="[('state','in',('paid','invoiced','done'))]"/>
                    <filter icon="terp-check" string="Invoiced" domain="[('state','=','invoiced')]"/>
                    <filter icon="gtk-convert" string="Posted" domain="[('state','=','done')]"/>
                    <field name="user_id"/>
                    <group expand="0" string="Group By...">
                        <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
                        <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
                        <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
                        <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
                    </group>
                </search>
            </field>
        </record>

        <menuitem name="Daily Operations" id="menu_point_of_sale" parent="menu_point_root" sequence="10"/>
        <menuitem parent="menu_point_of_sale" id="menu_point_ofsale" action="action_pos_pos_form" sequence="2" groups="group_pos_manager,group_pos_user"/>
        <menuitem name="Products" id="menu_point_of_sale_product" parent="menu_point_root" sequence="15" />

        <record id="product_normal_action" model="ir.actions.act_window">
            <field name="name">Products</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">product.product</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form,kanban</field>
            <field name="context" eval="{'default_pos_categ_id': ref('point_of_sale.categ_others')}"/>
            <field name="domain" eval="[('pos_categ_id','&lt;&gt;',False)]"/>
            <field name="view_id" ref="product.product_product_tree_view"/>
            <field name="search_view_id" ref="product.product_search_form_view"/>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                Click to add a new product.
              </p><p>
                You must define a product for everything you sell through
                the point of sale interface.
              </p><p>
                Do not forget to set the price and the point of sale category
                in which it should appear. If a product has no point of sale
                category, you can not sell it through the point of sale
                interface.
              </p>
            </field>
        </record>
        <menuitem
            action="product_normal_action"
            id="menu_pos_products"
            parent="menu_point_of_sale_product" sequence="2"/>

        <record model="ir.ui.view" id="view_pos_order_line">
            <field name="name">Sale lines</field>
            <field name="model">pos.order.line</field>
            <field name="arch" type="xml">
                <tree string="POS Order lines">
                    <field name="product_id" readonly="1"/>
                    <field name="qty" readonly="1" sum="Total qty"/>
                    <field name="discount" readonly="1"/>
                    <field name="price_unit" readonly="1"/>
                    <field name="price_subtotal" readonly="1" sum="Sum of subtotals"/>
                    <field name="price_subtotal_incl" readonly="1" sum="Sum of subtotals"/>
                    <field name="create_date" readonly="1"/>
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_pos_order_line_form">
            <field name="name">Sale line</field>
            <field name="model">pos.order.line</field>
            <field name="arch" type="xml">
                <form string="POS Order line" version="7.0">
                    <group col="4">
                        <field name="product_id" />
                        <field name="qty" />
                        <field name="discount" />
                        <field name="price_unit" />
                        <field name="create_date" />
                    </group>
                </form>
            </field>
        </record>

        <record model="ir.actions.act_window" id="action_pos_order_line">
            <field name="name">Sale line</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.order.line</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree</field>
            <field name="view_id" ref="view_pos_order_line"/>
        </record>

        <record model="ir.actions.act_window" id="action_pos_order_line_form">
            <field name="name">Sale line</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.order.line</field>
            <field name="view_type">form</field>
            <field name="view_mode">form,tree</field>
            <field name="view_id" ref="view_pos_order_line_form"/>
        </record>

        <record model="ir.actions.act_window" id="action_pos_order_line_day">
            <field name="name">Sale line</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.order.line</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree</field>
            <field name="view_id" ref="view_pos_order_line"/>
            <field name="domain">[('create_date', '&gt;=', time.strftime('%Y-%m-%d 00:00:00')),('create_date', '&lt;=', time.strftime('%Y-%m-%d 23:59:59'))]</field>
        </record>



        <!-- report -->

        <record model="ir.ui.view" id="view_pos_trans_user_form">
            <field name="name">report.trans.pos.user.form</field>
            <field name="model">report.transaction.pos</field>
            <field name="arch" type="xml">
                <form string="POS " version="7.0">
                    <group col="4">
                        <field name="user_id"/>
                        <field name="journal_id"/>
                        <field name="jl_id"/>
                        <field name="date_create" widget="date"/>
                        <field name="no_trans"/>
                        <field name="amount"/>
                        <field name="invoice_id"/>
                    </group>
                </form>
            </field>
        </record>


        <record model="ir.ui.view" id="view_trans_pos_user_tree">
            <field name="name">Sales by user</field>
            <field name="model">report.transaction.pos</field>
            <field name="arch" type="xml">
                <tree string="POS">
                    <field name="date_create" widget="date" />
                    <field name="user_id"/>
                    <field name="journal_id"/>
                    <field name="jl_id"/>
                    <field name="no_trans" sum="Total Transaction"/>
                    <field name="amount" sum="Amount total"/>
                    <field name="product_nb" />
                    <field name="invoice_id"/>
                    <field name="disc"/>
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_report_transaction_pos_calendar">
            <field name="name">report.transaction.pos.calendar</field>
            <field name="model">report.transaction.pos</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <calendar color="user_id" date_start="date_create" string="POS Report">
                    <field name="journal_id"/>
                    <field name="amount"/>
                </calendar>
            </field>
         </record>

         <record model="ir.ui.view" id="view_report_transaction_pos_graph">
            <field name="name">report.transaction.pos.graph</field>
            <field name="model">report.transaction.pos</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <graph  type="bar" string="POS Report">
                    <field name="user_id" />
                    <field name="amount"/>
                    <field group="True" name="journal_id"/>
                </graph>
            </field>
         </record>

        <record model="ir.actions.act_window" id="action_trans_pos_tree_today">
            <field name="name">Sales by day</field>
            <field name="res_model">report.transaction.pos</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="domain">[('date_create','=',time.strftime('%Y-%m-%d'))]</field>
        </record>


        <record model="ir.actions.act_window" id="action_trans_pos_tree_month">
            <field name="name">Sales by month</field>
            <field name="res_model">report.transaction.pos</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="domain">[('date_create','like',time.strftime('%Y-%m'))]</field>
        </record>


        <record model="ir.actions.act_window" id="action_trans_pos_tree">
            <field name="name">Sales by user</field>
            <field name="res_model">report.transaction.pos</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="view_id" ref="view_trans_pos_user_tree"/>
        </record>


        <record model="ir.ui.view" id="view_report_sales_by_user_pos_form">
            <field name="name">report.sales.by.user.pos.form</field>
            <field name="model">report.sales.by.user.pos</field>
            <field name="arch" type="xml">
                <form string="POS " version="7.0">
                    <group col="4">
                        <field name="date_order" widget="date"/>
                        <field name="qty"/>
                        <field name="amount"/>
                        <field name="user_id"/>
                    </group>
                </form>
            </field>
        </record>


        <record model="ir.ui.view" id="view_report_sales_by_user_pos_tree">
            <field name="name">report.sales.by.user.pos.tree</field>
            <field name="model">report.sales.by.user.pos</field>
            <field name="arch" type="xml">
                <tree string="POS">
                    <field name="date_order" widget="date"/>
                    <field name="qty"/>
                    <field name="amount"/>
                    <field name="user_id"/>
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_report_sales_by_user_pos_calendar">
            <field name="name">report.sales.by.user.pos.calendar</field>
            <field name="model">report.sales.by.user.pos</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <calendar color="user_id" date_start="date_order" string="POS Report">
                    <field name="qty"/>
                    <field name="amount" />
                </calendar>
            </field>
         </record>

        <record model="ir.ui.view" id="view_report_sales_by_user_pos_graph">
            <field name="name">report.sales.by.user.pos.graph</field>
            <field name="model">report.sales.by.user.pos</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <graph  type="bar" string="Sales by User">
                    <field name="user_id" />
                    <field name="amount"/>
                </graph>
            </field>
         </record>

         <record model="ir.actions.act_window" id="action_report_sales_by_user_pos_today">
            <field name="name">Sales by User</field>
            <field name="res_model">report.sales.by.user.pos</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="domain">[('date_order','=',time.strftime('%Y-%m-%d'))]</field>
         </record>


        <!-- Sales of user by month -->

        <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_form">
            <field name="name">report.sales.by.user.pos.month.form</field>
            <field name="model">report.sales.by.user.pos.month</field>
            <field name="arch" type="xml">
                <form string="POS " version="7.0">
                    <group col="4">
                        <field name="date_order" widget="date"/>
                        <field name="qty"/>
                        <field name="amount"/>
                        <field name="user_id"/>
                    </group>
                </form>
            </field>
        </record>


        <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_tree">
            <field name="name">report.sales.by.user.pos.month.tree</field>
            <field name="model">report.sales.by.user.pos.month</field>
            <field name="arch" type="xml">
                <tree string="POS">
                    <field name="date_order" widget="date"/>
                    <field name="qty"/>
                    <field name="amount"/>
                    <field name="user_id"/>
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_calendar">
            <field name="name">report.sales.by.user.pos.month.calendar</field>
            <field name="model">report.sales.by.user.pos.month</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <calendar color="user_id" date_start="date_order" string="POS Report">
                    <field name="qty"/>
                    <field name="amount" />
                </calendar>
            </field>
         </record>

        <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_graph">
            <field name="name">report.sales.by.user.pos.month.graph</field>
            <field name="model">report.sales.by.user.pos.month</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <graph  type="bar" string="Sales by User">
                    <field name="user_id" />
                    <field name="amount"/>
                </graph>
            </field>
         </record>


         <record model="ir.actions.act_window" id="action_report_sales_by_user_pos_month">
            <field name="name">Sales by User Monthly</field>
            <field name="res_model">report.sales.by.user.pos.month</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="domain">[('date_order','like',time.strftime('%Y-%m'))]</field>
        </record>

        <!-- Sales by margin -->

        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_form">
            <field name="name">report.sales.by.margin.pos.form</field>
            <field name="model">report.sales.by.margin.pos</field>
            <field name="arch" type="xml">
                <form string="POS " version="7.0">
                    <group col="4">
                        <field name="user_id"/>
                        <field name="product_name"/>
                        <field name="date_order" widget="date"/>
                        <field name="qty"/>
                        <field name="net_margin_per_qty"/>
                        <field name="total"/>
                    </group>
                </form>
            </field>
        </record>


        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_tree">
            <field name="name">report.sales.by.margin.pos.tree</field>
            <field name="model">report.sales.by.margin.pos</field>
            <field name="arch" type="xml">
                <tree string="POS">
                    <field name="user_id"/>
                    <field name="product_name"/>
                    <field name="date_order" widget="date"/>
                    <field name="qty"/>
                    <field name="net_margin_per_qty"/>
                    <field name="total"/>
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_calendar">
            <field name="name">report.sales.by.margin.pos.calendar</field>
            <field name="model">report.sales.by.margin.pos</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <calendar color="user_id" date_start="date_order" string="Sales by User Margin">
                    <field name="product_name"/>
                    <field name="total" />
                </calendar>
            </field>
         </record>

        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_graph">
            <field name="name">report.sales.by.margin.pos.graph</field>
            <field name="model">report.sales.by.margin.pos</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <graph  type="bar" string="Sales by User Margin" orientation="horizontal">
                    <field name="product_name" />
                    <field name="total" operator="+"/>
                </graph>
            </field>
         </record>

        <record model="ir.actions.act_window" id="action_report_sales_by_margin_pos_today">
            <field name="name">Sales by User Daily margin</field>
            <field name="res_model">report.sales.by.margin.pos</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="domain">[('date_order','=',time.strftime('%Y-%m-%d'))]</field>
         </record>

         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_form">
            <field name="name">report.sales.by.margin.pos.month.form</field>
            <field name="model">report.sales.by.margin.pos.month</field>
            <field name="arch" type="xml">
                <form string="POS " version="7.0">
                    <group col="4">
                        <field name="user_id"/>
                        <field name="product_name"/>
                        <field name="date_order" widget="date"/>
                        <field name="qty"/>
                        <field name="net_margin_per_qty"/>
                        <field name="total"/>
                    </group>
                </form>
            </field>
        </record>


        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_tree">
            <field name="name">report.sales.by.margin.pos.month.tree</field>
            <field name="model">report.sales.by.margin.pos.month</field>
            <field name="arch" type="xml">
                <tree string="POS">
                    <field name="user_id"/>
                    <field name="product_name"/>
                    <field name="date_order" widget="date"/>
                    <field name="qty"/>
                    <field name="net_margin_per_qty"/>
                    <field name="total"/>
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_calendar">
            <field name="name">report.sales.by.margin.pos.month.calendar</field>
            <field name="model">report.sales.by.margin.pos.month</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <calendar color="user_id" date_start="date_order" string="Sales by User Margin">
                    <field name="product_name"/>
                    <field name="total" />
                </calendar>
            </field>
         </record>

        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_graph">
            <field name="name">report.sales.by.margin.pos.month.graph</field>
            <field name="model">report.sales.by.margin.pos.month</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <graph  type="bar" string="Sales by User Margin" orientation="horizontal">
                    <field name="product_name" />
                    <field name="total" operator="+"/>
                </graph>
            </field>
         </record>

         <record model="ir.actions.act_window" id="action_report_sales_by_margin_pos_month">
            <field name="name">Sales by User Monthly margin</field>
            <field name="res_model">report.sales.by.margin.pos.month</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="domain">[('date_order','like',time.strftime('%Y-%m'))]</field>
        </record>

        <record id="product_normal_form_view" model="ir.ui.view">
            <field name="name">product.normal.form.inherit</field>
            <field name="model">product.product</field>
            <field name="inherit_id" ref="stock.view_normal_procurement_locations_form"/>
            <field name="arch" type="xml">
                <group name="sale" position="inside">
                    <group name="pos" string="Point of Sale">
                        <field name="pos_categ_id"/>
                        <field name="to_weight" />
                        <field name="income_pdt"/>
                        <field name="expense_pdt"/>
                    </group>
                </group>
                <field name="ean13" position="after">
                    <button name="edit_ean" type="object" string="Set a Custom EAN" class="oe_link oe_edit_only"/>
                </field>
            </field>
        </record>

        <!-- Categories tree view -->
        <record id="pos_category_form_view" model="ir.ui.view">
            <field name="name">pos.category.form</field>
            <field name="model">pos.category</field>
            <field name="arch" type="xml">
                <form string="Product PoS Categories" version="7.0">
                    <sheet>
                        <field name="image_medium" widget='image' class="oe_avatar oe_right"/>
                        <div class="oe_left">
                            <group>
                                <field name="name"/>
                                <field name="parent_id"/>
                                <field name="sequence"/>
                            </group>
                        </div>
                    </sheet>
                </form>
            </field>
        </record>
        <record id="pos_category_tree_view" model="ir.ui.view">
            <field name="name">pos.category.tree</field>
            <field name="model">pos.category</field>
            <field name="field_parent" eval="False"/>
            <field name="arch" type="xml">
                <tree string="Product PoS Categories">
                    <field name="sequence" invisible="1"/>
                    <field name="complete_name"/>
                </tree>
            </field>
        </record>
        <record id="pos_category_action" model="ir.actions.act_window">
            <field name="name">Product Categories</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.category</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="view_id" eval="False"/>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                Click to define a new category.
              </p><p>
                Categories are used to browse your products through the
                touchscreen interface.
              </p><p>
                If you put a photo on the category, the layout of the
                touchscreen interface will automatically. We suggest not to put
                a photo on categories for small (1024x768) screens.
              </p>
            </field>
        </record>
        <menuitem action="pos_category_action" id="menu_pos_category" parent="menu_point_of_sale_product" sequence="0" />
        <!-- END -->

        <menuitem name="Configuration" parent="menu_point_root"
            id="menu_point_config_product" sequence="25" groups="group_pos_manager"/>

        <record id="action_account_journal_form" model="ir.actions.act_window">
            <field name="name">Payment Methods</field>
            <field name="res_model">account.journal</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="context" eval="{'default_journal_user': 1, 'default_type': 'cash'}"/>
            <field name="domain">[('journal_user','=', 1)]</field>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                Click to add a payment method.
              </p><p>
                Payment methods are defined by accounting journals having the
                field <i>PoS Payment Method</i> checked. In order to be useable
                from the touchscreen interface, you must set the payment method
                on the <i>Point of Sale</i> configuration.
              </p>
            </field>
        </record>

        <menuitem action="action_account_journal_form"
            id="menu_action_account_journal_form_open"
            parent="menu_point_config_product"
            sequence="20"/>

        <record model="ir.ui.view" id="view_pos_order_tree_all_sales_lines">
            <field name="name">POS Sales Lines</field>
            <field name="model">pos.order.line</field>
            <field name="arch" type="xml">
                <tree string="POS Orders lines">
                    <field name="order_id" />
                    <field name="create_date" />
                    <field name="product_id" />
                    <field name="qty" />
                    <field name="price_unit" />
                </tree>
            </field>
        </record>
         <record model="ir.actions.act_window" id="action_pos_all_sales_lines">
            <field name="name">All sales lines</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.order.line</field>
            <field name="view_type">form</field>
            <field name="view_id" ref="view_pos_order_tree_all_sales_lines" />
        </record>

        <!--  Miscellaneous Operations/Reporting -->
        <menuitem name="Point of Sale" parent="base.menu_reporting" id="menu_point_rep" sequence="50" groups="group_pos_manager"/>
        <!-- Invoice -->

        <record model="ir.actions.act_window" id="action_pos_invoice">
            <field name="name">Invoices</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">account.invoice</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="domain">[('origin','like','POS')]</field>
        </record>

        <menuitem icon="STOCK_PRINT" action="action_report_pos_details"
                id="menu_pos_details" parent="menu_point_rep" sequence="6" />

        <record model="ir.actions.client" id="action_pos_pos">
            <field name="name">Start Point of Sale</field>
            <field name="tag">pos.ui</field>
        </record>

        <!-- Top menu item -->
        <record model="ir.ui.view" id="view_pos_config_form">
            <field name="name">pos.config.form.view</field>
            <field name="model">pos.config</field>
            <field name="arch" type="xml">
                <form string="Point of Sale Configuration" version="7.0">
                    <header>
                        <button string="Set to Active" name="set_active" type="object" states="inactive,deprecated"/>
                        <button string="Set to Inactive" name="set_inactive" type="object" states="active" />
                        <button string="Set to Deprecated" name="set_deprecate" type="object" states="active,inactive" />
                        <div class="oe_right">
                            <field name="state" widget="statusbar" statusbar_visible="active,inactive,deprecated" statusbar_colors='{"deprecated" : "red"}' nolabel="1"/>
                        </div>
                    </header>

                    <sheet>
                        <group>
                        <field name="name"/>
                        <field name="shop_id" widget="selection" groups="stock.group_locations" />
                        <field name="journal_id" widget="selection" />
                        <field name="sequence_id" readonly="1" groups="base.group_no_one" />
                        <field name="group_by" groups="account.group_account_user"  />
                        </group>
                        <separator string="Available Payment Methods" colspan="4"/>
                        <field name="journal_ids" colspan="4" nolabel="1">
                            <tree string="Journals">
                                <field name="code" />
                                <field name="name" />
                                <field name="type" />
                                <field name="cash_control" />
                            </tree>
                        </field>
                        <group string="Material Interfaces" >
                            <group>
                                <field name="iface_self_checkout" />
                                <field name="iface_cashdrawer" />
                                <field name="iface_payment_terminal" />
                            </group>
                            <group>
                                <field name="iface_electronic_scale" />
                                <field name="iface_vkeyboard" />
                                <field name="iface_print_via_proxy" />
                            </group>
                        </group>
                    </sheet>

                </form>
            </field>
        </record>

        <record model="ir.ui.view" id="view_pos_config_tree">
            <field name="name">pos.config.tree.view</field>
            <field name="model">pos.config</field>
            <field name="arch" type="xml">
                <tree string="Point of Sale Configuration" colors="grey:state == 'inactive'">
                    <field name="name" />
                    <field name="shop_id" />
                    <field name="state" />
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_pos_config_search">
            <field name="name">pos.config.search.view</field>
            <field name="model">pos.config</field>
            <field name="arch" type="xml">
                <search string="Point of Sale Config">
                    <field name="name" />
                    <filter string="Active" domain="[('state', '=', 'active')]" />
                    <filter string="Inactive" domain="[('state', '=', 'inactive')]" />
                    <field name="shop_id" />
                </search>
            </field>
        </record>


        <act_window
            id="act_pos_config_sessions"
            name="Sessions"
            src_model="pos.config"
            res_model="pos.session"
            domain="[('config_id', '=', active_id)]" />

        <record model="ir.actions.act_window" id="action_pos_config_pos">
            <field name="name">Point of Sales</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.config</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="search_view_id" ref="view_pos_config_search" />
        </record>

        <menuitem
            parent="menu_point_config_product"
            action="action_pos_config_pos"
            id="menu_pos_config_pos"
            groups="group_pos_manager"/>

        <act_window
            id="act_pos_session_orders"
            name="Orders"
            src_model="pos.session"
            res_model="pos.order"
            context="{'search_default_session_id': active_id, 'default_session_id' : active_id }" />



        <record model="ir.ui.view" id="view_pos_session_form">
            <field name="name">pos.session.form.view</field>
            <field name="model">pos.session</field>
            <field name="arch" type="xml">
                <form string="Point of Sale Session" version="7.0">
                    <header>
                        <button name="open_cb" type="object" string="Validate &amp; Open Session" states="opening_control" class="oe_highlight"/>
                        <button name="open_frontend_cb" type="object" string="Continue Selling" states="opened"
                            class="oe_highlight"/>
                        <button name="cashbox_control" type="workflow" string="End of Session"
                            attrs="{'invisible' : ['|', ('cash_control', '=', False),('state', '!=', 'opened')]}" 
                            class="oe_highlight" />
                        <button name="close" type="workflow" string="Validate Closing &amp; Post Entries"
                            attrs="{'invisible' : ['|', ('cash_control', '=', True),('state', '!=', 'opened')]}"
                            class="oe_highlight" />
                        <button name="close" type="workflow" string="Validate Closing &amp; Post Entries" states="closing_control"
                            class="oe_highlight" />
                        <div class="oe_right">
                            <field name="state" widget="statusbar" statusbar_visible="opening_control,opened,closing_control,closed" nolabel="1" />
                        </div>
                    </header>
                    <sheet>
                        <div class="oe_right oe_button_box">
                            <button name="%(action_pos_box_in)d" string="Put Money In" type="action" states="opened,closing_control"/>
                            <button name="%(action_pos_box_out)d" string="Take Money Out" type="action" states="opened,closing_control"/>
                        </div>
                        <h1 class="oe_title">
                            Session:
                            <field name="name" attrs="{'invisible': [('name','=','/')]}" class="oe_inline"/>
                        </h1>
                        <group>
                            <field name="cash_control" invisible="1" />
                            <group>
                                <field name="user_id"/>
                                <field name="config_id" attrs="{'invisible' : [('config_id', '!=', False)]}"/>
                            </group><commit_msg>[IMP] appear the pos fields when create a session<commit_after><?xml version="1.0"?>
<openerp>
    <data>

        <!-- Top menu item -->
        <menuitem name="Point of Sale"
            id="menu_point_root"
            groups="group_pos_manager,group_pos_user"
            sequence="140"/>

        <record id="categ_others" model="pos.category">
            <field name="name">Others</field>
        </record>

        <record model="ir.ui.view" id="view_pos_pos_form">
            <field name="name">pos.order</field>
            <field name="model">pos.order</field>
            <field name="arch" type="xml">
                <form string="Point of Sale Orders" version="7.0">
                    <header>
                        <button name="%(action_pos_payment)d" string="Payment" class="oe_highlight" type="action" states="draft" context="{'pos_session_id' : session_id}"/>
                        <button name="action_invoice" string="Invoice" type="object" states="paid" attrs="{'readonly': [('partner_id','=',False)]}"/>
                        <button name="refund" string="Return Products" type="object" 
                            attrs="{'invisible':[('state','=','draft')]}"/>
                        <button name="%(action_report_pos_receipt)d" string="Reprint" type="action" states="paid,done,invoiced"/>
                        <field name="state" widget="statusbar" statusbar_visible="draft,paid,done" statusbar_colors='{"cancel":"red"}'/>
                    </header>
                    <sheet>
                    <group col="4" colspan="4">
                        <field name="name"/>
                        <field name="date_order"/>
                        <field name="session_id" required="1"/>
                        <field name="partner_id" on_change="onchange_partner_id(partner_id)" context="{'search_default_customer':1}" attrs="{'readonly': [('state','=','invoiced')]}"/>
                    </group>
                    <notebook colspan="4">
                        <page string="Products">
                            <field name="lines" colspan="4" nolabel="1">
                                <tree string="Order lines" editable="bottom">
                                    <field name="product_id" on_change="onchange_product_id(parent.pricelist_id,product_id,qty,parent.partner_id)"/>
                                    <field name="qty" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
                                    <field name="price_unit" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
                                    <field name="discount"  on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
                                    <field name="price_subtotal"/>
                                    <field name="price_subtotal_incl"/>
                                </tree>
                                <form string="Order lines" version="7.0">
                                    <group col="4">
                                        <field name="product_id" on_change="onchange_product_id(parent.pricelist_id,product_id,qty,parent.partner_id)"/>
                                        <field name="qty" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
                                        <field name="discount"  on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
                                        <field name="price_unit" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
                                        <field name="price_subtotal" invisible="1"/>
                                        <field name="price_subtotal_incl" invisible="1"/>
                                        <field name="notice"/>
                                    </group>
                                </form>
                            </field>
                            <group class="oe_subtotal_footer oe_right" colspan="2" name="order_total">
                                <field name="amount_tax"/>
                                <div class="oe_subtotal_footer_separator oe_inline">
                                    <label for="amount_total" />
                                    <button name="button_dummy"
                                        states="draft" string="(update)" type="object" class="oe_edit_only oe_link"/>
                                </div>
                                <field name="amount_total" nolabel="1" class="oe_subtotal_footer_separator"/>
                            </group>
                        </page>
                        <page string="Payments">
                            <field name="statement_ids" colspan="4" nolabel="1">
                                <tree editable="bottom" string="Statement lines">
                                    <field name="journal_id"/>
                                    <field name="statement_id"/>
                                    <field name="amount"/>
                                </tree>
                                <form string="Statement lines" version="7.0">
                                    <group col="4">
                                        <field name="account_id"/>
                                        <field name="amount"/>
                                        <field name="statement_id" domain="[('company_id','=',parent.company_id),('state','=','open')]"/>
                                    </group>
                                </form>
                            </field>
                        </page>
                        <page string="Extra Info">
                            <group string="General Information">
                                <field name="company_id" groups="base.group_multi_company"/>
                                <field name="shop_id" widget="selection"/>
                                <field name="user_id"/>
                                <field name="pricelist_id" groups="product.group_sale_pricelist" domain="[('type','=','sale')]"/>
                                <field name="picking_id" readonly="1"/>
                                <field name="pos_reference"/>
                            </group>
                            <group string="Accounting Information">
                                <field name="sale_journal" domain="[('type','=','sale')]"/>
                                <field name="invoice_id" readonly="1"
                                    attrs="{'invisible':[('state','&lt;&gt;','invoiced')]}"/>
                                <button name="%(pos_invoice_report)d" string="Re-Print"
                                    icon="gtk-print" type="action" attrs="{'invisible':[('state','&lt;&gt;','invoiced')]}"/>
                                <field name="account_move" readonly="1"
                                    attrs="{'invisible':[('state','&lt;&gt;','done')]}"/>
                            </group>
                        </page>
                        <page string="Notes" >
                            <field name="note"/>
                        </page>
                    </notebook>
                </sheet>
                </form>
            </field>
        </record>
        <record model="ir.actions.act_window" id="action_pos_pos_form">
            <field name="name">Orders</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.order</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="view_id" eval="False"/>
            <field name="domain">[]</field>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                Click to create a new order.
              </p><p>
                Use this menu to browse your preceeding orders. To record new
                orders, you should better use the menu <i>Your Session</i> for
                the touchscreen interface.
              </p>
            </field>
        </record>
        <record model="ir.ui.view" id="view_pos_order_tree">
            <field name="name">Orders</field>
            <field name="model">pos.order</field>
            <field name="arch" type="xml">
                <tree string="POS Orders" colors="blue:state == 'draft';gray:state in ('done','cancel');black:state not in('done','cancel')">
                    <field name="name"/>
                    <field name="pos_reference"/>
                    <field name="partner_id"/>
                    <field name="date_order"/>
                    <field name="user_id"/>
                    <field name="invoice_id"/>
                    <field name="amount_total" sum="Amount total"/>
                    <field name="company_id" groups="base.group_multi_company"/>
                    <field name="state"/>
                    <field name="session_id" />
                </tree>
            </field>
        </record>
        <record id="view_pos_order_filter" model="ir.ui.view">
            <field name="name">pos.order.list.select</field>
            <field name="model">pos.order</field>
            <field name="arch" type="xml">
                <search string="Search Sales Order">
                    <field name="name" string="Sales Order"/>
                    <field name="date_order"/>
                    <field name="pos_reference"/>
                    <filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/>
                    <filter icon="gtk-apply" string="Done" domain="[('state','in',('paid','invoiced','done'))]"/>
                    <filter icon="terp-check" string="Invoiced" domain="[('state','=','invoiced')]"/>
                    <filter icon="gtk-convert" string="Posted" domain="[('state','=','done')]"/>
                    <field name="user_id"/>
                    <group expand="0" string="Group By...">
                        <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
                        <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
                        <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
                        <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
                    </group>
                </search>
            </field>
        </record>

        <menuitem name="Daily Operations" id="menu_point_of_sale" parent="menu_point_root" sequence="10"/>
        <menuitem parent="menu_point_of_sale" id="menu_point_ofsale" action="action_pos_pos_form" sequence="2" groups="group_pos_manager,group_pos_user"/>
        <menuitem name="Products" id="menu_point_of_sale_product" parent="menu_point_root" sequence="15" />

        <record id="product_normal_action" model="ir.actions.act_window">
            <field name="name">Products</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">product.product</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form,kanban</field>
            <field name="context" eval="{'default_pos_categ_id': ref('point_of_sale.categ_others')}"/>
            <field name="domain" eval="[('pos_categ_id','&lt;&gt;',False)]"/>
            <field name="view_id" ref="product.product_product_tree_view"/>
            <field name="search_view_id" ref="product.product_search_form_view"/>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                Click to add a new product.
              </p><p>
                You must define a product for everything you sell through
                the point of sale interface.
              </p><p>
                Do not forget to set the price and the point of sale category
                in which it should appear. If a product has no point of sale
                category, you can not sell it through the point of sale
                interface.
              </p>
            </field>
        </record>
        <menuitem
            action="product_normal_action"
            id="menu_pos_products"
            parent="menu_point_of_sale_product" sequence="2"/>

        <record model="ir.ui.view" id="view_pos_order_line">
            <field name="name">Sale lines</field>
            <field name="model">pos.order.line</field>
            <field name="arch" type="xml">
                <tree string="POS Order lines">
                    <field name="product_id" readonly="1"/>
                    <field name="qty" readonly="1" sum="Total qty"/>
                    <field name="discount" readonly="1"/>
                    <field name="price_unit" readonly="1"/>
                    <field name="price_subtotal" readonly="1" sum="Sum of subtotals"/>
                    <field name="price_subtotal_incl" readonly="1" sum="Sum of subtotals"/>
                    <field name="create_date" readonly="1"/>
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_pos_order_line_form">
            <field name="name">Sale line</field>
            <field name="model">pos.order.line</field>
            <field name="arch" type="xml">
                <form string="POS Order line" version="7.0">
                    <group col="4">
                        <field name="product_id" />
                        <field name="qty" />
                        <field name="discount" />
                        <field name="price_unit" />
                        <field name="create_date" />
                    </group>
                </form>
            </field>
        </record>

        <record model="ir.actions.act_window" id="action_pos_order_line">
            <field name="name">Sale line</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.order.line</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree</field>
            <field name="view_id" ref="view_pos_order_line"/>
        </record>

        <record model="ir.actions.act_window" id="action_pos_order_line_form">
            <field name="name">Sale line</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.order.line</field>
            <field name="view_type">form</field>
            <field name="view_mode">form,tree</field>
            <field name="view_id" ref="view_pos_order_line_form"/>
        </record>

        <record model="ir.actions.act_window" id="action_pos_order_line_day">
            <field name="name">Sale line</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.order.line</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree</field>
            <field name="view_id" ref="view_pos_order_line"/>
            <field name="domain">[('create_date', '&gt;=', time.strftime('%Y-%m-%d 00:00:00')),('create_date', '&lt;=', time.strftime('%Y-%m-%d 23:59:59'))]</field>
        </record>



        <!-- report -->

        <record model="ir.ui.view" id="view_pos_trans_user_form">
            <field name="name">report.trans.pos.user.form</field>
            <field name="model">report.transaction.pos</field>
            <field name="arch" type="xml">
                <form string="POS " version="7.0">
                    <group col="4">
                        <field name="user_id"/>
                        <field name="journal_id"/>
                        <field name="jl_id"/>
                        <field name="date_create" widget="date"/>
                        <field name="no_trans"/>
                        <field name="amount"/>
                        <field name="invoice_id"/>
                    </group>
                </form>
            </field>
        </record>


        <record model="ir.ui.view" id="view_trans_pos_user_tree">
            <field name="name">Sales by user</field>
            <field name="model">report.transaction.pos</field>
            <field name="arch" type="xml">
                <tree string="POS">
                    <field name="date_create" widget="date" />
                    <field name="user_id"/>
                    <field name="journal_id"/>
                    <field name="jl_id"/>
                    <field name="no_trans" sum="Total Transaction"/>
                    <field name="amount" sum="Amount total"/>
                    <field name="product_nb" />
                    <field name="invoice_id"/>
                    <field name="disc"/>
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_report_transaction_pos_calendar">
            <field name="name">report.transaction.pos.calendar</field>
            <field name="model">report.transaction.pos</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <calendar color="user_id" date_start="date_create" string="POS Report">
                    <field name="journal_id"/>
                    <field name="amount"/>
                </calendar>
            </field>
         </record>

         <record model="ir.ui.view" id="view_report_transaction_pos_graph">
            <field name="name">report.transaction.pos.graph</field>
            <field name="model">report.transaction.pos</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <graph  type="bar" string="POS Report">
                    <field name="user_id" />
                    <field name="amount"/>
                    <field group="True" name="journal_id"/>
                </graph>
            </field>
         </record>

        <record model="ir.actions.act_window" id="action_trans_pos_tree_today">
            <field name="name">Sales by day</field>
            <field name="res_model">report.transaction.pos</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="domain">[('date_create','=',time.strftime('%Y-%m-%d'))]</field>
        </record>


        <record model="ir.actions.act_window" id="action_trans_pos_tree_month">
            <field name="name">Sales by month</field>
            <field name="res_model">report.transaction.pos</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="domain">[('date_create','like',time.strftime('%Y-%m'))]</field>
        </record>


        <record model="ir.actions.act_window" id="action_trans_pos_tree">
            <field name="name">Sales by user</field>
            <field name="res_model">report.transaction.pos</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="view_id" ref="view_trans_pos_user_tree"/>
        </record>


        <record model="ir.ui.view" id="view_report_sales_by_user_pos_form">
            <field name="name">report.sales.by.user.pos.form</field>
            <field name="model">report.sales.by.user.pos</field>
            <field name="arch" type="xml">
                <form string="POS " version="7.0">
                    <group col="4">
                        <field name="date_order" widget="date"/>
                        <field name="qty"/>
                        <field name="amount"/>
                        <field name="user_id"/>
                    </group>
                </form>
            </field>
        </record>


        <record model="ir.ui.view" id="view_report_sales_by_user_pos_tree">
            <field name="name">report.sales.by.user.pos.tree</field>
            <field name="model">report.sales.by.user.pos</field>
            <field name="arch" type="xml">
                <tree string="POS">
                    <field name="date_order" widget="date"/>
                    <field name="qty"/>
                    <field name="amount"/>
                    <field name="user_id"/>
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_report_sales_by_user_pos_calendar">
            <field name="name">report.sales.by.user.pos.calendar</field>
            <field name="model">report.sales.by.user.pos</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <calendar color="user_id" date_start="date_order" string="POS Report">
                    <field name="qty"/>
                    <field name="amount" />
                </calendar>
            </field>
         </record>

        <record model="ir.ui.view" id="view_report_sales_by_user_pos_graph">
            <field name="name">report.sales.by.user.pos.graph</field>
            <field name="model">report.sales.by.user.pos</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <graph  type="bar" string="Sales by User">
                    <field name="user_id" />
                    <field name="amount"/>
                </graph>
            </field>
         </record>

         <record model="ir.actions.act_window" id="action_report_sales_by_user_pos_today">
            <field name="name">Sales by User</field>
            <field name="res_model">report.sales.by.user.pos</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="domain">[('date_order','=',time.strftime('%Y-%m-%d'))]</field>
         </record>


        <!-- Sales of user by month -->

        <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_form">
            <field name="name">report.sales.by.user.pos.month.form</field>
            <field name="model">report.sales.by.user.pos.month</field>
            <field name="arch" type="xml">
                <form string="POS " version="7.0">
                    <group col="4">
                        <field name="date_order" widget="date"/>
                        <field name="qty"/>
                        <field name="amount"/>
                        <field name="user_id"/>
                    </group>
                </form>
            </field>
        </record>


        <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_tree">
            <field name="name">report.sales.by.user.pos.month.tree</field>
            <field name="model">report.sales.by.user.pos.month</field>
            <field name="arch" type="xml">
                <tree string="POS">
                    <field name="date_order" widget="date"/>
                    <field name="qty"/>
                    <field name="amount"/>
                    <field name="user_id"/>
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_calendar">
            <field name="name">report.sales.by.user.pos.month.calendar</field>
            <field name="model">report.sales.by.user.pos.month</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <calendar color="user_id" date_start="date_order" string="POS Report">
                    <field name="qty"/>
                    <field name="amount" />
                </calendar>
            </field>
         </record>

        <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_graph">
            <field name="name">report.sales.by.user.pos.month.graph</field>
            <field name="model">report.sales.by.user.pos.month</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <graph  type="bar" string="Sales by User">
                    <field name="user_id" />
                    <field name="amount"/>
                </graph>
            </field>
         </record>


         <record model="ir.actions.act_window" id="action_report_sales_by_user_pos_month">
            <field name="name">Sales by User Monthly</field>
            <field name="res_model">report.sales.by.user.pos.month</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="domain">[('date_order','like',time.strftime('%Y-%m'))]</field>
        </record>

        <!-- Sales by margin -->

        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_form">
            <field name="name">report.sales.by.margin.pos.form</field>
            <field name="model">report.sales.by.margin.pos</field>
            <field name="arch" type="xml">
                <form string="POS " version="7.0">
                    <group col="4">
                        <field name="user_id"/>
                        <field name="product_name"/>
                        <field name="date_order" widget="date"/>
                        <field name="qty"/>
                        <field name="net_margin_per_qty"/>
                        <field name="total"/>
                    </group>
                </form>
            </field>
        </record>


        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_tree">
            <field name="name">report.sales.by.margin.pos.tree</field>
            <field name="model">report.sales.by.margin.pos</field>
            <field name="arch" type="xml">
                <tree string="POS">
                    <field name="user_id"/>
                    <field name="product_name"/>
                    <field name="date_order" widget="date"/>
                    <field name="qty"/>
                    <field name="net_margin_per_qty"/>
                    <field name="total"/>
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_calendar">
            <field name="name">report.sales.by.margin.pos.calendar</field>
            <field name="model">report.sales.by.margin.pos</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <calendar color="user_id" date_start="date_order" string="Sales by User Margin">
                    <field name="product_name"/>
                    <field name="total" />
                </calendar>
            </field>
         </record>

        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_graph">
            <field name="name">report.sales.by.margin.pos.graph</field>
            <field name="model">report.sales.by.margin.pos</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <graph  type="bar" string="Sales by User Margin" orientation="horizontal">
                    <field name="product_name" />
                    <field name="total" operator="+"/>
                </graph>
            </field>
         </record>

        <record model="ir.actions.act_window" id="action_report_sales_by_margin_pos_today">
            <field name="name">Sales by User Daily margin</field>
            <field name="res_model">report.sales.by.margin.pos</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="domain">[('date_order','=',time.strftime('%Y-%m-%d'))]</field>
         </record>

         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_form">
            <field name="name">report.sales.by.margin.pos.month.form</field>
            <field name="model">report.sales.by.margin.pos.month</field>
            <field name="arch" type="xml">
                <form string="POS " version="7.0">
                    <group col="4">
                        <field name="user_id"/>
                        <field name="product_name"/>
                        <field name="date_order" widget="date"/>
                        <field name="qty"/>
                        <field name="net_margin_per_qty"/>
                        <field name="total"/>
                    </group>
                </form>
            </field>
        </record>


        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_tree">
            <field name="name">report.sales.by.margin.pos.month.tree</field>
            <field name="model">report.sales.by.margin.pos.month</field>
            <field name="arch" type="xml">
                <tree string="POS">
                    <field name="user_id"/>
                    <field name="product_name"/>
                    <field name="date_order" widget="date"/>
                    <field name="qty"/>
                    <field name="net_margin_per_qty"/>
                    <field name="total"/>
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_calendar">
            <field name="name">report.sales.by.margin.pos.month.calendar</field>
            <field name="model">report.sales.by.margin.pos.month</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <calendar color="user_id" date_start="date_order" string="Sales by User Margin">
                    <field name="product_name"/>
                    <field name="total" />
                </calendar>
            </field>
         </record>

        <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_graph">
            <field name="name">report.sales.by.margin.pos.month.graph</field>
            <field name="model">report.sales.by.margin.pos.month</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <graph  type="bar" string="Sales by User Margin" orientation="horizontal">
                    <field name="product_name" />
                    <field name="total" operator="+"/>
                </graph>
            </field>
         </record>

         <record model="ir.actions.act_window" id="action_report_sales_by_margin_pos_month">
            <field name="name">Sales by User Monthly margin</field>
            <field name="res_model">report.sales.by.margin.pos.month</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,calendar,form,graph</field>
            <field name="domain">[('date_order','like',time.strftime('%Y-%m'))]</field>
        </record>

        <record id="product_normal_form_view" model="ir.ui.view">
            <field name="name">product.normal.form.inherit</field>
            <field name="model">product.product</field>
            <field name="inherit_id" ref="stock.view_normal_procurement_locations_form"/>
            <field name="arch" type="xml">
                <group name="sale" position="inside">
                    <group name="pos" string="Point of Sale">
                        <field name="pos_categ_id"/>
                        <field name="to_weight" />
                        <field name="income_pdt"/>
                        <field name="expense_pdt"/>
                    </group>
                </group>
                <field name="ean13" position="after">
                    <button name="edit_ean" type="object" string="Set a Custom EAN" class="oe_link oe_edit_only"/>
                </field>
            </field>
        </record>

        <!-- Categories tree view -->
        <record id="pos_category_form_view" model="ir.ui.view">
            <field name="name">pos.category.form</field>
            <field name="model">pos.category</field>
            <field name="arch" type="xml">
                <form string="Product PoS Categories" version="7.0">
                    <sheet>
                        <field name="image_medium" widget='image' class="oe_avatar oe_right"/>
                        <div class="oe_left">
                            <group>
                                <field name="name"/>
                                <field name="parent_id"/>
                                <field name="sequence"/>
                            </group>
                        </div>
                    </sheet>
                </form>
            </field>
        </record>
        <record id="pos_category_tree_view" model="ir.ui.view">
            <field name="name">pos.category.tree</field>
            <field name="model">pos.category</field>
            <field name="field_parent" eval="False"/>
            <field name="arch" type="xml">
                <tree string="Product PoS Categories">
                    <field name="sequence" invisible="1"/>
                    <field name="complete_name"/>
                </tree>
            </field>
        </record>
        <record id="pos_category_action" model="ir.actions.act_window">
            <field name="name">Product Categories</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.category</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="view_id" eval="False"/>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                Click to define a new category.
              </p><p>
                Categories are used to browse your products through the
                touchscreen interface.
              </p><p>
                If you put a photo on the category, the layout of the
                touchscreen interface will automatically. We suggest not to put
                a photo on categories for small (1024x768) screens.
              </p>
            </field>
        </record>
        <menuitem action="pos_category_action" id="menu_pos_category" parent="menu_point_of_sale_product" sequence="0" />
        <!-- END -->

        <menuitem name="Configuration" parent="menu_point_root"
            id="menu_point_config_product" sequence="25" groups="group_pos_manager"/>

        <record id="action_account_journal_form" model="ir.actions.act_window">
            <field name="name">Payment Methods</field>
            <field name="res_model">account.journal</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="context" eval="{'default_journal_user': 1, 'default_type': 'cash'}"/>
            <field name="domain">[('journal_user','=', 1)]</field>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                Click to add a payment method.
              </p><p>
                Payment methods are defined by accounting journals having the
                field <i>PoS Payment Method</i> checked. In order to be useable
                from the touchscreen interface, you must set the payment method
                on the <i>Point of Sale</i> configuration.
              </p>
            </field>
        </record>

        <menuitem action="action_account_journal_form"
            id="menu_action_account_journal_form_open"
            parent="menu_point_config_product"
            sequence="20"/>

        <record model="ir.ui.view" id="view_pos_order_tree_all_sales_lines">
            <field name="name">POS Sales Lines</field>
            <field name="model">pos.order.line</field>
            <field name="arch" type="xml">
                <tree string="POS Orders lines">
                    <field name="order_id" />
                    <field name="create_date" />
                    <field name="product_id" />
                    <field name="qty" />
                    <field name="price_unit" />
                </tree>
            </field>
        </record>
         <record model="ir.actions.act_window" id="action_pos_all_sales_lines">
            <field name="name">All sales lines</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.order.line</field>
            <field name="view_type">form</field>
            <field name="view_id" ref="view_pos_order_tree_all_sales_lines" />
        </record>

        <!--  Miscellaneous Operations/Reporting -->
        <menuitem name="Point of Sale" parent="base.menu_reporting" id="menu_point_rep" sequence="50" groups="group_pos_manager"/>
        <!-- Invoice -->

        <record model="ir.actions.act_window" id="action_pos_invoice">
            <field name="name">Invoices</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">account.invoice</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="domain">[('origin','like','POS')]</field>
        </record>

        <menuitem icon="STOCK_PRINT" action="action_report_pos_details"
                id="menu_pos_details" parent="menu_point_rep" sequence="6" />

        <record model="ir.actions.client" id="action_pos_pos">
            <field name="name">Start Point of Sale</field>
            <field name="tag">pos.ui</field>
        </record>

        <!-- Top menu item -->
        <record model="ir.ui.view" id="view_pos_config_form">
            <field name="name">pos.config.form.view</field>
            <field name="model">pos.config</field>
            <field name="arch" type="xml">
                <form string="Point of Sale Configuration" version="7.0">
                    <header>
                        <button string="Set to Active" name="set_active" type="object" states="inactive,deprecated"/>
                        <button string="Set to Inactive" name="set_inactive" type="object" states="active" />
                        <button string="Set to Deprecated" name="set_deprecate" type="object" states="active,inactive" />
                        <div class="oe_right">
                            <field name="state" widget="statusbar" statusbar_visible="active,inactive,deprecated" statusbar_colors='{"deprecated" : "red"}' nolabel="1"/>
                        </div>
                    </header>

                    <sheet>
                        <group>
                        <field name="name"/>
                        <field name="shop_id" widget="selection" groups="stock.group_locations" />
                        <field name="journal_id" widget="selection" />
                        <field name="sequence_id" readonly="1" groups="base.group_no_one" />
                        <field name="group_by" groups="account.group_account_user"  />
                        </group>
                        <separator string="Available Payment Methods" colspan="4"/>
                        <field name="journal_ids" colspan="4" nolabel="1">
                            <tree string="Journals">
                                <field name="code" />
                                <field name="name" />
                                <field name="type" />
                                <field name="cash_control" />
                            </tree>
                        </field>
                        <group string="Material Interfaces" >
                            <group>
                                <field name="iface_self_checkout" />
                                <field name="iface_cashdrawer" />
                                <field name="iface_payment_terminal" />
                            </group>
                            <group>
                                <field name="iface_electronic_scale" />
                                <field name="iface_vkeyboard" />
                                <field name="iface_print_via_proxy" />
                            </group>
                        </group>
                    </sheet>

                </form>
            </field>
        </record>

        <record model="ir.ui.view" id="view_pos_config_tree">
            <field name="name">pos.config.tree.view</field>
            <field name="model">pos.config</field>
            <field name="arch" type="xml">
                <tree string="Point of Sale Configuration" colors="grey:state == 'inactive'">
                    <field name="name" />
                    <field name="shop_id" />
                    <field name="state" />
                </tree>
            </field>
        </record>

        <record model="ir.ui.view" id="view_pos_config_search">
            <field name="name">pos.config.search.view</field>
            <field name="model">pos.config</field>
            <field name="arch" type="xml">
                <search string="Point of Sale Config">
                    <field name="name" />
                    <filter string="Active" domain="[('state', '=', 'active')]" />
                    <filter string="Inactive" domain="[('state', '=', 'inactive')]" />
                    <field name="shop_id" />
                </search>
            </field>
        </record>


        <act_window
            id="act_pos_config_sessions"
            name="Sessions"
            src_model="pos.config"
            res_model="pos.session"
            domain="[('config_id', '=', active_id)]" />

        <record model="ir.actions.act_window" id="action_pos_config_pos">
            <field name="name">Point of Sales</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">pos.config</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="search_view_id" ref="view_pos_config_search" />
        </record>

        <menuitem
            parent="menu_point_config_product"
            action="action_pos_config_pos"
            id="menu_pos_config_pos"
            groups="group_pos_manager"/>

        <act_window
            id="act_pos_session_orders"
            name="Orders"
            src_model="pos.session"
            res_model="pos.order"
            context="{'search_default_session_id': active_id, 'default_session_id' : active_id }" />



        <record model="ir.ui.view" id="view_pos_session_form">
            <field name="name">pos.session.form.view</field>
            <field name="model">pos.session</field>
            <field name="arch" type="xml">
                <form string="Point of Sale Session" version="7.0">
                    <header>
                        <button name="open_cb" type="object" string="Validate &amp; Open Session" states="opening_control" class="oe_highlight"/>
                        <button name="open_frontend_cb" type="object" string="Continue Selling" states="opened"
                            class="oe_highlight"/>
                        <button name="cashbox_control" type="workflow" string="End of Session"
                            attrs="{'invisible' : ['|', ('cash_control', '=', False),('state', '!=', 'opened')]}" 
                            class="oe_highlight" />
                        <button name="close" type="workflow" string="Validate Closing &amp; Post Entries"
                            attrs="{'invisible' : ['|', ('cash_control', '=', True),('state', '!=', 'opened')]}"
                            class="oe_highlight" />
                        <button name="close" type="workflow" string="Validate Closing &amp; Post Entries" states="closing_control"
                            class="oe_highlight" />
                        <div class="oe_right">
                            <field name="state" widget="statusbar" statusbar_visible="opening_control,opened,closing_control,closed" nolabel="1" />
                        </div>
                    </header>
                    <sheet>
                        <div class="oe_right oe_button_box">
                            <button name="%(action_pos_box_in)d" string="Put Money In" type="action" states="opened,closing_control"/>
                            <button name="%(action_pos_box_out)d" string="Take Money Out" type="action" states="opened,closing_control"/>
                        </div>
                        <h1 class="oe_title">
                            Session:
                            <field name="name" attrs="{'invisible': [('name','=','/')]}" class="oe_inline"/>
                        </h1>
                        <group>
                            <field name="cash_control" invisible="1" />
                            <group>
                                <field name="user_id"/>
                                <field name="config_id" attrs="{'invisible' : [('state', '!=', 'opening_control')]}"/>
                            </group>
{'fraction_non_alphanumeric': 0.14493235750720782, 'fraction_numerical': 0.0026169882457307606, 'mean_word_length': 1.6231420343814538, 'pattern_counts': {'":': 2, '<': 1863, '<?xml version=': 2, '>': 1863, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 68}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 58, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4430048', 'n_tokens_mistral': 24586, 'n_tokens_neox': 23355, 'n_words': 4189}