1 <?xml version="1.0" encoding="utf-8"?>
4 <!-- This file must be loaded _after_ account_demo.xml ! -->
5 <record id="test_invoice_1" model="account.invoice">
6 <field name="currency_id" ref="base.EUR"/>
7 <field name="company_id" ref="base.main_company"/>
8 <field name="address_invoice_id" ref="base.res_partner_address_tang"/>
9 <field name="partner_id" ref="base.res_partner_asus"/>
10 <field name="journal_id" ref="account.sales_journal"/>
11 <field name="state">draft</field>
12 <field name="type">out_invoice</field>
13 <field name="account_id" ref="account.a_recv"/>
14 <field name="name">Test invoice 1</field>
15 <field name="address_contact_id" ref="base.res_partner_address_tang"/>
17 <record id="test_tax_line" model="account.invoice.tax">
18 <field name="name">Test Tax</field>
19 <field name="base">5.00</field>
20 <field name="amount">100.00</field>
21 <field name="account_id" ref="account.ova"/>
22 <field name="invoice_id" ref="test_invoice_1"/>
24 <record id="test_invoice_1_line_1" model="account.invoice.line">
25 <field name="name">Basic computer with Dvorak keyboard and left-handed mouse</field>
26 <field name="invoice_id" ref="test_invoice_1"/>
27 <field name="price_unit">250</field>
28 <field name="quantity">1</field>
29 <field name="account_id" ref="account.a_sale"/>
31 <record id="test_invoice_1_line_2" model="account.invoice.line">
32 <field name="name">Little server with raid 1 and 512ECC ram</field>
33 <field name="invoice_id" ref="test_invoice_1"/>
34 <field name="price_unit">800</field>
35 <field name="quantity">2</field>
36 <field name="account_id" ref="account.a_sale"/>
39 <assert id="test_invoice_1" model="account.invoice" string="The currency unit of Test invoice 1 is EUR">
40 <test expr="currency_id.code">EUR</test>
43 <assert id="test_invoice_1" model="account.invoice" severity="error" string="The amount of Test invoice 1 is correct">
44 <test expr="sum([l.price_subtotal for l in invoice_line]) == 1850"/>
45 <test expr="sum([l.price_subtotal for l in invoice_line]) == amount_untaxed"/>
48 <workflow action="invoice_open" model="account.invoice" ref="test_invoice_1"/>
50 <assert id="test_invoice_1" model="account.invoice" string="Test invoice 1 is now open">
51 <test expr="state">open</test>
53 <function model="account.invoice" name="pay_and_reconcile">
54 <!-- ids = --> <value eval="[ref('test_invoice_1')]"/>
55 <!-- pay_amount = --> <value eval="1850"/>
56 <!-- pay_account_id = --> <value eval="ref('cash')"/>
57 <!-- period_id = --> <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
58 <!-- pay_journal_id = --> <value eval="ref('bank_journal')"/>
59 <!-- writeoff_acc_id = --> <value eval="ref('cash')"/>
60 <!-- writeoff_period_id = --> <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
61 <!-- writeoff_journal_id = --> <value eval="ref('bank_journal')"/>
62 <!-- context = --> <value eval="{}"/>
63 <!-- name = --> <value eval="str('Payment from ASUStek')"/>
66 <assert id="test_invoice_1" model="account.invoice" string="Test invoice 1 is now paid">
67 <test expr="state">paid</test>