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="partner_id" ref="base.res_partner_asus"/>
9 <field name="journal_id" ref="account.sales_journal"/>
10 <field name="state">draft</field>
11 <field name="type">out_invoice</field>
12 <field name="account_id" ref="account.a_recv"/>
13 <field name="name">Test invoice 1</field>
15 <record id="test_tax_line" model="account.invoice.tax">
16 <field name="name">Test Tax</field>
17 <field name="base">5.00</field>
18 <field name="amount">100.00</field>
19 <field name="account_id" ref="account.ova"/>
20 <field name="invoice_id" ref="test_invoice_1"/>
22 <record id="test_invoice_1_line_1" model="account.invoice.line">
23 <field name="name">Basic computer with Dvorak keyboard and left-handed mouse</field>
24 <field name="invoice_id" ref="test_invoice_1"/>
25 <field name="price_unit">250</field>
26 <field name="quantity">1</field>
27 <field name="account_id" ref="account.a_sale"/>
29 <record id="test_invoice_1_line_2" model="account.invoice.line">
30 <field name="name">Little server with raid 1 and 512ECC ram</field>
31 <field name="invoice_id" ref="test_invoice_1"/>
32 <field name="price_unit">800</field>
33 <field name="quantity">2</field>
34 <field name="account_id" ref="account.a_sale"/>
37 <assert id="test_invoice_1" model="account.invoice" string="The currency unit of Test invoice 1 is EUR">
38 <test expr="currency_id.symbol">€</test>
41 <assert id="test_invoice_1" model="account.invoice" severity="error" string="The amount of Test invoice 1 is correct">
42 <test expr="sum([l.price_subtotal for l in invoice_line]) == 1850"/>
43 <test expr="sum([l.price_subtotal for l in invoice_line]) == amount_untaxed"/>
46 <workflow action="invoice_open" model="account.invoice" ref="test_invoice_1"/>
48 <assert id="test_invoice_1" model="account.invoice" string="Test invoice 1 is now open">
49 <test expr="state">open</test>
51 <function model="account.invoice" name="pay_and_reconcile">
52 <!-- ids = --> <value eval="[ref('test_invoice_1')]"/>
53 <!-- pay_amount = --> <value eval="1850"/>
54 <!-- pay_account_id = --> <value eval="ref('cash')"/>
55 <!-- period_id = --> <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
56 <!-- pay_journal_id = --> <value eval="ref('bank_journal')"/>
57 <!-- writeoff_acc_id = --> <value eval="ref('cash')"/>
58 <!-- writeoff_period_id = --> <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
59 <!-- writeoff_journal_id = --> <value eval="ref('bank_journal')"/>
60 <!-- context = --> <value eval="{}"/>
61 <!-- name = --> <value eval="str('Payment from ASUStek')"/>
64 <assert id="test_invoice_1" model="account.invoice" string="Test invoice 1 is now paid">
65 <test expr="state">paid</test>