e9ff1d1ddfcd852575b476473e581fd169099687
[odoo/odoo.git] / addons / account / account_invoice_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <!--
6         Invoices
7         -->
8
9         <record id="view_invoice_line_calendar" model="ir.ui.view">
10             <field name="name">account.invoice.calendar</field>
11             <field name="model">account.invoice</field>
12             <field name="type">calendar</field>
13             <field name="arch" type="xml">
14                 <calendar string="Invoices" color="journal_id" date_start="date_invoice">
15                     <field name="partner_id"/>
16                     <field name="amount_total"/>
17                 </calendar>
18             </field>
19         </record>
20         <record model="ir.ui.view" id="view_invoice_graph">
21             <field name="name">account.invoice.graph</field>
22             <field name="model">account.invoice</field>
23             <field name="type">graph</field>
24             <field name="arch" type="xml">
25                 <graph string="Invoices" type="bar">
26                     <field name="partner_id"/>
27                     <field name="amount_total" operator="+"/>
28                 </graph>
29             </field>
30         </record>
31         <record id="view_invoice_line_tree" model="ir.ui.view">
32             <field name="name">account.invoice.line.tree</field>
33             <field name="model">account.invoice.line</field>
34             <field name="type">tree</field>
35             <field name="arch" type="xml">
36                 <tree string="Invoice Line">
37                     <field name="name"/>
38                     <field name="account_id" groups="base.group_user"/>
39                     <field name="quantity"/>
40                     <field name="uos_id"/>
41                     <field name="price_unit"/>
42                     <field name="discount"/>
43                     <field name="price_subtotal"/>
44                 </tree>
45             </field>
46         </record>
47         <record id="view_invoice_line_form" model="ir.ui.view">
48             <field name="name">account.invoice.line.form</field>
49             <field name="model">account.invoice.line</field>
50             <field name="type">form</field>
51             <field name="arch" type="xml">
52                 <form string="Invoice Line">
53                     <notebook>
54                         <page string="Line">
55                             <field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, {'company_id': parent.company_id})"/>
56                             <field name="uos_id"/>
57                             <field name="quantity" select="1"/>
58                             <field name="price_unit" select="1"/>
59                             <field name="discount"/>
60                             <field colspan="4" name="name" select="1"/>
61                             <field colspan="4" name="origin" select="1"/>
62                             <field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '&lt;&gt;', 'view')]" name="account_id" on_change="onchange_account_id(parent.fiscal_position,account_id)" groups="base.group_user"/>
63                             <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', parent.company_id)]" name="account_analytic_id" groups="base.group_user"/>
64                             <newline/>
65                             <field name="price_subtotal"/>
66                             <field name="company_id" groups="base.group_multi_company" widget="selection"/>
67                             <field colspan="4" name="invoice_line_tax_id" context="{'type':parent.type}" domain="[('parent_id','=',False),('company_id', '=', parent.company_id)]"/>
68                         </page>
69                         <page string="Notes">
70                             <field colspan="4" name="note" nolabel="1"/>
71                         </page>
72                     </notebook>
73                 </form>
74             </field>
75         </record>
76         <record id="view_invoice_tax_tree" model="ir.ui.view">
77             <field name="name">account.invoice.tax.tree</field>
78             <field name="model">account.invoice.tax</field>
79             <field name="type">tree</field>
80             <field name="arch" type="xml">
81                 <tree string="Manual Invoice Taxes">
82                     <field name="sequence"/>
83                     <field name="manual"/>
84                     <field name="name"/>
85                     <field name="account_id" groups="base.group_user"/>
86                     <field name="base"/>
87                     <field name="amount"/>
88                 </tree>
89             </field>
90         </record>
91         <record id="view_invoice_tax_form" model="ir.ui.view">
92             <field name="name">account.invoice.tax.form</field>
93             <field name="model">account.invoice.tax</field>
94             <field name="type">form</field>
95             <field name="arch" type="xml">
96                 <form string="Manual Invoice Taxes">
97                     <field name="name" select="1"/>
98                     <field name="sequence"/>
99                     <field name="account_id" select="1" groups="base.group_user"/>
100                     <field name="manual" select="1"/>
101                     <field name="amount" select="1"/>
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                 </form>
109             </field>
110         </record>
111
112         <record id="invoice_tree" model="ir.ui.view">
113             <field name="name">account.invoice.tree</field>
114             <field name="model">account.invoice</field>
115             <field name="type">tree</field>
116             <field name="arch" type="xml">
117                 <tree colors="blue:state in ('draft');black:state not in ('draft')" string="Invoice">
118                     <field name="name"/>
119                     <field name="type"/>
120                     <field name="number"/>
121                     <field name="company_id" groups="base.group_multi_company" widget="selection"/>
122                     <field name="partner_id" groups="base.group_user"/>
123                     <field name="amount_untaxed" sum="Untaxed amount"/>
124                     <field name="amount_total" sum="Total amount"/>
125                     <field name="currency_id"/>
126                     <field name="date_invoice" select="1"/>
127                     <field name="date_due" select="1"/>
128                     <field name="residual"/>
129                     <field name="state"/>
130                     <field name="origin"/>
131                 </tree>
132             </field>
133         </record>
134
135         <record id="invoice_supplier_form" model="ir.ui.view">
136             <field name="name">account.invoice.supplier.form</field>
137             <field name="model">account.invoice</field>
138             <field name="type">form</field>
139             <field name="priority">2</field>
140             <field name="arch" type="xml">
141                 <form string="Supplier invoice">
142                     <group col="6" colspan="4">
143                         <field domain="[('type', '=', 'purchase')]" name="journal_id" select="2"/>
144                         <field name="type" readonly="1" select="2"/>
145                         <field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)" select="2"/>
146                         <field name="partner_id" domain="[('supplier','=', 1)]" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" select="1" context="{'default_customer': 0}"/>
147                         <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
148                         <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', company_id),('journal_id','=',journal_id)]" name="account_id"/>
149                     </group>
150                     <notebook colspan="4">
151                         <page string="Invoice">
152                             <field name="date_due" select="1"/>
153                             <field domain="[('partner_id', '=', partner_id)]" name="partner_bank" on_change="onchange_partner_bank(partner_bank)" select="2"/>
154                             <field name="reference_type" nolabel="1" select="2" size="0"/>
155                             <field name="reference" nolabel="1" select="1"/>
156                             <field name="check_total" required="2"/>
157                             <field colspan="4" default_get="{'check_total': check_total, 'invoice_line': invoice_line, 'address_invoice_id': address_invoice_id, 'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False}" name="invoice_line" nolabel="1">
158                                 <tree string="Invoice lines" editable="top">
159                                     <field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.address_invoice_id, parent.currency_id, {'company_id': parent.company_id})"/>
160                                     <field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '&lt;&gt;', 'view')]" name="account_id" on_change="onchange_account_id(parent.fiscal_position,account_id)"/>
161                                     <field name="invoice_line_tax_id" view_mode="2" context="{'type':parent.type}" domain="[('parent_id','=',False)]"/>
162                                     <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', parent.company_id)]" name="account_analytic_id"/>
163                                     <field name="quantity"/>
164                                     <field name="price_unit"/>
165                                      <!-- Removed if subtotal is set -->
166                                     <field name="price_subtotal"/>
167                                     <field name="name"/>
168                                     <field invisible="True" name="uos_id"/>
169                                 </tree>
170                             </field>
171                             <group col="1" colspan="2">
172                                 <field name="tax_line" nolabel="1">
173                                     <tree editable="bottom" string="Taxes">
174                                         <field name="name"/>
175                                         <field name="base" on_change="base_change(base,parent.currency_id,parent.company_id,parent.date_invoice)" readonly="1"/>
176                                         <field name="amount" on_change="amount_change(amount,parent.currency_id,parent.company_id,parent.date_invoice)"/>
177
178                                         <field invisible="True" name="base_amount"/>
179                                         <field invisible="True" name="tax_amount"/>
180                                     </tree>
181                                 </field>
182                             </group>
183                             <group col="4" colspan="2">
184                                 <button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" icon="gtk-apply"/>
185                                 <field name="amount_untaxed"/>
186                                 <label string="" colspan="2"/>
187                                 <field name="amount_tax"/>
188                                 <field name="reconciled"/>
189                                 <field name="amount_total"/>
190                                 <field name="state" select="2"/>
191                                 <field name="residual"/>
192                                 <group col="3" colspan="4">
193                                     <button name="invoice_open" states="draft,proforma2" string="Validate" icon="gtk-apply"/>
194                                     <button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel"/>
195                                     <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
196                                     <button name='%(wizard_paid_open)d' type='action' string='Re-Open' states='paid' icon="gtk-convert"/>
197                                 </group>
198                             </group>
199                         </page>
200                         <page string="Other Info">
201                             <field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line)" widget="selection" groups="base.group_multi_company"/>
202                             <field name="fiscal_position" groups="base.group_extended" widget="selection"/>
203                             <newline/>
204                             <field name="payment_term" widget="selection"/>
205                             <field name="name" select="2"/>
206                             <newline/>
207                             <field name="number" select="2"/>
208                             <field name="origin" select="2"/>
209                             <field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id"/>
210                             <field name="move_id"/>
211                             <field name="date_invoice"/>
212                             <field name="period_id"/>
213                             <label align="0.0" colspan="2" string="(keep empty to use the current period)"/>
214                             <separator colspan="4" string="Additional Information"/>
215                             <field colspan="4" name="comment" nolabel="1"/>
216                         </page>
217                         <page string="Payments">
218                             <field name="payment_ids" colspan="4" nolabel="1" >
219                                 <tree string="Payments">
220                                     <field name="date"/>
221                                     <field name="ref"/>
222                                     <field name="name"/>
223                                     <field name="journal_id"/>
224                                     <field name="debit"/>
225                                     <field name="credit"/>
226                                     <field name="amount_currency"/>
227                                     <field name="currency_id"/>
228                                 </tree>
229                             </field>
230                         </page>
231                     </notebook>
232                 </form>
233             </field>
234         </record>
235
236
237         <record id="invoice_form" model="ir.ui.view">
238             <field name="name">account.invoice.form</field>
239             <field name="model">account.invoice</field>
240             <field name="type">form</field>
241             <field name="arch" type="xml">
242                 <form string="Invoice">
243                     <group colspan="4" col="6">
244                         <field name="journal_id" select="2" groups="base.group_user"/>
245                         <field name="type" readonly="1" select="2"/>
246                         <field name="number" select="1"/>
247                         <field name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank,company_id)" select="1" groups="base.group_user"/>
248                         <field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
249                         <field name="currency_id" domain="[('company_id','=', company_id)]" on_change="onchange_currency_id(currency_id, company_id)" select="2"/>
250                         <field name="date_invoice" select="1"/>
251                         <field name="period_id" groups="base.group_user"/>
252                         <group colspan="2" col="1" groups="base.group_user">
253                             <label align="0.0" string="(keep empty to use the current period)"/>
254                         </group>
255                     </group>
256                     <notebook colspan="4">
257                         <page string="Invoice">
258                             <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', company_id),('journal_id','=',journal_id)]" name="account_id" groups="base.group_user"/>
259                             <field name="name" select="2"/>
260                             <field name="payment_term" widget="selection"/>
261                             <field colspan="4" name="invoice_line" nolabel="1" widget="one2many_list"/>
262                             <group col="1" colspan="2">
263                                 <field name="tax_line" nolabel="1">
264                                     <tree editable="bottom" string="Taxes">
265                                         <field name="name"/>
266                                          <field name="base" on_change="base_change(base,parent.currency_id,parent.company_id,parent.date_invoice)" readonly="1"/>
267                                         <field name="amount" on_change="amount_change(amount,parent.currency_id,parent.company_id,parent.date_invoice)"/>
268                                         <field invisible="True" name="base_amount"/>
269                                         <field invisible="True" name="tax_amount"/>
270                                     </tree>
271                                 </field>
272                             </group>
273                             <group col="4" colspan="2">
274                                 <button colspan="2" name="button_reset_taxes" states="draft" string="Compute Taxes" type="object" groups="base.group_user" icon="gtk-apply"/>
275                                 <field name="amount_untaxed"/>
276                                 <label string="" colspan="2"/>
277                                 <field name="amount_tax"/>
278                                 <field name="reconciled"/>
279                                 <field name="amount_total"/>
280                                 <field name="state" select="2"/>
281                                 <field name="residual"/>
282                                 <group col="3" colspan="4" groups="base.group_user">
283                                     <button name="invoice_proforma2" states="draft" string="PRO-FORMA" icon="gtk-print"/>
284                                     <button name="invoice_open" states="draft,proforma2" string="Create" icon="gtk-execute"/>
285                                     <button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel"/>
286                                     <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
287                                     <button name='%(wizard_paid_open)d' type='action' string='Re-Open' states='paid' icon="gtk-convert"/>
288                                 </group>
289                             </group>
290                         </page>
291                         <page string="Other Info">
292                             <field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line)" widget="selection"  groups="base.group_multi_company"/>
293                             <field name="fiscal_position" groups="base.group_extended,base.group_user" widget="selection"/>
294                             <newline/>
295                             <field name="date_due" select="1"/>
296                             <newline/>
297                             <field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank" select="2"/>
298                             <field name="origin" select="2"/>
299                             <field colspan="4" domain="[('partner_id','=',partner_id)]" name="address_contact_id"/>
300                             <field name="move_id" groups="base.group_user"/>
301                             <separator colspan="4" string="Additionnal Information"/>
302                             <field colspan="4" name="comment" nolabel="1"/>
303                         </page>
304                         <page string="Payments">
305                             <field name="payment_ids" colspan="4" nolabel="1">
306                                 <tree string="Payments">
307                                     <field name="date"/>
308                                     <field name="ref"/>
309                                     <field name="name"/>
310                                     <field name="journal_id" groups="base.group_user"/>
311                                     <field name="debit"/>
312                                     <field name="credit"/>
313                                     <field name="amount_currency"/>
314                                     <field name="currency_id"/>
315                                 </tree>
316                             </field>
317                         </page>
318                     </notebook>
319                 </form>
320             </field>
321         </record>
322
323         <record id="view_account_invoice_filter" model="ir.ui.view">
324             <field name="name">account.invoice.select</field>
325             <field name="model">account.invoice</field>
326             <field name="type">search</field>
327             <field name="arch" type="xml">
328                 <search string="Search Invoice">
329                    <group col="10" colspan="4">
330                         <filter icon="terp-account" string="Draft" domain="[('state','=','draft')]" help="Draft Invoices"/>
331                         <filter icon="terp-account" string="Proforma" domain="[('state','=','proforma2')]" help="Proforma Invoices"/>
332                         <filter icon="terp-account" string="Unpaid" domain="[('state','in',('open','cancel'))]" help="Unpaid Invoices"/>
333                         <separator orientation="vertical"/>
334                         <field name="number" select='1'/>
335                         <field name="partner_id" select='1'/>
336                         <field name="amount_total" string="Price" select='1'/>
337                         <field name="origin" select='1'/>
338                                         </group>                        
339                     <group expand="1" string="Group By..." colspan="4" col="10">
340                         <filter string="By Partner" icon="terp-account" domain="[]" context="{'group_by':'partner_id'}"/>
341                                                 <filter string="By State" icon="terp-account" domain="[]"  context="{'group_by':'state'}"/>
342                                                 <filter string="By Date Invoice" icon="terp-account" domain="[]" context="{'group_by':'date_invoice'}"/>
343                            </group>   
344                </search>
345             </field>
346         </record>
347
348         <record id="action_invoice_tree" model="ir.actions.act_window">
349             <field name="name">Invoices</field>
350             <field name="res_model">account.invoice</field>
351             <field name="view_type">form</field>
352             <field name="view_mode">tree,form,calendar,graph</field>
353             <field name="view_id" ref="invoice_tree"/>
354             <field name="context">{'type':'out_invoice'}</field>
355             <field name="search_view_id" ref="view_account_invoice_filter"/>
356         </record>
357
358         <record id="action_invoice_tree_panding_invoice" model="ir.actions.act_window">
359             <field name="name">Panding Invoice</field>
360             <field name="res_model">account.invoice</field>
361             <field name="view_type">form</field>
362             <field name="view_mode">tree,form,calendar,graph</field>
363             <field name="view_id" ref="invoice_tree"/>
364             <field name="context">{'type':'out_invoice'}</field>
365             <field name="domain">[('state','=','draft')]</field>
366            <!-- <field name="search_view_id" ref="view_account_invoice_filter"/>-->
367         </record>
368
369         <record id="action_invoice_tree_view1" model="ir.actions.act_window.view">
370             <field eval="1" name="sequence"/>
371             <field name="view_mode">tree</field>
372             <field name="act_window_id" ref="action_invoice_tree"/>
373         </record>
374         <record id="action_invoice_tree_view2" model="ir.actions.act_window.view">
375             <field eval="2" name="sequence"/>
376             <field name="view_mode">form</field>
377             <field name="view_id" ref="invoice_form"/>
378             <field name="act_window_id" ref="action_invoice_tree"/>
379         </record>
380         <menuitem name="Invoices" id="menu_finance_invoice" parent="account.menu_finance" sequence="2"/>
381
382         <record id="action_invoice_tree1" model="ir.actions.act_window">
383             <field name="name">Customer Invoices</field>
384             <field name="res_model">account.invoice</field>
385             <field name="view_type">form</field>
386             <field name="view_mode">tree,form,calendar,graph</field>
387             <field eval="False" name="view_id"/>
388             <field name="domain">[('type','=','out_invoice')]</field>
389             <field name="context">{'type':'out_invoice'}</field>
390             <field name="search_view_id" ref="view_account_invoice_filter"/>
391         </record>
392         <record id="action_invoice_tree1_view1" model="ir.actions.act_window.view">
393             <field eval="1" name="sequence"/>
394             <field name="view_mode">tree</field>
395             <field name="act_window_id" ref="action_invoice_tree1"/>
396         </record>
397         <record id="action_invoice_tree1_view2" model="ir.actions.act_window.view">
398             <field eval="2" name="sequence"/>
399             <field name="view_mode">form</field>
400             <field name="view_id" ref="invoice_form"/>
401             <field name="act_window_id" ref="action_invoice_tree1"/>
402         </record>
403         <menuitem action="action_invoice_tree1" id="menu_action_invoice_tree1" parent="account.menu_finance_invoice"/>
404
405         <record id="action_invoice_tree2" model="ir.actions.act_window">
406             <field name="name">Supplier Invoices</field>
407             <field name="res_model">account.invoice</field>
408             <field name="view_type">form</field>
409             <field name="view_mode">tree,form,calendar,graph</field>
410             <field eval="False" name="view_id"/>
411             <field name="domain">[('type','=','in_invoice')]</field>
412             <field name="context">{'type':'in_invoice'}</field>
413             <field name="search_view_id" ref="view_account_invoice_filter"/>
414         </record>
415         <menuitem action="action_invoice_tree2" id="menu_action_invoice_tree2" parent="account.menu_finance_invoice"/>
416
417         <record id="action_invoice_tree3" model="ir.actions.act_window">
418             <field name="name">Customer Refunds</field>
419             <field name="res_model">account.invoice</field>
420             <field name="view_type">form</field>
421             <field name="view_mode">tree,form,calendar,graph</field>
422             <field eval="False" name="view_id"/>
423             <field name="domain">[('type','=','out_refund')]</field>
424             <field name="context">{'type':'out_refund'}</field>
425             <field name="search_view_id" ref="view_account_invoice_filter"/>
426         </record>
427
428         <record id="action_invoice_tree3_view1" model="ir.actions.act_window.view">
429             <field eval="1" name="sequence"/>
430             <field name="view_mode">tree</field>
431             <field name="act_window_id" ref="action_invoice_tree3"/>
432         </record>
433
434         <record id="action_invoice_tree3_view2" model="ir.actions.act_window.view">
435             <field eval="2" name="sequence"/>
436             <field name="view_mode">form</field>
437             <field name="view_id" ref="invoice_form"/>
438             <field name="act_window_id" ref="action_invoice_tree3"/>
439         </record>
440
441         <menuitem action="action_invoice_tree3" id="menu_action_invoice_tree3" parent="account.menu_finance_invoice"/>
442
443         <record id="action_invoice_tree4" model="ir.actions.act_window">
444             <field name="name">Supplier Refunds</field>
445             <field name="res_model">account.invoice</field>
446             <field name="view_type">form</field>
447             <field name="view_mode">tree,form,calendar,graph</field>
448             <field eval="False" name="view_id"/>
449             <field name="domain">[('type','=','in_refund')]</field>
450             <field name="context">{'type':'in_refund'}</field>
451             <field name="search_view_id" ref="view_account_invoice_filter"/>
452         </record>
453         <menuitem action="action_invoice_tree4" id="menu_action_invoice_tree4" parent="account.menu_finance_invoice"/>
454
455         <act_window domain="[('partner_id','=',active_id)]" id="act_res_partner_2_account_invoice_opened" name="Invoices" res_model="account.invoice" src_model="res.partner"/>
456
457         <act_window domain="[('journal_id','=',active_id),('state','!=','draft'),('reconciled','=',False)]" id="act_account_journal_2_account_invoice_opened" name="Unpaid invoices" res_model="account.invoice" src_model="account.journal"/>
458
459         <act_window domain="[('account_analytic_id', '=', active_id)]" id="act_account_analytic_account_2_account_invoice_line" name="Invoice lines" res_model="account.invoice.line" src_model="account.analytic.account"/>
460
461     </data>
462 </openerp>