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_invoice_1_line_1" model="account.invoice.line">
18 <field name="name">Basic computer with Dvorak keyboard and left-handed mouse</field>
19 <field name="invoice_id" ref="test_invoice_1"/>
20 <field name="price_unit">250</field>
21 <field name="quantity">1</field>
22 <field name="account_id" ref="account.a_sale"/>
24 <record id="test_invoice_1_line_2" model="account.invoice.line">
25 <field name="name">Little server with raid 1 and 512ECC ram</field>
26 <field name="invoice_id" ref="test_invoice_1"/>
27 <field name="price_unit">800</field>
28 <field name="quantity">2</field>
29 <field name="account_id" ref="account.a_sale"/>
32 <assert id="test_invoice_1" model="account.invoice" string="The currency unit of Test invoice 1 is EUR">
33 <test expr="currency_id.code">EUR</test>
36 <assert id="test_invoice_1" model="account.invoice" severity="error" string="The amount of Test invoice 1 is correct">
37 <test expr="sum([l.price_subtotal for l in invoice_line]) == 1850"/>
38 <test expr="sum([l.price_subtotal for l in invoice_line]) == amount_untaxed"/>
41 <workflow action="invoice_open" model="account.invoice" ref="test_invoice_1"/>
43 <assert id="test_invoice_1" model="account.invoice" string="Test invoice 1 is now open">
44 <test expr="state">open</test>
46 <function model="account.invoice" name="pay_and_reconcile">
47 <!-- ids = --> <value eval="[ref('test_invoice_1')]"/>
48 <!-- pay_amount = --> <value eval="1850"/>
49 <!-- pay_account_id = --> <value eval="ref('cash')"/>
50 <!-- period_id = --> <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
51 <!-- pay_journal_id = --> <value eval="ref('bank_journal')"/>
52 <!-- writeoff_acc_id = --> <value eval="ref('cash')"/>
53 <!-- writeoff_period_id = --> <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
54 <!-- writeoff_journal_id = --> <value eval="ref('bank_journal')"/>
57 <assert id="test_invoice_1" model="account.invoice" string="Test invoice 1 is now paid">
58 <test expr="state">paid</test>