Skip to content

Commit 13a745d

Browse files
committed
Merge PR #174 into 17.0
Signed-off-by pedrobaeza
2 parents 6c00c16 + 58eabd8 commit 13a745d

File tree

56 files changed

+9198
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+9198
-0
lines changed

datev_export_xml/README.rst

Lines changed: 403 additions & 0 deletions
Large diffs are not rendered by default.

datev_export_xml/__init__.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (C) 2022-2023 initOS GmbH
2+
# Copyright (C) 2019 sewisoft (sewisoft.de)
3+
# Copyright (C) 2010-2023 big-consulting GmbH (www.openbig.de)
4+
# Copyright (C) 2010 OpenGLOBE Grzegorz Grzelak (www.openglobe.pl)
5+
# @author Guenter Selbert <guenter.selbert@sewisoft.de>
6+
# @author Thorsten Vocks
7+
# @author Grzegorz Grzelak
8+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
9+
10+
from . import models

datev_export_xml/__manifest__.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Copyright (C) 2024 Solvti sp. z o.o. (https://solvti.pl)
2+
# Copyright (C) 2022-2023 initOS GmbH
3+
# Copyright (C) 2019 sewisoft (sewisoft.de)
4+
# Copyright (C) 2010-2023 big-consulting GmbH (www.openbig.de)
5+
# Copyright (C) 2010 OpenGLOBE Grzegorz Grzelak (www.openglobe.pl)
6+
# @author Guenter Selbert <guenter.selbert@sewisoft.de>
7+
# @author Thorsten Vocks <thorsten.vocks@openbig.org>
8+
# @author Grzegorz Grzelak
9+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
10+
11+
{
12+
"name": "Datev Export XML",
13+
"version": "17.0.1.0.0",
14+
"category": "Accounting",
15+
"license": "AGPL-3",
16+
"author": "Guenter Selbert, Thorsten Vocks, Maciej Wichowski, Daniela Scarpa, "
17+
"Maria Sparenberg, initOS GmbH, Jan Sierpina, Odoo Community Association (OCA)",
18+
"summary": "Export invoices and refunds as xml and pdf files zipped in DATEV "
19+
"format.",
20+
"website": "https://github.com/OCA/l10n-germany",
21+
"depends": ["datev_export"],
22+
"data": [
23+
"data/ir_cron_data.xml",
24+
"security/groups.xml",
25+
"security/ir.model.access.csv",
26+
"security/security.xml",
27+
"views/account_invoice_view.xml",
28+
"views/datev_export_views.xml",
29+
"views/res_config_settings_views.xml",
30+
"views/templates.xml",
31+
],
32+
"demo": [
33+
"demo/export_data.xml",
34+
],
35+
"installable": True,
36+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo noupdate="1">
3+
<record model="ir.cron" id="cron_create_datev_export">
4+
<field name='name'>DATEV XML: Create Export File</field>
5+
<field name='interval_number'>5</field>
6+
<field name='interval_type'>minutes</field>
7+
<field name="numbercall">-1</field>
8+
<field name="active" eval="True" />
9+
<field name="doall" eval="False" />
10+
<field name="state">code</field>
11+
<field name="model_id" ref="model_datev_export_xml" />
12+
<field name="code">model.cron_run_pending_export()</field>
13+
</record>
14+
</odoo>
Lines changed: 276 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,276 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo>
3+
<record id="base.main_company" model="res.company">
4+
<field name="datev_client_number">1234</field>
5+
<field name="datev_consultant_number">12345</field>
6+
</record>
7+
8+
<!-- Company Datev Accounts -->
9+
<record id="account_datev_rec" model="account.account">
10+
<field name="name">Company Account Receivable</field>
11+
<field name="code">69999</field>
12+
<field name="reconcile" eval="True" />
13+
<field name="account_type">asset_receivable</field>
14+
</record>
15+
<record id="account_datev_pay" model="account.account">
16+
<field name="name">Company Account Payable</field>
17+
<field name="code">99999</field>
18+
<field name="reconcile" eval="True" />
19+
<field name="account_type">liability_payable</field>
20+
</record>
21+
22+
<record id="base.main_partner" model="res.partner">
23+
<field name="property_account_receivable_id" ref="account_datev_rec" />
24+
<field name="property_account_payable_id" ref="account_datev_pay" />
25+
</record>
26+
27+
<!-- German Accounts -->
28+
<record id="account_datev_rec_DE" model="account.account">
29+
<field name="name">A-Customer Account DE</field>
30+
<field name="code">10001</field>
31+
<field name="reconcile" eval="True" />
32+
<field name="account_type">asset_receivable</field>
33+
</record>
34+
<record id="account_datev_pay_DE" model="account.account">
35+
<field name="name">A-Vendor Account DE</field>
36+
<field name="code">70001</field>
37+
<field name="reconcile" eval="True" />
38+
<field name="account_type">liability_payable</field>
39+
</record>
40+
<!-- EU Accounts -->
41+
<record id="account_datev_rec_EU" model="account.account">
42+
<field name="name">A-Customer Account EU</field>
43+
<field name="code">10002</field>
44+
<field name="reconcile" eval="True" />
45+
<field name="account_type">asset_receivable</field>
46+
</record>
47+
<record id="account_datev_pay_EU" model="account.account">
48+
<field name="name">A-Vendor Account EU</field>
49+
<field name="code">70002</field>
50+
<field name="reconcile" eval="True" />
51+
<field name="account_type">liability_payable</field>
52+
</record>
53+
<!-- Non-EU Accounts -->
54+
<record id="account_datev_rec_NonEU" model="account.account">
55+
<field name="name">A-Customer Account Non-EU</field>
56+
<field name="code">10003</field>
57+
<field name="reconcile" eval="True" />
58+
<field name="account_type">asset_receivable</field>
59+
</record>
60+
<record id="account_datev_pay_NonEU" model="account.account">
61+
<field name="name">A-Vendor Account Non-EU</field>
62+
<field name="code">70003</field>
63+
<field name="reconcile" eval="True" />
64+
<field name="account_type">liability_payable</field>
65+
</record>
66+
<!-- Accounts Income and Expense -->
67+
<record id="account_datev_income" model="account.account">
68+
<field name="name">A-Income</field>
69+
<field name="code">8401</field>
70+
<field name="reconcile" eval="False" />
71+
<field name="account_type">income</field>
72+
</record>
73+
<record id="account_datev_expense" model="account.account">
74+
<field name="name">A-Expense</field>
75+
<field name="code">3401</field>
76+
<field name="reconcile" eval="False" />
77+
<field name="account_type">expense</field>
78+
</record>
79+
80+
81+
<!-- German Partners -->
82+
<record id="customer_DE" model="res.partner">
83+
<field name="name">A-Customer DE</field>
84+
<field name="street">Straße 1</field>
85+
<field name="zip">12345</field>
86+
<field name="city">City</field>
87+
<field name="country_id" ref="base.de" />
88+
<field name="customer_rank" eval="1" />
89+
<field name="supplier_rank" eval="0" />
90+
<field name="property_account_receivable_id" ref="account_datev_rec_DE" />
91+
<field name="property_account_payable_id" ref="account_datev_pay_DE" />
92+
</record>
93+
<record id="vendor_DE" model="res.partner">
94+
<field name="name">A-Vendor DE</field>
95+
<field name="street">Alle 9</field>
96+
<field name="zip">54321</field>
97+
<field name="city">Metropole</field>
98+
<field name="country_id" ref="base.de" />
99+
<field name="supplier_rank" eval="1" />
100+
<field name="customer_rank" eval="0" />
101+
<field name="property_account_receivable_id" ref="account_datev_rec_DE" />
102+
<field name="property_account_payable_id" ref="account_datev_pay_DE" />
103+
</record>
104+
105+
<!-- EU Partners -->
106+
<record id="customer_EU" model="res.partner">
107+
<field name="name">A-Customer EU</field>
108+
<field name="street">Straße 1</field>
109+
<field name="zip">12345</field>
110+
<field name="city">City</field>
111+
<field name="country_id" ref="base.fr" />
112+
<field name="customer_rank" eval="1" />
113+
<field name="supplier_rank" eval="0" />
114+
<field name="property_account_receivable_id" ref="account_datev_rec_EU" />
115+
<field name="property_account_payable_id" ref="account_datev_pay_EU" />
116+
</record>
117+
<record id="vendor_EU" model="res.partner">
118+
<field name="name">A-Vendor EU</field>
119+
<field name="street">Alle 9</field>
120+
<field name="zip">54321</field>
121+
<field name="city">Metropole</field>
122+
<field name="country_id" ref="base.fr" />
123+
<field name="supplier_rank" eval="1" />
124+
<field name="customer_rank" eval="0" />
125+
<field name="property_account_receivable_id" ref="account_datev_rec_EU" />
126+
<field name="property_account_payable_id" ref="account_datev_pay_EU" />
127+
</record>
128+
129+
<!-- Non-EU Partners -->
130+
<record id="customer_NonEU" model="res.partner">
131+
<field name="name">A-Customer Non-EU</field>
132+
<field name="street">Straße 1</field>
133+
<field name="zip">12345</field>
134+
<field name="city">City</field>
135+
<field name="country_id" ref="base.us" />
136+
<field name="customer_rank" eval="1" />
137+
<field name="supplier_rank" eval="0" />
138+
<field name="property_account_receivable_id" ref="account_datev_rec_NonEU" />
139+
<field name="property_account_payable_id" ref="account_datev_pay_NonEU" />
140+
</record>
141+
<record id="vendor_NonEU" model="res.partner">
142+
<field name="name">A-Vendor Non-EU</field>
143+
<field name="street">Alle 9</field>
144+
<field name="zip">54321</field>
145+
<field name="city">Metropole</field>
146+
<field name="country_id" ref="base.us" />
147+
<field name="supplier_rank" eval="1" />
148+
<field name="customer_rank" eval="0" />
149+
<field name="property_account_receivable_id" ref="account_datev_rec_NonEU" />
150+
<field name="property_account_payable_id" ref="account_datev_pay_NonEU" />
151+
</record>
152+
153+
<record id="analytic_account_datev_01" model="account.analytic.account">
154+
<field name="name">A-IT</field>
155+
<field name="code">990010</field>
156+
<field name="plan_id" ref="analytic.analytic_plan_departments" />
157+
</record>
158+
<record id="analytic_account_datev_02" model="account.analytic.account">
159+
<field name="name">A-Office</field>
160+
<field name="code">990000</field>
161+
<field name="plan_id" ref="analytic.analytic_plan_departments" />
162+
</record>
163+
164+
<record id="product_datev_01" model="product.product">
165+
<field name="name">A-IT-Consulting</field>
166+
<field name="default_code">11-001</field>
167+
<field name="type">service</field>
168+
<field name="sale_ok" eval="True" />
169+
<field name="categ_id" ref="product.product_category_all" />
170+
<field name="list_price">120.00</field>
171+
<field name="property_account_income_id" ref="account_datev_income" />
172+
</record>
173+
<record id="product_datev_02" model="product.product">
174+
<field name="name">A-Office-Lease</field>
175+
<field name="default_code">99-015</field>
176+
<field name="type">service</field>
177+
<field name="purchase_ok" eval="True" />
178+
<field name="categ_id" ref="product.product_category_all" />
179+
<field name="list_price">900.00</field>
180+
<field name="property_account_income_id" ref="account_datev_expense" />
181+
</record>
182+
183+
<!-- Demo Attachment pdf for IN Invoice -->
184+
<record id="vendor_bill_attachment_DE" model="ir.attachment">
185+
<field name="name">vendor_bill_attachment_DE.pdf</field>
186+
<field name="type">binary</field>
187+
<field
188+
name="datas"
189+
type="base64"
190+
file="datev_export_xml/static/src/demo/vendor_bill_attachment.pdf"
191+
/>
192+
</record>
193+
<record id="vendor_bill_attachment_EU" model="ir.attachment">
194+
<field name="name">vendor_bill_attachment_EU.pdf</field>
195+
<field name="type">binary</field>
196+
<field
197+
name="datas"
198+
type="base64"
199+
file="datev_export_xml/static/src/demo/vendor_bill_attachment.pdf"
200+
/>
201+
</record>
202+
<record id="vendor_bill_attachment_NonEU" model="ir.attachment">
203+
<field name="name">vendor_bill_attachment_NonEU.pdf</field>
204+
<field name="type">binary</field>
205+
<field
206+
name="datas"
207+
type="base64"
208+
file="datev_export_xml/static/src/demo/vendor_bill_attachment.pdf"
209+
/>
210+
</record>
211+
<!-- Demo Attachment pdf for IN Refund -->
212+
<record id="bill_refund_attachment_DE" model="ir.attachment">
213+
<field name="name">bill_refund_attachment_DE.pdf</field>
214+
<field name="type">binary</field>
215+
<field
216+
name="datas"
217+
type="base64"
218+
file="datev_export_xml/static/src/demo/vendor_bill_attachment.pdf"
219+
/>
220+
</record>
221+
<record id="bill_refund_attachment_EU" model="ir.attachment">
222+
<field name="name">bill_refund_attachment_EU.pdf</field>
223+
<field name="type">binary</field>
224+
<field
225+
name="datas"
226+
type="base64"
227+
file="datev_export_xml/static/src/demo/vendor_bill_attachment.pdf"
228+
/>
229+
</record>
230+
<record id="bill_refund_attachment_NonEU" model="ir.attachment">
231+
<field name="name">bill_refund_attachment_NonEU.pdf</field>
232+
<field name="type">binary</field>
233+
<field
234+
name="datas"
235+
type="base64"
236+
file="datev_export_xml/static/src/demo/vendor_bill_attachment.pdf"
237+
/>
238+
</record>
239+
240+
<!-- Bank Data -->
241+
<record id="customer_parent" model="res.partner">
242+
<field name="name">A-Customer Parent</field>
243+
<field name="street">Straße 1</field>
244+
<field name="zip">12345</field>
245+
<field name="city">Berlin</field>
246+
<field name="country_id" ref="base.de" />
247+
<field name="customer_rank" eval="1" />
248+
<field name="supplier_rank" eval="0" />
249+
<field name="property_account_receivable_id" ref="account_datev_rec_DE" />
250+
<field name="property_account_payable_id" ref="account_datev_pay_DE" />
251+
</record>
252+
253+
<record id="example_bank" model="res.bank">
254+
<field name="name">Example Bank</field>
255+
<field name="active" eval="True" />
256+
<field name="bic">ALSWCH21XXX</field>
257+
<field name="country" ref="base.ch" />
258+
</record>
259+
260+
<record id="customer_child" model="res.partner">
261+
<field name="name">A-Customer Child</field>
262+
<field name="type">contact</field>
263+
<field name="parent_id" ref="customer_parent" />
264+
<field name="vat">BE0477472701</field>
265+
<field name="country_id" ref="base.de" />
266+
<field name="customer_rank" eval="1" />
267+
<field name="supplier_rank" eval="0" />
268+
</record>
269+
270+
<record id="datev_partner_bank_1" model="res.partner.bank">
271+
<field name="acc_number">DE89370400440532013000</field>
272+
<field name="partner_id" ref="customer_child" />
273+
<field name="acc_type">bank</field>
274+
<field name="bank_id" ref="example_bank" />
275+
</record>
276+
</odoo>

0 commit comments

Comments
 (0)