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"/>
44 <assert id="test_invoice_1" model="account.invoice" string="Test invoice 1 is now open">
45 <test expr="state">open</test>
49 journal_id: bank_journal
50 period_id: period_7 (or 'period_' +time.strftime('m'))
51 pay_amount: 1850 (or amount_total)
52 acc_id = pool.get('account.journal').browse(cr, uid, journal_id, context).default_credit_account_id.id
53 pay_and_reconcile(self, cr, uid,
65 <function model="account.invoice" name="pay_and_reconcile">
66 <value eval="[ref('test_invoice_1')]"/>
68 <value eval="ref('cash')"/>
69 <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
70 <value eval="ref('bank_journal')"/>
71 <value eval="ref('cash')"/>
72 <value eval="ref('account.period_' + str(int(time.strftime('%m'))))"/>
73 <value eval="ref('bank_journal')"/>
76 <assert id="test_invoice_1" model="account.invoice" string="Test invoice 1 is now paid">
77 <test expr="state">paid</test>