f424558884c1646d57c76ccc5597e9ef35e38e15
[odoo/odoo.git] / addons / account / account_invoice_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <!-- Invoices -->
6         <record id="view_invoice_line_calendar" model="ir.ui.view">
7             <field name="name">account.invoice.calendar</field>
8             <field name="model">account.invoice</field>
9             <field name="arch" type="xml">
10                 <calendar string="Invoices" color="journal_id" date_start="date_invoice">
11                     <field name="partner_id"/>
12                     <field name="amount_total"/>
13                 </calendar>
14             </field>
15         </record>
16
17         <record model="ir.ui.view" id="view_invoice_graph">
18             <field name="name">account.invoice.graph</field>
19             <field name="model">account.invoice</field>
20             <field name="arch" type="xml">
21                 <graph string="Invoices" type="bar">
22                     <field name="partner_id"/>
23                     <field name="amount_total" operator="+"/>
24                 </graph>
25             </field>
26         </record>
27
28         <record id="view_invoice_line_tree" model="ir.ui.view">
29             <field name="name">account.invoice.line.tree</field>
30             <field name="model">account.invoice.line</field>
31             <field name="arch" type="xml">
32                 <tree string="Invoice Line">
33                     <field name="name"/>
34                     <field name="account_id" groups="account.group_account_user"/>
35                     <field name="quantity"/>
36                     <field name="uos_id" groups="product.group_uom"/>
37                     <field name="price_unit"/>
38                     <field name="discount" groups="sale.group_discount_per_so_line"/>
39                     <field name="price_subtotal"/>
40                 </tree>
41             </field>
42         </record>
43
44         <record id="view_invoice_line_form" model="ir.ui.view">
45             <field name="name">account.invoice.line.form</field>
46             <field name="model">account.invoice.line</field>
47             <field name="arch" type="xml">
48                 <form string="Invoice Line">
49                     <group>
50                         <group>
51                             <field name="product_id"
52                                 on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, parent.company_id, context)" context="{'partner_id': parent.partner_id}"/>
53                             <label for="quantity"/>
54                             <div>
55                                 <field name="quantity" class="oe_inline"/>
56                                 <field name="uos_id" class="oe_inline" groups="product.group_uom"
57                                   on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, parent.company_id, context)"/>
58                             </div>
59                             <field name="price_unit"/>
60                             <field name="discount" groups="sale.group_discount_per_so_line"/>
61                         </group>
62                         <group>
63                             <field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '&lt;&gt;', 'view')]" name="account_id" on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)" groups="account.group_account_user"/>
64                             <field name="invoice_line_tax_id" context="{'type':parent.get('type')}" domain="[('parent_id','=',False),('company_id', '=', parent.company_id)]" widget="many2many_tags"/>
65                             <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', parent.company_id)], ('state','not in',('close','cancelled'))]" name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
66                             <field name="company_id" groups="base.group_multi_company" readonly="1"/>
67                         </group>
68                     </group>
69                     <label for="name"/>
70                     <field name="name"/>
71                 </form>
72             </field>
73         </record>
74
75         <record id="view_invoice_tax_tree" model="ir.ui.view">
76             <field name="name">account.invoice.tax.tree</field>
77             <field name="model">account.invoice.tax</field>
78             <field name="arch" type="xml">
79                 <tree string="Manual Invoice Taxes">
80                     <field name="sequence"/>
81                     <field name="manual"/>
82                     <field name="name"/>
83                     <field name="account_id" groups="base.group_account_user"/>
84                     <field name="base"/>
85                     <field name="amount"/>
86                 </tree>
87             </field>
88         </record>
89
90         <record id="view_invoice_tax_form" model="ir.ui.view">
91             <field name="name">account.invoice.tax.form</field>
92             <field name="model">account.invoice.tax</field>
93             <field name="arch" type="xml">
94                 <form string="Manual Invoice Taxes">
95                     <group col="4">
96                         <field name="name"/>
97                         <field name="sequence"/>
98                         <field name="account_id" groups="account.group_account_user"/>
99                         <field name="account_analytic_id" domain="[('type','&lt;&gt;','view'), ('company_id', '=', parent.company_id), ('state','not in',('close','cancelled')]" groups="analytic.group_analytic_accounting"/>
100                         <field name="manual"/>
101                         <field name="amount"/>
102                         <field name="base" readonly="0"/>
103                         <separator colspan="4" string="Tax Codes"/>
104                         <field name="base_code_id"/>
105                         <field name="base_amount"/>
106                         <field name="tax_code_id"/>
107                         <field name="tax_amount"/>
108                         <field name="factor_base" invisible="True"/>
109                         <field name="factor_tax" invisible="True"/>
110                     </group>
111                 </form>
112             </field>
113         </record>
114
115         <record id="invoice_tree" model="ir.ui.view">
116             <field name="name">account.invoice.tree</field>
117             <field name="model">account.invoice</field>
118             <field name="arch" type="xml">
119                 <tree colors="blue:state == 'draft';black:state in ('proforma','proforma2','open');gray:state == 'cancel'" string="Invoice">
120                     <field name="partner_id" groups="base.group_user"/>
121                     <field name="commercial_partner_id" invisible="1"/>
122                     <field name="date_invoice"/>
123                     <field name="number"/>
124                     <field name="reference" invisible="1"/>
125                     <field name="name" invisible="1"/>
126                     <field name="journal_id" invisible="1"/>
127                     <field name="period_id" invisible="1" groups="account.group_account_user"/>
128                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
129                     <field name="user_id" string="Responsible"/>
130                     <field name="date_due"/>
131                     <field name="origin"/>
132                     <field name="currency_id" groups="base.group_multi_currency"/>
133                     <field name="residual" sum="Residual Amount"/>
134                     <field name="amount_untaxed" sum="Untaxed Amount"/>
135                     <field name="amount_total" sum="Total Amount"/>
136                     <field name="state"/>
137                 </tree>
138             </field>
139         </record>
140
141         <record id="invoice_supplier_form" model="ir.ui.view">
142             <field name="name">account.invoice.supplier.form</field>
143             <field name="model">account.invoice</field>
144             <field name="priority">2</field>
145             <field name="arch" type="xml">
146                 <form string="Supplier Invoice">
147                 <header>
148                         <button name="invoice_open" states="draft,proforma2" string="Validate" class="oe_highlight" groups="account.group_account_invoice"/>
149                         <button name="%(action_account_invoice_refund)d" type='action' string='Ask Refund' states='open,paid' groups="account.group_account_invoice"/>
150                         <button name="invoice_cancel" states="draft,proforma2" string="Cancel Invoice" groups="account.group_account_invoice"/>
151                         <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" groups="account.group_account_invoice"/>
152                         <button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
153                     <field name="state" widget="statusbar" statusbar_visible="draft,open,paid" statusbar_colors='{"proforma":"blue","proforma2":"blue"}'/>
154                 </header>
155                 <sheet string="Supplier Invoice">
156                     <div class="oe_title">
157                         <h1>
158                             <label string="Draft Invoice" attrs="{'invisible': ['|',('state','&lt;&gt;','draft'), ('type','&lt;&gt;','in_invoice')]}"/>
159                             <label string="Draft Refund" attrs="{'invisible': ['|',('state','&lt;&gt;','draft'), ('type','&lt;&gt;','in_refund')]}"/>
160                             <label string="Invoice" attrs="{'invisible': ['|',('state', '=', 'draft'), ('type','&lt;&gt;','in_invoice')]}"/>
161                             <label string="Refund" attrs="{'invisible': ['|',('state', '=', 'draft'), ('type','&lt;&gt;','in_refund')]}"/>
162                             <field name="number" class="oe_inline"  attrs="{'invisible': [('state', '=', 'draft')]}"/>
163                         </h1>
164                     </div>
165                     <field name="type" invisible="1"/>
166                     <group>
167                         <group>
168                             <field string="Supplier" name="partner_id"
169                               on_change="onchange_partner_id(type, partner_id, date_invoice, payment_term, partner_bank_id, company_id, context)"
170                               context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}"
171                               domain="[('supplier', '=', True)]"/>
172                             <field name="fiscal_position" options="{'no_create': True}"/>
173                             <field name="origin"/>
174                             <field name="supplier_invoice_number"/>
175                             <label for="reference_type"/>
176                             <div>
177                                 <field name="reference_type" class="oe_inline oe_edit_only"/>
178                                 <field name="reference" class="oe_inline"/>
179                             </div>
180                         </group>
181                         <group>
182                             <field name="date_invoice" on_change="onchange_payment_term_date_invoice(payment_term, date_invoice)" />
183                             <field name="date_due"/>
184                             <field domain="[('company_id', '=', company_id), ('type', '=', 'payable')]"
185                                 name="account_id" groups="account.group_account_user"/>
186                             <field name="journal_id" groups="account.group_account_user"
187                                 on_change="onchange_journal_id(journal_id)" options="{'no_create': True}"/>
188                             <field name="currency_id" groups="base.group_multi_currency"/>
189                             <field name="check_total" groups="account.group_supplier_inv_check_total"/>
190                         </group>
191                     </group>
192                     <notebook>
193                         <page string="Invoice">
194                             <field context="{'partner_id': partner_id, 'price_type': context.get('price_type') or False, 'type': type}" name="invoice_line">
195                                 <tree string="Invoice lines" editable="bottom">
196                                     <field name="sequence" widget="handle" />
197                                     <field name="product_id"
198                                         on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, parent.company_id, context)" context="{'partner_id': parent.partner_id}"/>
199                                     <field name="name"/>
200                                     <field name="company_id" invisible="1"/>
201                                     <field name="account_id" groups="account.group_account_user"
202                                         domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '=', 'other')]"
203                                         on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)"/>
204                                     <field name="account_analytic_id" groups="analytic.group_analytic_accounting"
205                                         domain="[('type','!=','view'), ('company_id', '=', parent.company_id), ('state','not in',('close','cancelled'))]"/>
206                                     <field name="quantity"/>
207                                     <field name="uos_id" groups="product.group_uom"
208                                         on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, parent.company_id, context)"/>
209                                     <field name="price_unit"/>
210                                     <field name="discount" groups="sale.group_discount_per_so_line"/>
211                                     <field name="invoice_line_tax_id" widget="many2many_tags" context="{'type':parent.type}"
212                                         domain="[('parent_id','=',False),('company_id', '=', parent.company_id)]"/>
213                                     <field name="price_subtotal"/>
214                                 </tree>
215                             </field>
216                             <group class="oe_subtotal_footer oe_right">
217                                 <field name="amount_untaxed" widget="monetary" options="{'currency_field': 'currency_id'}"/>
218                                 <div>
219                                     <label for="amount_tax"/>
220                                     <button name="button_reset_taxes" states="draft,proforma2"
221                                         string="(update)" class="oe_link oe_edit_only"
222                                         type="object" help="Recompute taxes and total"/>
223                                 </div>
224                                 <field name="amount_tax" nolabel="1" widget="monetary" options="{'currency_field': 'currency_id'}"/>
225                                 <field name="amount_total" class="oe_subtotal_footer_separator" widget="monetary" options="{'currency_field': 'currency_id'}"/>
226
227                                 <field name="residual" widget="monetary" options="{'currency_field': 'currency_id'}"/>
228                                 <field name="reconciled" invisible="1"/>
229                             </group>
230                             <div style="width: 50%%">
231                                 <field name="tax_line">
232                                     <tree editable="bottom" string="Taxes">
233                                         <field name="name"/>
234                                         <field name="account_id" groups="account.group_account_invoice"/>
235                                         <field name="account_analytic_id" domain="[('type','&lt;&gt;','view'), ('company_id', '=', parent.company_id)]" groups="analytic.group_analytic_accounting"/>
236                                         <field name="base" on_change="base_change(base,parent.currency_id,parent.company_id,parent.date_invoice)" readonly="1"/>
237                                         <field name="amount" on_change="amount_change(amount,parent.currency_id,parent.company_id,parent.date_invoice)"/>
238
239                                         <field invisible="True" name="base_amount"/>
240                                         <field invisible="True" name="tax_amount"/>
241                                         <field name="factor_base" invisible="True"/>
242                                         <field name="factor_tax" invisible="True"/>
243                                     </tree>
244                                 </field>
245                             </div>
246                             <div class="oe_clear">
247                                 <label for="comment"/>
248                             </div>
249                             <field name="comment"/>
250                         </page>
251                         <page string="Other Info">
252                             <group>
253                                 <group>
254                                     <field domain="[('partner_id', '=', partner_id)]" name="partner_bank_id" on_change="onchange_partner_bank(partner_bank_id)"/>
255                                     <field name="user_id" string="Responsible" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'account.group_account_invoice']}"/>
256                                     <field name="name" invisible="1"/>
257                                     <field name="payment_term" options="{'no_create': True}"/>
258                                 </group>
259                                 <group>
260                                     <field name="move_id" groups="account.group_account_user"/>
261                                     <field name="period_id" domain="[('state', '=', 'draft'), ('company_id', '=', company_id)]" groups="account.group_account_user"/>
262                                     <field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id)" widget="selection" groups="base.group_multi_company"/>
263                                 </group>
264                             </group>
265                         </page>
266                         <page string="Payments">
267                             <field name="payment_ids">
268                                 <tree string="Payments">
269                                     <field name="date" string="Payment Date"/>
270                                     <field name="move_id"/>
271                                     <field name="ref"/>
272                                     <field name="name"/>
273                                     <field name="journal_id"/>
274                                     <field name="debit"/>
275                                     <field name="credit"/>
276                                     <field name="amount_currency"/>
277                                     <field name="currency_id" groups="base.group_multi_currency"/>
278                                 </tree>
279                             </field>
280                         </page>
281                     </notebook>
282                 </sheet>
283                 <div class="oe_chatter">
284                     <field name="message_follower_ids" widget="mail_followers"/>
285                     <field name="message_ids" widget="mail_thread"/>
286                 </div>
287                 </form>
288             </field>
289         </record>
290
291         <record id="invoice_form" model="ir.ui.view">
292             <field name="name">account.invoice.form</field>
293             <field name="model">account.invoice</field>
294             <field name="arch" type="xml">
295                 <form string="Invoice">
296                 <header>
297                     <button name="action_invoice_sent" type="object" string="Send by Email" attrs="{'invisible':['|',('sent','=',True), ('state', '!=', 'open')]}" class="oe_highlight" groups="base.group_user"/>
298                     <button name="invoice_print" string="Print" type="object" attrs="{'invisible':['|',('sent','=',True), ('state', '!=', 'open')]}" class="oe_highlight" groups="base.group_user"/>
299                     <button name="action_invoice_sent" type="object" string="Send by Email" attrs="{'invisible':['|',('sent','=',False), ('state', '!=', 'open')]}" groups="base.group_user"/>
300                     <button name="invoice_print" string="Print Invoice" type="object" attrs="{'invisible':['|',('sent','=',False), ('state', '!=', 'open')]}" groups="base.group_user"/>
301                     <button name="invoice_open" states="draft" string="Validate" class="oe_highlight" groups="base.group_user"/>
302                     <button name="invoice_open" states="proforma2" string="Validate" groups="base.group_user"/>
303                     <button name="invoice_proforma2" states="draft" string="PRO-FORMA" groups="account.group_proforma_invoices"/>
304                     <button name="%(action_account_invoice_refund)d" type='action' string='Refund Invoice' states='open,proforma2,paid' groups="base.group_user"/>
305                     <button name="invoice_cancel" states="draft,proforma2,open" string="Cancel Invoice" groups="base.group_no_one"/>
306                     <button name="action_cancel_draft" states="cancel" string="Reset to Draft" type="object" groups="base.group_user"/>
307                     <button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
308                     <!--button name="%(account_invoices)d" string="Print Invoice" type="action" states="open,paid,proforma,sale,proforma2"/-->
309                     <field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,open,paid" statusbar_colors='{"proforma":"blue","proforma2":"blue"}'/>
310                 </header>
311                 <sheet string="Invoice">
312                     <h1>
313                         <label string="Draft Invoice" attrs="{'invisible': ['|',('state','not in',('draft',)), ('type','&lt;&gt;','out_invoice')]}"/>
314                         <label string="Draft Refund" attrs="{'invisible': ['|',('state','not in',('draft',)), ('type','&lt;&gt;','out_refund')]}"/>
315                         <label string="Pro Forma Invoice" attrs="{'invisible': [('state','not in',('proforma','proforma2'))]}"/>
316                         <label string="Invoice" attrs="{'invisible': ['|',('state','in',('draft','proforma','proforma2')), ('type','&lt;&gt;','out_invoice')]}"/>
317                         <label string="Refund" attrs="{'invisible': ['|',('state','in',('draft','proforma','proforma2')), ('type','&lt;&gt;','out_refund')]}"/>
318                         <field name="number" readonly="1" class="oe_inline"/>
319                     </h1>
320                     <field name="type" invisible="1"/>
321                     <group>
322                         <group>
323                             <field string="Customer" name="partner_id"
324                                 on_change="onchange_partner_id(type, partner_id, date_invoice, payment_term, partner_bank_id, company_id, context)"
325                                 context="{'search_default_customer':1, 'show_address': 1}"
326                                 options='{"always_reload": True}'
327                                 domain="[('customer', '=', True)]"/>
328                             <field name="fiscal_position" options="{'no_create': True}" />
329                         </group>
330                         <group>
331                             <field name="date_invoice" on_change="onchange_payment_term_date_invoice(payment_term, date_invoice)" />
332                             <field name="journal_id" groups="account.group_account_user"
333                                 on_change="onchange_journal_id(journal_id)" options="{'no_create': True}"/>
334                             <field domain="[('company_id', '=', company_id),('type','=', 'receivable')]"
335                                 name="account_id" groups="account.group_account_user"/>
336
337                             <label for="currency_id" groups="base.group_multi_currency"/>
338                             <div groups="base.group_multi_currency">
339                                 <field name="currency_id" class="oe_inline"/>
340                                 <button name="%(action_account_change_currency)d" type="action"
341                                   class="oe_inline oe_link oe_edit_only"
342                                   string="(change)"
343                                   attrs="{'invisible':[('state','!=','draft')]}"
344                                   groups="account.group_account_user"/>
345                             </div>
346                         </group>
347                     </group>
348                     <field name="sent" invisible="1"/>
349                     <notebook colspan="4">
350                         <page string="Invoice Lines">
351                             <field name="invoice_line" nolabel="1" widget="one2many_list" context="{'type': type}">
352                                 <tree string="Invoice Lines" editable="bottom">
353                                     <field name="sequence" widget="handle"/>
354                                     <field name="product_id"
355                                         on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, parent.company_id, context)"/>
356                                     <field name="name"/>
357                                     <field name="company_id" invisible="1"/>
358                                     <field name="account_id" groups="account.group_account_user"
359                                         domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '=', 'other')]"
360                                         on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)"/>
361                                     <field name="account_analytic_id" groups="analytic.group_analytic_accounting"
362                                         domain="[('type','!=','view'), ('company_id', '=', parent.company_id), ('state','not in',('close','cancelled'))]"/>
363                                     <field name="quantity"/>
364                                     <field name="uos_id" groups="product.group_uom"
365                                         on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, parent.company_id, context)"/>
366                                     <field name="price_unit"/>
367                                     <field name="discount" groups="sale.group_discount_per_so_line"/>
368                                     <field name="invoice_line_tax_id" widget="many2many_tags" context="{'type':parent.type}"
369                                         domain="[('parent_id','=',False),('company_id', '=', parent.company_id)]"/>
370                                     <field name="price_subtotal"/>
371                                 </tree>
372                             </field>
373                             <group class="oe_subtotal_footer oe_right">
374                                 <field name="amount_untaxed" widget="monetary" options="{'currency_field': 'currency_id'}"/>
375                                 <div>
376                                     <label for="amount_tax"/>
377                                     <button name="button_reset_taxes" states="draft,proforma2"
378                                         string="(update)" class="oe_link oe_edit_only"
379                                         type="object" help="Recompute taxes and total"/>
380                                 </div>
381                                 <field name="amount_tax" nolabel="1" widget="monetary" options="{'currency_field': 'currency_id'}"/>
382                                 <field name="amount_total" class="oe_subtotal_footer_separator" widget="monetary" options="{'currency_field': 'currency_id'}"/>
383                                 <field name="residual" groups="account.group_account_user" widget="monetary" options="{'currency_field': 'currency_id'}"/>
384                                 <field name="reconciled" invisible="1"/>
385                             </group>
386                             <group>
387                                     <field name="payment_term" class="oe_inline"/>
388                             </group>
389                             <div class="oe_clear">
390                                 <label for="comment"/>
391                             </div>
392                             <field name="comment" class="oe_inline" placeholder="Additional notes..."/>
393                         </page>
394                         <page string="Other Info">
395                             <group col="4">
396                                 <group>
397                                     <field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id)" widget="selection" groups="base.group_multi_company"/>
398                                     <field name="user_id" groups="base.group_user" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'account.group_account_invoice']}"/>
399                                     <field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank_id"/>
400                                     <field name="period_id" domain="[('state', '=', 'draft'), ('company_id', '=', company_id)]"
401                                         groups="account.group_account_manager"
402                                         string="Accounting Period"
403                                         placeholder="force period"/>
404                                     <field name="date_due"/>
405                                 </group>
406                                 <group>
407                                     <field name="origin" groups="base.group_user"/>
408                                     <field name="name"/>
409                                     <field name="move_id" groups="account.group_account_user"/>
410                                 </group>
411                             </group>
412                             <field name="tax_line">
413                                 <tree editable="bottom" string="Taxes">
414                                     <field name="name"/>
415                                     <field name="account_id" groups="account.group_account_user"/>
416                                     <field name="base" on_change="base_change(base,parent.currency_id,parent.company_id,parent.date_invoice)" readonly="1"/>
417                                     <field name="amount" on_change="amount_change(amount,parent.currency_id,parent.company_id,parent.date_invoice)"/>
418                                     <field invisible="True" name="base_amount"/>
419                                     <field invisible="True" name="tax_amount"/>
420                                     <field name="factor_base" invisible="True"/>
421                                     <field name="factor_tax" invisible="True"/>
422                                 </tree>
423                             </field>
424                         </page>
425                         <page string="Payments" groups="base.group_user">
426                             <field name="payment_ids">
427                                 <tree string="Payments">
428                                     <field name="date"/>
429                                     <field name="move_id"/>
430                                     <field name="ref"/>
431                                     <field name="name"/>
432                                     <field name="journal_id" groups="base.group_user"/>
433                                     <field name="debit"/>
434                                     <field name="credit"/>
435                                     <field name="amount_currency" groups="base.group_multi_currency"/>
436                                     <field name="currency_id" groups="base.group_multi_currency"/>
437                                 </tree>
438                             </field>
439                         </page>
440                     </notebook>
441                 </sheet>
442                 <div class="oe_chatter">
443                     <field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
444                     <field name="message_ids" widget="mail_thread"/>
445                 </div>
446                 </form>
447             </field>
448         </record>
449
450         <!-- Custom reports (aka filters) -->
451         <record id="filter_invoice_salespersons" model="ir.filters">
452             <field name="name">By Salespersons</field>
453             <field name="model_id">account.invoice</field>
454             <field name="user_id" eval="False"/>
455             <field name="context">{'group_by': ['date_invoice:month', 'user_id']}</field>
456         </record>
457
458         <record id="view_account_invoice_filter" model="ir.ui.view">
459             <field name="name">account.invoice.select</field>
460             <field name="model">account.invoice</field>
461             <field name="arch" type="xml">
462                 <search string="Search Invoice">
463                     <field name="number" string="Invoice" filter_domain="['|','|','|', ('number','ilike',self), ('origin','ilike',self), ('supplier_invoice_number', 'ilike', self), ('partner_id', 'child_of', self)]"/>
464                     <filter name="draft" string="Draft" domain="[('state','=','draft')]" help="Draft Invoices"/>
465                     <filter name="proforma" string="Proforma" domain="[('state','=','proforma2')]" help="Proforma Invoices" groups="account.group_proforma_invoices"/>
466                     <filter name="invoices" string="Invoices" domain="[('state','not in',['draft','cancel'])]" help="Proforma/Open/Paid Invoices"/>
467                     <filter name="unpaid" string="Unpaid" domain="[('state','=','open')]" help="Unpaid Invoices"/>
468                     <separator/>
469                     <field name="partner_id" operator="child_of"/>
470                     <field name="user_id" string="Salesperson"/>
471                     <field name="period_id" string="Period"/>
472                     <separator/>
473                     <filter domain="[('user_id','=',uid)]" help="My Invoices"/>
474                     <group expand="0" string="Group By">
475                         <filter name="group_by_partner_id" string="Partner" context="{'group_by':'partner_id'}"/>
476                         <filter string="Salesperson" context="{'group_by':'user_id'}"/>
477                         <filter string="Status" context="{'group_by':'state'}"/>
478                         <separator/>
479                         <filter string="Period" context="{'group_by':'period_id'}"/>
480                         <filter string="Due Month" context="{'group_by':'date_due'}"/>
481                     </group>
482                </search>
483             </field>
484         </record>
485
486         <record id="action_invoice_tree" model="ir.actions.act_window">
487             <field name="name">Invoices</field>
488             <field name="res_model">account.invoice</field>
489             <field name="view_type">form</field>
490             <field name="view_mode">tree,form,calendar,graph</field>
491             <field name="view_id" ref="invoice_tree"/>
492             <field name="context">{'type':'out_invoice'}</field>
493             <field name="search_view_id" ref="view_account_invoice_filter"/>
494         </record>
495
496         <record id="action_invoice_tree_pending_invoice" model="ir.actions.act_window">
497             <field name="name">Pending Invoice</field>
498             <field name="res_model">account.invoice</field>
499             <field name="view_type">form</field>
500             <field name="view_mode">tree,form,calendar,graph</field>
501             <field name="view_id" ref="invoice_tree"/>
502             <field name="context">{'type':'out_invoice'}</field>
503             <field name="domain">[('state','=','draft')]</field>
504            <!-- <field name="search_view_id" ref="view_account_invoice_filter"/>-->
505         </record>
506
507         <record id="action_invoice_tree_view1" model="ir.actions.act_window.view">
508             <field eval="1" name="sequence"/>
509             <field name="view_mode">tree</field>
510             <field name="act_window_id" ref="action_invoice_tree"/>
511         </record>
512
513         <record id="action_invoice_tree_view2" model="ir.actions.act_window.view">
514             <field eval="2" name="sequence"/>
515             <field name="view_mode">form</field>
516             <field name="view_id" ref="invoice_form"/>
517             <field name="act_window_id" ref="action_invoice_tree"/>
518         </record>
519
520         <record id="action_invoice_tree1" model="ir.actions.act_window">
521             <field name="name">Customer Invoices</field>
522             <field name="res_model">account.invoice</field>
523             <field name="view_type">form</field>
524             <field name="view_mode">tree,form,calendar,graph</field>
525             <field eval="False" name="view_id"/>
526             <field name="domain">[('type','=','out_invoice')]</field>
527             <field name="context">{'default_type':'out_invoice', 'type':'out_invoice', 'journal_type': 'sale'}</field>
528             <field name="search_view_id" ref="view_account_invoice_filter"/>
529             <field name="help" type="html">
530               <p class="oe_view_nocontent_create">
531                 Click to create a customer invoice.
532               </p><p>
533                 Odoo's electronic invoicing allows to ease and fasten the
534                 collection of customer payments. Your customer receives the
535                 invoice by email and he can pay online and/or import it
536                 in his own system.
537               </p><p>
538                 The discussions with your customer are automatically displayed at
539                 the bottom of each invoice.
540               </p>
541             </field>
542         </record>
543
544
545         <record id="action_invoice_tree1_view1" model="ir.actions.act_window.view">
546             <field eval="1" name="sequence"/>
547             <field name="view_mode">tree</field>
548             <field name="act_window_id" ref="action_invoice_tree1"/>
549         </record>
550
551         <record id="action_invoice_tree1_view2" model="ir.actions.act_window.view">
552             <field eval="2" name="sequence"/>
553             <field name="view_mode">form</field>
554             <field name="view_id" ref="invoice_form"/>
555             <field name="act_window_id" ref="action_invoice_tree1"/>
556         </record>
557
558         <menuitem action="action_invoice_tree1" id="menu_action_invoice_tree1" parent="menu_finance_receivables"/>
559
560         <record id="action_invoice_tree2" model="ir.actions.act_window">
561             <field name="name">Supplier Invoices</field>
562             <field name="res_model">account.invoice</field>
563             <field name="view_type">form</field>
564             <field name="view_mode">tree,form,calendar,graph</field>
565             <field eval="False" name="view_id"/>
566             <field name="domain">[('type','=','in_invoice')]</field>
567             <field name="context">{'default_type': 'in_invoice', 'type': 'in_invoice', 'journal_type': 'purchase'}</field>
568             <field name="search_view_id" ref="view_account_invoice_filter"/>
569             <field name="help" type="html">
570               <p class="oe_view_nocontent_create">
571                 Click to record a new supplier invoice.
572               </p><p>
573                 You can control the invoice from your supplier according to
574                 what you purchased or received. Odoo can also generate
575                 draft invoices automatically from purchase orders or receipts.
576               </p>
577             </field>
578         </record>
579         <menuitem action="action_invoice_tree2" id="menu_action_invoice_tree2" parent="menu_finance_payables" sequence="1"/>
580
581         <record id="action_invoice_tree3" model="ir.actions.act_window">
582             <field name="name">Customer Refunds</field>
583             <field name="res_model">account.invoice</field>
584             <field name="view_type">form</field>
585             <field name="view_mode">tree,form,calendar,graph</field>
586             <field eval="False" name="view_id"/>
587             <field name="domain">[('type','=','out_refund')]</field>
588             <field name="context">{'default_type':'out_refund', 'type':'out_refund', 'journal_type': 'sale_refund'}</field>
589             <field name="search_view_id" ref="view_account_invoice_filter"/>
590             <field name="help" type="html">
591               <p class="oe_view_nocontent_create">
592                 Click to create a customer refund.
593               </p><p>
594                 A refund is a document that credits an invoice completely or
595                 partially.
596               </p><p>
597                 Instead of manually creating a customer refund, you
598                 can generate it directly from the related customer invoice.
599               </p>
600             </field>
601         </record>
602
603         <record id="action_invoice_tree3_view1" model="ir.actions.act_window.view">
604             <field eval="1" name="sequence"/>
605             <field name="view_mode">tree</field>
606             <field name="act_window_id" ref="action_invoice_tree3"/>
607         </record>
608
609         <record id="action_invoice_tree3_view2" model="ir.actions.act_window.view">
610             <field eval="2" name="sequence"/>
611             <field name="view_mode">form</field>
612             <field name="view_id" ref="invoice_form"/>
613             <field name="act_window_id" ref="action_invoice_tree3"/>
614         </record>
615         <menuitem action="action_invoice_tree3" id="menu_action_invoice_tree3" parent="menu_finance_receivables"/>
616
617         <record id="action_invoice_tree4" model="ir.actions.act_window">
618             <field name="name">Supplier Refunds</field>
619             <field name="res_model">account.invoice</field>
620             <field name="view_type">form</field>
621             <field name="view_mode">tree,form,calendar,graph</field>
622             <field eval="False" name="view_id"/>
623             <field name="domain">[('type','=','in_refund')]</field>
624             <field name="context">{'default_type': 'in_refund', 'type': 'in_refund', 'journal_type': 'purchase_refund'}</field>
625             <field name="search_view_id" ref="view_account_invoice_filter"/>
626             <field name="help" type="html">
627               <p class="oe_view_nocontent_create">
628                 Click to register a refund you received from a supplier.
629               </p><p>
630                 Instead of creating the supplier refund manually, you can generate
631                 refunds and reconcile them directly from the related supplier invoice.
632               </p>
633             </field>
634         </record>
635         <menuitem action="action_invoice_tree4" id="menu_action_invoice_tree4" parent="menu_finance_payables" sequence="2"/>
636
637         <act_window
638            id="act_account_journal_2_account_invoice_opened"
639            name="Unpaid Invoices"
640            context="{'search_default_journal_id': [active_id], 'search_default_unpaid':1, 'default_journal_id': active_id}"
641            domain="[('journal_id','=', active_id)]"
642            res_model="account.invoice"
643            src_model="account.journal"/>
644
645     </data>
646 </openerp>