[IMP] point_of_sale: improved view.
[odoo/odoo.git] / addons / point_of_sale / point_of_sale_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4         <menuitem name="PoS Backend" id="menu_point_root" sequence="20"
5             icon="terp-partner"
6             groups="group_pos_manager"
7             web_icon="images/pos.png"
8             web_icon_hover="images/pos-hover.png"/>
9
10         <record id="categ_others" model="pos.category">
11           <field name="name">Others</field>
12         </record>
13
14         <record model="ir.ui.view" id="view_pos_pos_form">
15             <field name="name">pos.order</field>
16             <field name="model">pos.order</field>
17             <field name="type">form</field>
18             <field name="arch" type="xml">
19                 <form layout="manual">
20                 <div class="oe_form_topbar">
21                     <button name="%(action_pos_payment)d" string="Payment" icon="gtk-apply" type="action" states="draft"/>
22                     <button name="refund" string="Return Products" type="object" icon="gtk-ok"
23                         attrs="{'invisible':[('state','=','draft')]}"/>
24                     <button name="%(action_report_pos_receipt)d" string="Reprint" icon="gtk-print" type="action" states="paid,done,invoiced"/>
25                     <div class="oe_right">
26                         <field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,paid,done" statusbar_colors='{"cancel":"red"}'/>
27                     </div>
28                 </div>
29                 <sheet string="PoS Orders" layout="auto">
30                     <group col="7" colspan="4" class="oe_form_header">
31                         <field name="name"/>
32                         <field name="date_order"/>
33                         <field name="partner_id" on_change="onchange_partner_id(partner_id)" context="{'search_default_customer':1}" attrs="{'readonly': [('state','=','invoiced')]}"/>
34                         <button name="action_invoice" string="Invoice" icon="gtk-apply" type="object" states="paid" attrs="{'readonly': [('partner_id','=',False)]}"/>
35                     </group>
36                     <notebook colspan="4">
37                         <page string="Sale Order">
38                             <field name="lines" colspan="4" nolabel="1">
39                                 <tree string="Order lines" editable="bottom">
40                                     <field name="product_id" on_change="onchange_product_id(parent.pricelist_id,product_id,qty,parent.partner_id)"/>
41                                     <field name="qty" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
42                                     <field name="price_unit" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
43                                     <field name="discount"  on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
44                                     <field name="price_subtotal"/>
45                                     <field name="price_subtotal_incl"/>
46                                 </tree>
47                                 <form string="Order lines">
48                                     <field name="product_id" on_change="onchange_product_id(parent.pricelist_id,product_id,qty,parent.partner_id)"/>
49                                     <field name="qty" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
50                                     <field name="discount"  on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
51                                     <field name="price_unit" on_change="onchange_qty(product_id, discount, qty, price_unit, context)"/>
52                                     <field name="price_subtotal" invisible="1"/>
53                                     <field name="price_subtotal_incl" invisible="1"/>
54                                     <field name="notice"/>
55                                 </form>
56                             </field>
57                             <group colspan="4" col="7">
58                                 <field name="amount_tax"/>
59                                 <field name="amount_total"/>
60                                 <button name="button_dummy" string="Update" icon="gtk-execute" states="draft" />
61                                 <button name="%(action_pos_discount)d" string="Discount" icon="gtk-remove" type="action" states="draft" />
62                             </group>
63                         </page>
64                         <page string="Payment">
65                             <field name="statement_ids" colspan="4" nolabel="1">
66                                 <tree editable="bottom" string="Statement lines">
67                                     <field name="journal_id"/>
68                                     <field name="statement_id" />
69                                     <field name="amount"/>
70                                 </tree>
71                                 <form string="Statement lines">
72                                     <field name="account_id"/>
73                                     <field name="amount"/>
74                                     <field name="statement_id" domain="[('company_id','=',parent.company_id),('state','=','open')]"/>
75                                 </form>
76                             </field>
77                         </page>
78                         <page string="Extra Info">
79                             <group colspan="2" col="2">
80                                 <separator string="General Information" colspan="2"/>
81                                 <field name="company_id" groups="base.group_multi_company"/>
82                                 <field name="shop_id" widget="selection"/>
83                                 <field name="user_id"/>
84                                 <field name="pricelist_id" groups="product.group_sale_pricelist" domain="[('type','=','sale')]"/>
85                                 <field name="picking_id" readonly="1"/>
86                             </group>
87                             <group colspan="2" col="3">
88                                 <separator string="Accounting Information" colspan="3"/>
89                                 <field name="sale_journal" domain="[('type','=','sale')]"/>
90                                 <button name="done" string="Post Entries" icon="gtk-apply" type="workflow" states="paid"/>
91                                 <field name="invoice_id" colspan="2" readonly="1"
92                                     attrs="{'invisible':[('state','&lt;&gt;','invoiced')]}"/>
93                                 <button name="%(pos_invoice_report)d" string="Re-Print"
94                                     icon="gtk-print" type="action" attrs="{'invisible':[('state','&lt;&gt;','invoiced')]}"/>
95                                 <field name="account_move" colspan="3" readonly="1"
96                                     attrs="{'invisible':[('state','&lt;&gt;','done')]}"/>
97                             </group>
98                         </page>
99                         <page string="Notes" >
100                             <field colspan="4" name="note" nolabel="1"/>
101                         </page>
102                     </notebook>
103                 </sheet>
104                 </form>
105             </field>
106         </record>
107         <record model="ir.actions.act_window" id="action_pos_pos_form">
108             <field name="name">PoS Orders</field>
109             <field name="type">ir.actions.act_window</field>
110             <field name="res_model">pos.order</field>
111             <field name="view_type">form</field>
112             <field name="view_mode">tree,form</field>
113             <field name="view_id" eval="False"/>
114             <field name="domain">[]</field>
115         </record>
116         <record model="ir.ui.view" id="view_pos_order_tree">
117             <field name="name">Sales</field>
118             <field name="model">pos.order</field>
119             <field name="type">tree</field>
120             <field name="arch" type="xml">
121                 <tree string="POS Orders" colors="blue:state == 'draft';gray:state in ('done','cancel');black:state not in('done','cancel')">
122                     <field name="name"/>
123                     <field name="partner_id"/>
124                     <field name="date_order"/>
125                     <field name="user_id"/>
126                     <field name="invoice_id"/>
127                     <field name="amount_total" sum="Amount total"/>
128                     <field name="company_id" groups="base.group_multi_company"/>
129                     <field name="state"/>
130                 </tree>
131             </field>
132         </record>
133         <record id="view_pos_order_filter" model="ir.ui.view">
134             <field name="name">pos.order.list.select</field>
135             <field name="model">pos.order</field>
136             <field name="type">search</field>
137             <field name="arch" type="xml">
138                 <search string="Search Sales Order">
139                     <filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/>
140                     <filter icon="gtk-apply" string="Done" domain="[('state','in',('paid','invoiced','done'))]"/>
141                     <separator orientation="vertical"/>
142                     <filter icon="terp-check" string="Invoiced" domain="[('state','=','invoiced')]"/>
143                     <filter icon="gtk-convert" string="Posted" domain="[('state','=','done')]"/>
144                     <separator orientation="vertical"/>
145                     <filter icon="terp-go-month" string="Today" domain="[('date_order','&gt;=',datetime.date.today().strftime('%%Y-%%m-%%d 00:00:00')),('date_order','&lt;=',datetime.date.today().strftime('%%Y-%%m-%%d 23:59:59'))]"/>
146                     <filter icon="gtk-go-forward" string="Yesterday" domain="[('date_order','&lt;',datetime.date.today().strftime('%%Y-%%m-%%d 00:00:00')),('date_order','&gt;=',(datetime.date.today() - relativedelta(days=1)).strftime('%%Y-%%m-%%d 00:00:00'))]"/>
147                     <separator orientation="vertical"/>
148                     <field name="name"/>
149                     <field name="user_id"/>
150                     <newline/>
151                     <group expand="0" string="Group By...">
152                         <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
153                         <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
154                         <separator string="" orientation="vertical"/>
155                         <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
156                         <separator string="" orientation="vertical"/>
157                         <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
158                     </group>
159                </search>
160             </field>
161         </record>
162
163         <menuitem name="Daily Operations" id="menu_point_of_sale" parent="menu_point_root" sequence="10" />
164         <menuitem parent="menu_point_of_sale" id="menu_point_ofsale" action="action_pos_pos_form" sequence="1" groups="group_pos_manager,group_pos_user"/>
165         <menuitem name="Products" id="menu_point_of_sale_product" parent="menu_point_root" sequence="15" />
166
167         <record id="product_normal_action" model="ir.actions.act_window">
168             <field name="name">Products</field>
169             <field name="type">ir.actions.act_window</field>
170             <field name="res_model">product.product</field>
171             <field name="view_type">form</field>
172             <field name="view_mode">tree,form,kanban</field>
173             <field name="context" eval="{'default_pos_categ_id': ref('point_of_sale.categ_others')}"/>
174             <field name="view_id" ref="product.product_product_tree_view"/>
175             <field name="search_view_id" ref="product.product_search_form_view"/>
176             <field name="help">You must define a Product for everything you buy or sell. Products can be raw materials, stockable products, consumables or services. The Product form contains detailed information about your products related to procurement logistics, sales price, product category, suppliers and so on.</field>
177         </record>
178         <menuitem
179             action="product_normal_action"
180             id="menu_pos_products"
181             parent="menu_point_of_sale_product" sequence="2"/>
182
183         <record model="ir.ui.view" id="view_pos_order_line">
184             <field name="name">Sale lines</field>
185             <field name="model">pos.order.line</field>
186             <field name="type">tree</field>
187             <field name="arch" type="xml">
188                 <tree string="POS Order lines">
189                     <field name="product_id" readonly="1"/>
190                     <field name="qty" readonly="1" sum="Total qty"/>
191                     <field name="discount" readonly="1"/>
192                     <field name="price_unit" readonly="1"/>
193                     <field name="price_subtotal" readonly="1" sum="Sum of subtotals"/>
194                     <field name="price_subtotal_incl" readonly="1" sum="Sum of subtotals"/>
195                     <field name="create_date" readonly="1"/>
196                 </tree>
197             </field>
198         </record>
199
200         <record model="ir.ui.view" id="view_pos_order_line_form">
201             <field name="name">Sale line</field>
202             <field name="model">pos.order.line</field>
203             <field name="type">form</field>
204             <field name="arch" type="xml">
205                 <form string="POS Order line">
206                     <field name="product_id" />
207                     <field name="qty" />
208                     <field name="discount" />
209                     <field name="price_unit" />
210                     <field name="create_date" />
211                 </form>
212             </field>
213         </record>
214
215         <record model="ir.actions.act_window" id="action_pos_order_line">
216             <field name="name">Sale line</field>
217             <field name="type">ir.actions.act_window</field>
218             <field name="res_model">pos.order.line</field>
219             <field name="view_type">form</field>
220             <field name="view_mode">tree</field>
221             <field name="view_id" ref="view_pos_order_line"/>
222         </record>
223
224         <record model="ir.actions.act_window" id="action_pos_order_line_form">
225             <field name="name">Sale line</field>
226             <field name="type">ir.actions.act_window</field>
227             <field name="res_model">pos.order.line</field>
228             <field name="view_type">form</field>
229             <field name="view_mode">form,tree</field>
230             <field name="view_id" ref="view_pos_order_line_form"/>
231         </record>
232
233         <record model="ir.actions.act_window" id="action_pos_order_line_day">
234             <field name="name">Sale line</field>
235             <field name="type">ir.actions.act_window</field>
236             <field name="res_model">pos.order.line</field>
237             <field name="view_type">form</field>
238             <field name="view_mode">tree</field>
239             <field name="view_id" ref="view_pos_order_line"/>
240             <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>
241         </record>
242
243
244
245         <!-- report -->
246
247         <record model="ir.ui.view" id="view_pos_trans_user_form">
248             <field name="name">report.trans.pos.user.form</field>
249             <field name="model">report.transaction.pos</field>
250             <field name="type">form</field>
251             <field name="arch" type="xml">
252                 <form string="POS ">
253                     <field name="user_id"/>
254                     <field name="journal_id"/>
255                     <field name="jl_id"/>
256                     <field name="date_create" widget="date"/>
257                     <field name="no_trans"/>
258                     <field name="amount"/>
259                     <field name="invoice_id"/>
260                 </form>
261             </field>
262         </record>
263
264
265         <record model="ir.ui.view" id="view_trans_pos_user_tree">
266             <field name="name">Sales by user</field>
267             <field name="model">report.transaction.pos</field>
268             <field name="type">tree</field>
269             <field name="arch" type="xml">
270                 <tree string="POS">
271                     <field name="date_create" widget="date" />
272                     <field name="user_id"/>
273                     <field name="journal_id"/>
274                     <field name="jl_id"/>
275                     <field name="no_trans" sum="Total Transaction"/>
276                     <field name="amount" sum="Amount total"/>
277                     <field name="product_nb" />
278                     <field name="invoice_id"/>
279                     <field name="disc"/>
280                 </tree>
281             </field>
282         </record>
283
284         <record model="ir.ui.view" id="view_report_transaction_pos_calendar">
285             <field name="name">report.transaction.pos.calendar</field>
286             <field name="model">report.transaction.pos</field>
287             <field name="type">calendar</field>
288             <field eval="2" name="priority"/>
289             <field name="arch" type="xml">
290                 <calendar color="user_id" date_start="date_create" string="POS Report">
291                     <field name="journal_id"/>
292                     <field name="amount"/>
293                 </calendar>
294             </field>
295          </record>
296
297          <record model="ir.ui.view" id="view_report_transaction_pos_graph">
298             <field name="name">report.transaction.pos.graph</field>
299             <field name="model">report.transaction.pos</field>
300             <field name="type">graph</field>
301             <field eval="2" name="priority"/>
302             <field name="arch" type="xml">
303                 <graph  type="bar" string="POS Report">
304                     <field name="user_id" />
305                     <field name="amount"/>
306                     <field group="True" name="journal_id"/>
307                 </graph>
308             </field>
309          </record>
310
311         <record model="ir.actions.act_window" id="action_trans_pos_tree_today">
312             <field name="name">Sales by day</field>
313             <field name="res_model">report.transaction.pos</field>
314             <field name="view_type">form</field>
315             <field name="view_mode">tree,calendar,form,graph</field>
316             <field name="domain">[('date_create','=',time.strftime('%Y-%m-%d'))]</field>
317         </record>
318
319
320         <record model="ir.actions.act_window" id="action_trans_pos_tree_month">
321             <field name="name">Sales by month</field>
322             <field name="res_model">report.transaction.pos</field>
323             <field name="view_type">form</field>
324             <field name="view_mode">tree,calendar,form,graph</field>
325             <field name="domain">[('date_create','like',time.strftime('%Y-%m'))]</field>
326         </record>
327
328
329         <record model="ir.actions.act_window" id="action_trans_pos_tree">
330             <field name="name">Sales by user</field>
331             <field name="res_model">report.transaction.pos</field>
332             <field name="view_type">form</field>
333             <field name="view_mode">tree,calendar,form,graph</field>
334             <field name="view_id" ref="view_trans_pos_user_tree"/>
335         </record>
336
337
338         <record model="ir.ui.view" id="view_report_sales_by_user_pos_form">
339             <field name="name">report.sales.by.user.pos.form</field>
340             <field name="model">report.sales.by.user.pos</field>
341             <field name="type">form</field>
342             <field name="arch" type="xml">
343                 <form string="POS ">
344                     <field name="date_order" widget="date"/>
345                     <field name="qty"/>
346                     <field name="amount"/>
347                     <field name="user_id"/>
348                 </form>
349             </field>
350         </record>
351
352
353         <record model="ir.ui.view" id="view_report_sales_by_user_pos_tree">
354             <field name="name">report.sales.by.user.pos.tree</field>
355             <field name="model">report.sales.by.user.pos</field>
356             <field name="type">tree</field>
357             <field name="arch" type="xml">
358                 <tree string="POS">
359                     <field name="date_order" widget="date"/>
360                     <field name="qty"/>
361                     <field name="amount"/>
362                     <field name="user_id"/>
363                 </tree>
364             </field>
365         </record>
366
367         <record model="ir.ui.view" id="view_report_sales_by_user_pos_calendar">
368             <field name="name">report.sales.by.user.pos.calendar</field>
369             <field name="model">report.sales.by.user.pos</field>
370             <field name="type">calendar</field>
371             <field eval="2" name="priority"/>
372             <field name="arch" type="xml">
373                 <calendar color="user_id" date_start="date_order" string="POS Report">
374                     <field name="qty"/>
375                     <field name="amount" />
376                 </calendar>
377             </field>
378          </record>
379
380         <record model="ir.ui.view" id="view_report_sales_by_user_pos_graph">
381             <field name="name">report.sales.by.user.pos.graph</field>
382             <field name="model">report.sales.by.user.pos</field>
383             <field name="type">graph</field>
384             <field eval="2" name="priority"/>
385             <field name="arch" type="xml">
386                 <graph  type="bar" string="Sales by User">
387                     <field name="user_id" />
388                     <field name="amount"/>
389                 </graph>
390             </field>
391          </record>
392
393          <record model="ir.actions.act_window" id="action_report_sales_by_user_pos_today">
394             <field name="name">Sales by User</field>
395             <field name="res_model">report.sales.by.user.pos</field>
396             <field name="view_type">form</field>
397             <field name="view_mode">tree,calendar,form,graph</field>
398             <field name="domain">[('date_order','=',time.strftime('%Y-%m-%d'))]</field>
399          </record>
400
401
402         <!-- Sales of user by month -->
403
404         <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_form">
405             <field name="name">report.sales.by.user.pos.month.form</field>
406             <field name="model">report.sales.by.user.pos.month</field>
407             <field name="type">form</field>
408             <field name="arch" type="xml">
409                 <form string="POS ">
410                     <field name="date_order" widget="date"/>
411                     <field name="qty"/>
412                     <field name="amount"/>
413                     <field name="user_id"/>
414                 </form>
415             </field>
416         </record>
417
418
419         <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_tree">
420             <field name="name">report.sales.by.user.pos.month.tree</field>
421             <field name="model">report.sales.by.user.pos.month</field>
422             <field name="type">tree</field>
423             <field name="arch" type="xml">
424                 <tree string="POS">
425                     <field name="date_order" widget="date"/>
426                     <field name="qty"/>
427                     <field name="amount"/>
428                     <field name="user_id"/>
429                 </tree>
430             </field>
431         </record>
432
433         <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_calendar">
434             <field name="name">report.sales.by.user.pos.month.calendar</field>
435             <field name="model">report.sales.by.user.pos.month</field>
436             <field name="type">calendar</field>
437             <field eval="2" name="priority"/>
438             <field name="arch" type="xml">
439                 <calendar color="user_id" date_start="date_order" string="POS Report">
440                     <field name="qty"/>
441                     <field name="amount" />
442                 </calendar>
443             </field>
444          </record>
445
446         <record model="ir.ui.view" id="view_report_sales_by_user_pos_month_graph">
447             <field name="name">report.sales.by.user.pos.month.graph</field>
448             <field name="model">report.sales.by.user.pos.month</field>
449             <field name="type">graph</field>
450             <field eval="2" name="priority"/>
451             <field name="arch" type="xml">
452                 <graph  type="bar" string="Sales by User">
453                     <field name="user_id" />
454                     <field name="amount"/>
455                 </graph>
456             </field>
457          </record>
458
459
460          <record model="ir.actions.act_window" id="action_report_sales_by_user_pos_month">
461             <field name="name">Sales by User Monthly</field>
462             <field name="res_model">report.sales.by.user.pos.month</field>
463             <field name="view_type">form</field>
464             <field name="view_mode">tree,calendar,form,graph</field>
465             <field name="domain">[('date_order','like',time.strftime('%Y-%m'))]</field>
466         </record>
467
468         <!-- Sales by margin -->
469
470         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_form">
471             <field name="name">report.sales.by.margin.pos.form</field>
472             <field name="model">report.sales.by.margin.pos</field>
473             <field name="type">form</field>
474             <field name="arch" type="xml">
475                 <form string="POS ">
476                     <field name="user_id"/>
477                     <field name="product_name"/>
478                     <field name="date_order" widget="date"/>
479                     <field name="qty"/>
480                     <field name="net_margin_per_qty"/>
481                     <field name="total"/>
482                 </form>
483             </field>
484         </record>
485
486
487         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_tree">
488             <field name="name">report.sales.by.margin.pos.tree</field>
489             <field name="model">report.sales.by.margin.pos</field>
490             <field name="type">tree</field>
491             <field name="arch" type="xml">
492                 <tree string="POS">
493                     <field name="user_id"/>
494                     <field name="product_name"/>
495                     <field name="date_order" widget="date"/>
496                     <field name="qty"/>
497                     <field name="net_margin_per_qty"/>
498                     <field name="total"/>
499                 </tree>
500             </field>
501         </record>
502
503         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_calendar">
504             <field name="name">report.sales.by.margin.pos.calendar</field>
505             <field name="model">report.sales.by.margin.pos</field>
506             <field name="type">calendar</field>
507             <field eval="2" name="priority"/>
508             <field name="arch" type="xml">
509                 <calendar color="user_id" date_start="date_order" string="Sales by User Margin">
510                     <field name="product_name"/>
511                     <field name="total" />
512                 </calendar>
513             </field>
514          </record>
515
516         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_graph">
517             <field name="name">report.sales.by.margin.pos.graph</field>
518             <field name="model">report.sales.by.margin.pos</field>
519             <field name="type">graph</field>
520             <field eval="2" name="priority"/>
521             <field name="arch" type="xml">
522                 <graph  type="bar" string="Sales by User Margin" orientation="horizontal">
523                     <field name="product_name" />
524                     <field name="total" operator="+"/>
525                 </graph>
526             </field>
527          </record>
528
529         <record model="ir.actions.act_window" id="action_report_sales_by_margin_pos_today">
530             <field name="name">Sales by User Daily margin</field>
531             <field name="res_model">report.sales.by.margin.pos</field>
532             <field name="view_type">form</field>
533             <field name="view_mode">tree,calendar,form,graph</field>
534             <field name="domain">[('date_order','=',time.strftime('%Y-%m-%d'))]</field>
535          </record>
536
537          <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_form">
538             <field name="name">report.sales.by.margin.pos.month.form</field>
539             <field name="model">report.sales.by.margin.pos.month</field>
540             <field name="type">form</field>
541             <field name="arch" type="xml">
542                 <form string="POS ">
543                     <field name="user_id"/>
544                     <field name="product_name"/>
545                     <field name="date_order" widget="date"/>
546                     <field name="qty"/>
547                     <field name="net_margin_per_qty"/>
548                     <field name="total"/>
549                 </form>
550             </field>
551         </record>
552
553
554         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_tree">
555             <field name="name">report.sales.by.margin.pos.month.tree</field>
556             <field name="model">report.sales.by.margin.pos.month</field>
557             <field name="type">tree</field>
558             <field name="arch" type="xml">
559                 <tree string="POS">
560                     <field name="user_id"/>
561                     <field name="product_name"/>
562                     <field name="date_order" widget="date"/>
563                     <field name="qty"/>
564                     <field name="net_margin_per_qty"/>
565                     <field name="total"/>
566                 </tree>
567             </field>
568         </record>
569
570         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_calendar">
571             <field name="name">report.sales.by.margin.pos.month.calendar</field>
572             <field name="model">report.sales.by.margin.pos.month</field>
573             <field name="type">calendar</field>
574             <field eval="2" name="priority"/>
575             <field name="arch" type="xml">
576                 <calendar color="user_id" date_start="date_order" string="Sales by User Margin">
577                     <field name="product_name"/>
578                     <field name="total" />
579                 </calendar>
580             </field>
581          </record>
582
583         <record model="ir.ui.view" id="view_report_sales_by_margin_pos_month_graph">
584             <field name="name">report.sales.by.margin.pos.month.graph</field>
585             <field name="model">report.sales.by.margin.pos.month</field>
586             <field name="type">graph</field>
587             <field eval="2" name="priority"/>
588             <field name="arch" type="xml">
589                 <graph  type="bar" string="Sales by User Margin" orientation="horizontal">
590                     <field name="product_name" />
591                     <field name="total" operator="+"/>
592                 </graph>
593             </field>
594          </record>
595
596          <record model="ir.actions.act_window" id="action_report_sales_by_margin_pos_month">
597             <field name="name">Sales by User Monthly margin</field>
598             <field name="res_model">report.sales.by.margin.pos.month</field>
599             <field name="view_type">form</field>
600             <field name="view_mode">tree,calendar,form,graph</field>
601             <field name="domain">[('date_order','like',time.strftime('%Y-%m'))]</field>
602         </record>
603
604         <record id="product_normal_form_pos_view" model="ir.ui.view">
605             <field name="name">product.normal.pos.form.inherit</field>
606             <field name="model">product.product</field>
607             <field name="type">form</field>
608             <field name="inherit_id" ref="product.product_normal_form_view"/>
609             <field name="arch" type="xml">
610                   <group name="status" position="after">
611                       <group colspan="2" col="2" name="pos">
612                           <separator string="Point-of-Sale" colspan="2"/>
613                           <field name="pos_categ_id"/>
614                       </group>
615                   </group>
616             </field>
617         </record>
618
619
620         <record id="product_normal_form_view" model="ir.ui.view">
621             <field name="name">product.normal.form.inherit</field>
622             <field name="model">product.product</field>
623             <field name="type">form</field>
624             <field name="inherit_id" ref="product.product_normal_form_view"/>
625             <field name="arch" type="xml">
626                   <field name="company_id" position="after">
627                   <separator string="Point of Sale" colspan="2"/>
628                       <field name="income_pdt"/>
629                       <field name="expense_pdt"/>
630                   </field>
631             </field>
632         </record>
633
634         <!-- Categories tree view -->
635         <record id="pos_category_form_view" model="ir.ui.view">
636             <field name="name">pos.category.form</field>
637             <field name="model">pos.category</field>
638             <field name="type">form</field>
639             <field name="arch" type="xml">
640                 <form string="PoS Categories">
641                     <group colspan="4" col="6">
642                         <field name="name"/>
643                         <field name="parent_id"/>
644                         <field name="sequence"/>
645                     </group>
646                 </form>
647             </field>
648         </record>
649         <record id="pos_category_tree_view" model="ir.ui.view">
650             <field name="name">pos.category.tree</field>
651             <field name="model">pos.category</field>
652             <field name="type">tree</field>
653             <field name="field_parent" eval="False"/>
654             <field name="arch" type="xml">
655                 <tree string="PoS Categories">
656                     <field name="sequence" invisible="1"/>
657                     <field name="complete_name"/>
658                 </tree>
659             </field>
660         </record>
661         <record id="pos_category_action" model="ir.actions.act_window">
662             <field name="name">PoS Categories</field>
663             <field name="type">ir.actions.act_window</field>
664             <field name="res_model">pos.category</field>
665             <field name="view_type">form</field>
666             <field name="view_mode">tree,form</field>
667             <field name="view_id" eval="False"/>
668         </record>
669         <menuitem action="pos_category_action" id="menu_pos_category" parent="menu_point_of_sale_product" sequence="0" />
670         <!-- END -->
671
672         <menuitem name="Configuration" parent="menu_point_root"
673             id="menu_point_config_product" sequence="25" groups="group_pos_manager"/>
674
675         <record model="ir.actions.act_window" id="action_product_input">
676             <field name="name">Products 'Take Money Out'</field>
677             <field name="type">ir.actions.act_window</field>
678             <field name="res_model">product.product</field>
679             <field name="view_type">form</field>
680             <field name="view_mode">tree,form</field>
681             <field name="domain">[('expense_pdt','=',True)]</field>
682             <field name="context">{'default_expense_pdt': True}</field>
683         </record>
684         <menuitem
685             parent="menu_point_config_product"
686             action="action_product_input"
687             id="products_for_input_operations"
688             groups="group_pos_manager"/>
689
690         <record model="ir.actions.act_window" id="action_product_output">
691             <field name="name">Products 'Put Money In'</field>
692             <field name="type">ir.actions.act_window</field>
693             <field name="res_model">product.product</field>
694             <field name="view_type">form</field>
695             <field name="view_mode">tree,form</field>
696             <field name="domain">[('income_pdt','=',True)]</field>
697             <field name="context">{'default_income_pdt': True}</field>
698         </record>
699         <menuitem
700             parent="menu_point_config_product"
701             action="action_product_output"
702             id="products_for_output_operations"
703             groups="group_pos_manager"/>
704
705         <menuitem
706             parent="menu_point_of_sale"
707             action="action_box_entries"
708             id="menu_wizard_enter_jrnl" sequence="2" />
709
710         <menuitem
711             parent="menu_point_of_sale"
712             action="action_box_out"
713             id="menu_wizard_enter_jrnl2" sequence="3" />
714
715         <record id="action_account_journal_form" model="ir.actions.act_window">
716             <field name="name">Payment Methods</field>
717             <field name="res_model">account.journal</field>
718             <field name="view_type">form</field>
719             <field name="view_mode">tree,form</field>
720             <field name="context" eval="{'default_journal_user': 1, 'default_view_id': ref('account.account_journal_bank_view'), 'default_type': 'cash'}"/>
721             <field name="domain">[('journal_user','=', 1)]</field>
722             <field name="help">Payment methods are defined by accounting journals having the field Payment Method checked.</field>
723         </record>
724
725         <menuitem action="action_account_journal_form"
726             id="menu_action_account_journal_form_open"
727             parent="menu_point_config_product"
728             sequence="20"/>
729
730         <record model="ir.ui.view" id="view_pos_order_tree_all_sales_lines">
731             <field name="name">POS Sales Lines</field>
732             <field name="model">pos.order.line</field>
733             <field name="type">tree</field>
734             <field name="arch" type="xml">
735                 <tree string="POS Orders lines">
736                     <field name="order_id" />
737                     <field name="create_date" />
738                     <field name="product_id" />
739                     <field name="qty" />
740                     <field name="price_unit" />
741                 </tree>
742             </field>
743         </record>
744          <record model="ir.actions.act_window" id="action_pos_all_sales_lines">
745             <field name="name">All sales lines</field>
746             <field name="type">ir.actions.act_window</field>
747             <field name="res_model">pos.order.line</field>
748             <field name="view_type">form</field>
749             <field name="view_id" ref="view_pos_order_tree_all_sales_lines" />
750         </record>
751
752         <!--  Miscelleanous Operations/Reporting -->
753         <menuitem name="Point of Sale" parent="base.menu_reporting" id="menu_point_rep" sequence="50" groups="group_pos_manager"/>
754         <!-- Invoice -->
755
756         <record model="ir.actions.act_window" id="action_pos_sale_all">
757             <field name="name">All Sales Orders</field>
758             <field name="type">ir.actions.act_window</field>
759             <field name="res_model">pos.order</field>
760             <field name="view_type">form</field>
761             <field name="view_mode">tree,form</field>
762             <field name="domain">[]</field>
763         </record>
764         <menuitem parent="menu_point_rep" id="menu_point_ofsale_all" action="action_pos_sale_all" sequence="1"/>
765
766         <record model="ir.actions.act_window" id="action_pos_invoice">
767             <field name="name">Invoices</field>
768             <field name="type">ir.actions.act_window</field>
769             <field name="res_model">account.invoice</field>
770             <field name="view_type">form</field>
771             <field name="view_mode">tree,form</field>
772             <field name="domain">[('origin','like','POS')]</field>
773         </record>
774
775                 <menuitem name="Reporting" id="menu_point_of_sale_reporting" parent="menu_point_root" sequence="20" />
776                 
777         <menuitem icon="STOCK_PRINT" action="action_report_pos_details"
778                 id="menu_pos_details" parent="menu_point_of_sale_reporting" sequence="6" />
779
780         <record model="ir.actions.client" id="action_pos_pos">
781           <field name="name">Start Point of Sale</field>
782           <field name="tag">pos.ui</field>
783         </record>
784
785         <record id="menu_point_root_touchscreen" model="ir.ui.menu">
786           <field name="name">Point of Sale</field>
787           <field name="sequence" eval="21"/>
788           <field name="action" ref="action_pos_pos"/>
789         </record>
790
791         <!-- use menuitem to add web_icon and web_icon_hover above -->
792         <menuitem id="menu_point_root_touchscreen"
793             web_icon="images/pos.png" web_icon_hover="images/pos-hover.png" groups="point_of_sale.group_pos_manager,point_of_sale.group_pos_user"/>
794
795     </data>
796 </openerp>