diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/l10n_de | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/l10n_de')
19 files changed, 2041 insertions, 0 deletions
diff --git a/addons/l10n_de/__init__.py b/addons/l10n_de/__init__.py new file mode 100644 index 00000000..e9917144 --- /dev/null +++ b/addons/l10n_de/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import models
\ No newline at end of file diff --git a/addons/l10n_de/__manifest__.py b/addons/l10n_de/__manifest__.py new file mode 100644 index 00000000..c55cecfb --- /dev/null +++ b/addons/l10n_de/__manifest__.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +{ + 'name': 'Germany - Accounting', + 'author': 'openbig.org', + 'website': 'http://www.openbig.org', + 'category': 'Accounting/Localizations', + 'description': """ +Dieses Modul beinhaltet einen deutschen Kontenrahmen basierend auf dem SKR03. +============================================================================== + +German accounting chart and localization. + """, + 'depends': [ + 'account', + 'base_iban', + 'base_vat', + ], + 'data': [ + 'data/account_account_tags_data.xml', + 'data/menuitem_data.xml', + 'views/account_view.xml', + 'report/din5008_report.xml', + 'data/report_layout.xml', + ], + 'license': 'LGPL-3', +} diff --git a/addons/l10n_de/data/account_account_tags_data.xml b/addons/l10n_de/data/account_account_tags_data.xml new file mode 100644 index 00000000..d21d4844 --- /dev/null +++ b/addons/l10n_de/data/account_account_tags_data.xml @@ -0,0 +1,850 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <record id="tax_report" model="account.tax.report"> + <field name="name">Tax Report</field> + <field name="country_id" ref="base.de"/> + </record> + + <!-- First level, one for base, one for tax --> + <record id="tax_report_de_tag_01" model="account.tax.report.line"> + <field name="name">Bemessungsgrundlage</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + </record> + <record id="tax_report_de_tag_02" model="account.tax.report.line"> + <field name="name">Steuer</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + </record> + + + <!-- BASE --> + <record id="tax_report_de_tag_17" model="account.tax.report.line"> + <field name="name">I. Anmeldung der Umsatzsteuer-Vorauszahlung (zeile 17)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tag_01"/> + </record> + + <!-- Row 18 - 31 - 37 - 46 --> + + <record id="tax_report_de_tag_18" model="account.tax.report.line"> + <field name="name">Lieferungen und sonstige Leistungen (zeile 18)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tag_17"/> + </record> + <record id="tax_report_de_tag_31" model="account.tax.report.line"> + <field name="name">Innergemeinschaftliche Erwerbe (zeile 31)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tag_17"/> + </record> + <record id="tax_report_de_tag_37" model="account.tax.report.line"> + <field name="name">Ergänzende Angaben zu Umsätzen (zeile 37)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">3</field> + <field name="parent_id" ref="tax_report_de_tag_17"/> + </record> + <record id="tax_report_de_tag_46" model="account.tax.report.line"> + <field name="name">Leistungsempfänger als Steuerschuldner (zeile 46)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">4</field> + <field name="parent_id" ref="tax_report_de_tag_17"/> + </record> + + <!-- Row 19 - 24 - 25 --> + + <record id="tax_report_de_tag_19" model="account.tax.report.line"> + <field name="name">Steuerfreie Umsätze mit Vorsteuerabzug (zeile 19)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tag_18"/> + </record> + <record id="tax_report_de_tag_24" model="account.tax.report.line"> + <field name="name">48. Steuerfreie Umsätze ohne Vorsteuerabzug (zeile 24)</field> + <field name="tag_name">48</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tag_18"/> + <field name="code">48</field> + </record> + <record id="tax_report_de_tag_25" model="account.tax.report.line"> + <field name="name">Steuerpflichtige Umsätze (zeile 25)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">3</field> + <field name="parent_id" ref="tax_report_de_tag_18"/> + </record> + + + <record id="tax_report_de_tag_41" model="account.tax.report.line"> + <field name="name">41. an Abnehmer mit USt-IdNr (zeile 20)</field> + <field name="tag_name">41</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tag_19"/> + <field name="code">41</field> + </record> + <record id="tax_report_de_tag_44" model="account.tax.report.line"> + <field name="name">44. neuer Fahrzeuge an Abnehmer ohne USt-IdNr (zeile 21)</field> + <field name="tag_name">44</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tag_19"/> + <field name="code">44</field> + </record> + <record id="tax_report_de_tag_49" model="account.tax.report.line"> + <field name="name">49. neuer Fahrzeuge außerhalb eines Unternehmens (zeile 22)</field> + <field name="tag_name">49</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">3</field> + <field name="parent_id" ref="tax_report_de_tag_19"/> + <field name="code">49</field> + </record> + <record id="tax_report_de_tag_43" model="account.tax.report.line"> + <field name="name">43. Weitere steuerfreie Umsätze mit Vorsteuerabzug (zeile 23)</field> + <field name="tag_name">43</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">4</field> + <field name="parent_id" ref="tax_report_de_tag_19"/> + <field name="code">43</field> + </record> + + <record id="tax_report_de_tag_81" model="account.tax.report.line"> + <field name="name">81. zum Steuersatz von 19 % (zeile 26)</field> + <field name="tag_name">81_BASE</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tag_25"/> + </record> + <record id="tax_report_de_tag_86" model="account.tax.report.line"> + <field name="name">86. zum Steuersatz von 7 % (zeile 27)</field> + <field name="tag_name">86_BASE</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tag_25"/> + </record> + <record id="tax_report_de_tag_35" model="account.tax.report.line"> + <field name="name">35. zu anderen Steuersätzen (zeile 28)</field> + <field name="tag_name">35</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tag_25"/> + <field name="code">35</field> + </record> + <record id="tax_report_de_tag_77" model="account.tax.report.line"> + <field name="name">77. Lieferungen land- und forstwirtschaftlicher Betriebe nach § 24 UStG an Abnehmer mit USt-IdNr. (zeile 29)</field> + <field name="tag_name">77</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">4</field> + <field name="parent_id" ref="tax_report_de_tag_25"/> + <field name="code">77</field> + </record> + <record id="tax_report_de_tag_76" model="account.tax.report.line"> + <field name="name">76. Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (zeile 30)</field> + <field name="tag_name">76</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">5</field> + <field name="parent_id" ref="tax_report_de_tag_25"/> + <field name="code">76</field> + </record> + + + <record id="tax_report_de_tag_91" model="account.tax.report.line"> + <field name="name">91. Steuerfreie innergemeinschaftliche Erwerbe (zeile 32)</field> + <field name="tag_name">91</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tag_31"/> + <field name="code">91</field> + </record> + <record id="tax_report_de_tag_89" model="account.tax.report.line"> + <field name="name">89. Steuerpflichtige innergemeinschaftliche Erwerbe zum Steuersatz von 19 % (zeile 33)</field> + <field name="tag_name">89_BASE</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tag_31"/> + </record> + <record id="tax_report_de_tag_93" model="account.tax.report.line"> + <field name="name">93. zum Steuersatz von 7 % (zeile 34)</field> + <field name="tag_name">93_BASE</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">3</field> + <field name="parent_id" ref="tax_report_de_tag_31"/> + </record> + <record id="tax_report_de_tag_95" model="account.tax.report.line"> + <field name="name">95. zu anderen Steuersätzen (zeile 35)</field> + <field name="tag_name">95</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">4</field> + <field name="parent_id" ref="tax_report_de_tag_31"/> + <field name="code">95</field> + </record> + <record id="tax_report_de_tag_94" model="account.tax.report.line"> + <field name="name">94. neuer Fahrzeuge von Lieferern ohne (zeile 36)</field> + <field name="tag_name">94</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">5</field> + <field name="parent_id" ref="tax_report_de_tag_31"/> + <field name="code">94</field> + </record> + + + <record id="tax_report_de_tag_42" model="account.tax.report.line"> + <field name="name">42. Dreiecksgeschäften (zeile 38)</field> + <field name="tag_name">42</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tag_37"/> + <field name="code">42</field> + </record> + <record id="tax_report_de_tag_68" model="account.tax.report.line"> + <field name="name">68. Steuerpflichtige Umsätze, für die der Leistungsempfänger die Steuer nach § 13b Abs. 5 Satz 1 i.V.m. Abs. 2 Nr. 10 UStG schuldet (zeile 39)</field> + <field name="tag_name">68</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tag_37"/> + <field name="code">68</field> + </record> + <record id="tax_report_de_tag_60" model="account.tax.report.line"> + <field name="name">60. Übrige steuerpflichtige Umsätze, für die der Leistungsempfänger die Steuer nach § 13b Abs. 5 UStG schuldet (zeile 40)</field> + <field name="tag_name">60</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">3</field> + <field name="parent_id" ref="tax_report_de_tag_37"/> + <field name="code">60</field> + </record> + <record id="tax_report_de_tag_21" model="account.tax.report.line"> + <field name="name">21. Nicht steuerbare sonstige Leistungen (zeile 41)</field> + <field name="tag_name">21</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">4</field> + <field name="parent_id" ref="tax_report_de_tag_37"/> + <field name="code">21</field> + </record> + <record id="tax_report_de_tag_45" model="account.tax.report.line"> + <field name="name">45. Übrige nicht steuerbare Umsätze (zeile 42)</field> + <field name="tag_name">45_BASE</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">5</field> + <field name="parent_id" ref="tax_report_de_tag_37"/> + </record> + + + <record id="tax_report_de_tag_48" model="account.tax.report.line"> + <field name="name">46. Steuerpflichtige sonstige Leistungen eines im übrigen Gemeinschaftsgebiet ansässigen Unternehmers (zeile 48)</field> + <field name="tag_name">46</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tag_46"/> + <field name="code">46</field> + </record> + <record id="tax_report_de_tag_52" model="account.tax.report.line"> + <field name="name">52. Andere Leistungen eines im Ausland ansässigen Unternehmers (zeile 49)</field> + <field name="tag_name">52</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tag_46"/> + <field name="code">52</field> + </record> + <record id="tax_report_de_tag_73" model="account.tax.report.line"> + <field name="name">73. Lieferungen sicherungsübereigneter Gegenstände und Umsätze, die unter das GrEStG fallen (zeile 50)</field> + <field name="tag_name">73</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">3</field> + <field name="parent_id" ref="tax_report_de_tag_46"/> + <field name="code">73</field> + </record> + <record id="tax_report_de_tag_78" model="account.tax.report.line"> + <field name="name">78. Lieferungen von Mobilfunkgeräten, Tablet-Computern, Spielekonsolen und integrierten Schaltkreisen (zeile 51)</field> + <field name="tag_name">78</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">4</field> + <field name="parent_id" ref="tax_report_de_tag_46"/> + <field name="code">78</field> + </record> + <record id="tax_report_de_tag_84" model="account.tax.report.line"> + <field name="name">84. Andere Leistungen (zeile 52)</field> + <field name="tag_name">84</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">5</field> + <field name="parent_id" ref="tax_report_de_tag_46"/> + <field name="code">84</field> + </record> + + + <!-- TAX --> + + <record id="tax_report_de_tax_tag_17" model="account.tax.report.line"> + <field name="name">I. Anmeldung der Umsatzsteuer-Vorauszahlung (zeile 17)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tag_02"/> + </record> + + + <!-- Row 18 - 31 - 37 - 46 - 55 - 64 - 66 --> + <record id="tax_report_de_tax_tag_18" model="account.tax.report.line"> + <field name="name">Lieferungen und sonstige Leistungen (zeile 18)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tax_tag_17"/> + </record> + <record id="tax_report_de_tax_tag_31" model="account.tax.report.line"> + <field name="name">Innergemeinschaftliche Erwerbe (zeile 31)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tax_tag_17"/> + </record> + <record id="tax_report_de_tax_tag_37" model="account.tax.report.line"> + <field name="name">Erganzende Angaben zu Umsatzen (zeile 37)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">3</field> + <field name="parent_id" ref="tax_report_de_tax_tag_17"/> + </record> + <record id="tax_report_de_tax_tag_46" model="account.tax.report.line"> + <field name="name">Leistungsempfanger als Steuerschuldner (zeile 46)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">4</field> + <field name="parent_id" ref="tax_report_de_tax_tag_17"/> + </record> + <record id="tax_report_de_tax_tag_55" model="account.tax.report.line"> + <field name="name">Abziehbare Vorsteuerbetrage (zeile 55)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">5</field> + <field name="parent_id" ref="tax_report_de_tax_tag_17"/> + </record> + <record id="tax_report_de_tax_tag_64" model="account.tax.report.line"> + <field name="name">Andere Steuerbetrage (zeile 64)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">6</field> + <field name="parent_id" ref="tax_report_de_tax_tag_17"/> + </record> + <record id="tax_report_de_tax_tag_66" model="account.tax.report.line"> + <field name="name">Umsatzsteuer-Vorauszahlung/Uberschuss (zeile 66)</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">7</field> + <field name="parent_id" ref="tax_report_de_tax_tag_17"/> + </record> + + <!-- Row 26 - 27 - 28 - 30 --> + <record id="tax_report_de_tag_26" model="account.tax.report.line"> + <field name="name">81. zum Steuersatz von 19 % (zeile 26)</field> + <field name="tag_name">81_TAX</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tax_tag_18"/> + <field name="code">81</field> + </record> + <record id="tax_report_de_tag_27" model="account.tax.report.line"> + <field name="name">86. zum Steuersatz von 7 % (zeile 27)</field> + <field name="tag_name">86_TAX</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tax_tag_18"/> + <field name="code">86</field> + </record> + <record id="tax_report_de_tag_36" model="account.tax.report.line"> + <field name="name">36. zu anderen Steuersatzen (zeile 28)</field> + <field name="tag_name">36</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">3</field> + <field name="parent_id" ref="tax_report_de_tax_tag_18"/> + <field name="code">36</field> + </record> + <record id="tax_report_de_tag_80" model="account.tax.report.line"> + <field name="name">80. Umsatze, fur die eine Steuer nach § 24 UStG zu entrichten ist (zeile 30)</field> + <field name="tag_name">80</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">4</field> + <field name="parent_id" ref="tax_report_de_tax_tag_18"/> + <field name="code">80</field> + </record> + + <!-- Row 33 - 34 - 35 - 36 --> + <record id="tax_report_de_tag_33" model="account.tax.report.line"> + <field name="name">89. zum Steuersatz von 19 % (zeile 33)</field> + <field name="tag_name">89_TAX</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tax_tag_31"/> + <field name="code">89</field> + </record> + <record id="tax_report_de_tag_34" model="account.tax.report.line"> + <field name="name">93. zum Steuersatz von 7 % (zeile 34)</field> + <field name="tag_name">93_TAX</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tax_tag_31"/> + <field name="code">93</field> + </record> + <record id="tax_report_de_tag_98" model="account.tax.report.line"> + <field name="name">98. zu anderen Steuersatzen (zeile 35)</field> + <field name="tag_name">98</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">3</field> + <field name="parent_id" ref="tax_report_de_tax_tag_31"/> + <field name="code">98</field> + </record> + <record id="tax_report_de_tag_96" model="account.tax.report.line"> + <field name="name">96. neuer Fahrzeuge von Lieferern ohne USt-IdNr. zum allgemeinen Steuersatz (zeile 36)</field> + <field name="tag_name">96</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">4</field> + <field name="parent_id" ref="tax_report_de_tax_tag_31"/> + <field name="code">96</field> + </record> + + <!-- Row 45 --> + <record id="tax_report_de_tax_tag_45" model="account.tax.report.line"> + <field name="name">45. Ubertrag (zeile 45)</field> + <field name="tag_name">45_TAX</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tax_tag_37"/> + <field name="code">45</field> + </record> + + <!-- Row 48 - 49 - 50 - 51 - 52 - 53 --> + <record id="tax_report_de_tag_47" model="account.tax.report.line"> + <field name="name">47. Steuerpflichtige sonstige Leistungen eines im übrigen Gemeinschaftsgebietansässigen Unternehmers (zeile 48)</field> + <field name="tag_name">47</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tax_tag_46"/> + <field name="code">47</field> + </record> + <record id="tax_report_de_tag_53" model="account.tax.report.line"> + <field name="name">53. Andere Leistungen eines im Ausland ansässigen Unternehmers (zeile 49)</field> + <field name="tag_name">53</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tax_tag_46"/> + <field name="code">53</field> + </record> + <record id="tax_report_de_tag_74" model="account.tax.report.line"> + <field name="name">74. Lieferungen sicherungsübereigneter Gegenstände und Umsätze, die unter das GrEStG fallen (zeile 50)</field> + <field name="tag_name">74</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">3</field> + <field name="parent_id" ref="tax_report_de_tax_tag_46"/> + <field name="code">74</field> + </record> + <record id="tax_report_de_tag_79" model="account.tax.report.line"> + <field name="name">79. Lieferungen von Mobilfunkgeräten, Tablet-Computern, Spielekonsolen und integrierten Schaltkreisen (zeile 51)</field> + <field name="tag_name">79</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">4</field> + <field name="parent_id" ref="tax_report_de_tax_tag_46"/> + <field name="code">79</field> + </record> + <record id="tax_report_de_tag_85" model="account.tax.report.line"> + <field name="name">85. Andere Leistungen (zeile 52)</field> + <field name="tag_name">85</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">5</field> + <field name="parent_id" ref="tax_report_de_tax_tag_46"/> + <field name="code">85</field> + </record> + <record id="tax_report_de_tag_65" model="account.tax.report.line"> + <field name="name">65. Steuer infolge Wechsels der Besteuerungsform sowie Nachsteuer auf versteuerte Anzahlungen u. ä. wegen Steuersatzänderung (zeile 53)</field> + <field name="tag_name">65</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">6</field> + <field name="parent_id" ref="tax_report_de_tax_tag_46"/> + <field name="code">65</field> + </record> + + <!-- Row 56 - 57 - 58 - 59 - 60 - 61 - 62 --> + <record id="tax_report_de_tag_66" model="account.tax.report.line"> + <field name="name">66. Vorsteuerbeträge aus Rechnungen von anderen Unternehmern (zeile 56)</field> + <field name="tag_name">66</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tax_tag_55"/> + <field name="code">66</field> + </record> + <record id="tax_report_de_tag_61" model="account.tax.report.line"> + <field name="name">61. Vorsteuerbeträge aus dem innergemeinschaftlichen Erwerb von Gegenständen (zeile 57)</field> + <field name="tag_name">61</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tax_tag_55"/> + <field name="code">61</field> + </record> + <record id="tax_report_de_tag_62" model="account.tax.report.line"> + <field name="name">62. Entstandene Einfuhrumsatzsteuer (zeile 58)</field> + <field name="tag_name">62</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">3</field> + <field name="parent_id" ref="tax_report_de_tax_tag_55"/> + <field name="code">62</field> + </record> + <record id="tax_report_de_tag_67" model="account.tax.report.line"> + <field name="name">67. Vorsteuerbeträge aus Leistungen im Sinne des § 13b UStG (zeile 59)</field> + <field name="tag_name">67</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">4</field> + <field name="parent_id" ref="tax_report_de_tax_tag_55"/> + <field name="code">67</field> + </record> + <record id="tax_report_de_tag_63" model="account.tax.report.line"> + <field name="name">63. Vorsteuerbeträge, die nach allgemeinen Durchschnittssätzen berechnet sind (zeile 60)</field> + <field name="tag_name">63</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">5</field> + <field name="parent_id" ref="tax_report_de_tax_tag_55"/> + <field name="code">63</field> + </record> + <record id="tax_report_de_tag_64" model="account.tax.report.line"> + <field name="name">64. Berichtigung des Vorsteuerabzugs (zeile 61)</field> + <field name="tag_name">64</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">6</field> + <field name="parent_id" ref="tax_report_de_tax_tag_55"/> + <field name="code">64</field> + </record> + <record id="tax_report_de_tag_59" model="account.tax.report.line"> + <field name="name">59. Vorsteuerabzug für innergemeinschaftliche Lieferungen neuer Fahrzeuge außerhalb eines Unternehmens (zeile 62)</field> + <field name="tag_name">59</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">7</field> + <field name="parent_id" ref="tax_report_de_tax_tag_55"/> + <field name="code">59</field> + </record> + + <!-- Row 65 --> + <record id="tax_report_de_tag_69" model="account.tax.report.line"> + <field name="name">69. In Rechnungen unrichtig oder unberechtigt ausgewiesene Steuerbeträge (zeile 65)</field> + <field name="tag_name">69</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tax_tag_64"/> + <field name="code">69</field> + </record> + + <!-- Row 67 - 68 --> + <record id="tax_report_de_tag_39" model="account.tax.report.line"> + <field name="name">39. Abzug der festgesetzten Sondervorauszahlung für Dauerfristverlängerung (zeile 67)</field> + <field name="tag_name">39</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">1</field> + <field name="parent_id" ref="tax_report_de_tax_tag_66"/> + <field name="code">39</field> + </record> + <record id="tax_report_de_tag_83" model="account.tax.report.line"> + <field name="name">83. Verbleibende Umsatzsteuer-Vorauszahlung (zeile 68)</field> + <field name="tag_name">83</field> + <field name="report_id" ref="tax_report"/> + <field name="sequence">2</field> + <field name="parent_id" ref="tax_report_de_tax_tag_66"/> + <field name="code">83</field> + </record> + + <record id="tag_de_intracom_community_delivery" model="account.account.tag"> + <field name="name">Innergemeinschaftliche Lieferung</field> + <field name="applicability">taxes</field> + <field name="country_id" ref="base.de"/> + </record> + <record id="tag_de_intracom_community_supplies" model="account.account.tag"> + <field name="name">Sonstige Leistungen</field> + <field name="applicability">taxes</field> + <field name="country_id" ref="base.de"/> + </record> + <record id="tag_de_intracom_ABC" model="account.account.tag"> + <field name="name">Dreiecksgeschäfte</field> + <field name="applicability">taxes</field> + <field name="country_id" ref="base.de"/> + </record> + + <!-- Profit and loss tags --> + <record id="tag_de_pl_01" model="account.account.tag"> + <field name="name">G&V: 1-Umsatzerlöse</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_02" model="account.account.tag"> + <field name="name">G&V: 2-Erhöhung oder Verminderung des Bestands an fertigen und unfertigen Erzeugnissen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_03" model="account.account.tag"> + <field name="name">G&V: 3-Andere aktivierte Eigenleistungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_04" model="account.account.tag"> + <field name="name">G&V: 4-Sonstige betrieliche Erträge</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_05" model="account.account.tag"> + <field name="name">G&V: 5-Materialaufwand</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_06" model="account.account.tag"> + <field name="name">G&V: 6-Personalaufwand</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_07" model="account.account.tag"> + <field name="name">G&V: 7-Abschreibungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_08_1" model="account.account.tag"> + <field name="name">G&V: 8.1-Raumkosten</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_08_2" model="account.account.tag"> + <field name="name">G&V: 8.2-Versicherungen, Beiträge und Abgaben</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_08_3" model="account.account.tag"> + <field name="name">G&V: 8.3-Reparaturen und Instandhaltungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_08_4" model="account.account.tag"> + <field name="name">G&V: 8.4-Fahrzeugkosten</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_08_5" model="account.account.tag"> + <field name="name">G&V: 8.5-Werbe- und Reisekosten</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_08_6" model="account.account.tag"> + <field name="name">G&V: 8.6-Kosten der Warenabgabe</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_08_7" model="account.account.tag"> + <field name="name">G&V: 8.7-verschiedene betriebliche Kosten</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_09" model="account.account.tag"> + <field name="name">G&V: 9-Erträge aus Beteiligungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_10" model="account.account.tag"> + <field name="name">G&V: 10-Erträge aus anderen Wertpapieren und Ausleihungen des Finanzanlagevermögens</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_11" model="account.account.tag"> + <field name="name">G&V: 11-Sonstige Zinsen und ähnliche Erträge</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_12" model="account.account.tag"> + <field name="name">G&V: 12-Abschreibungen auf Finanzanlagen und auf Wertpapiere des Umlaufvermögens</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_13" model="account.account.tag"> + <field name="name">G&V: 13-Zinsen und ähnliche Aufwendungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_14" model="account.account.tag"> + <field name="name">G&V: 14-Steuern vom Einkommen und Ertrag</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_pl_15" model="account.account.tag"> + <field name="name">G&V: 15-Sonstige Steuern</field> + <field name="applicability">accounts</field> + </record> + + <!-- Balance sheet tags --> + <record id="tag_de_asset_bs_A_I_1" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A I 1-Selbst geschaffene gewerbliche Schutzrechte und ähnliche Rechte und Werte</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_I_2" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A I 2-Konzessionen, Lizenzen und ähnliche Rechte und Werte</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_I_3" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A I 3-Geschäfts- oder Firmenwert</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_I_4" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A I 4-geleistete Anzahlungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_II_1" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A II 1-Grundstücke. grundstücksgleiche Rechte und Bauten</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_II_2" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A II 2-Technische Anlagen und Maschinen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_II_3" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A II 3-Andere Anlagen. Betriebs- und Geschäftsausstattung</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_II_4" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A II 4-Geleistete Anzahlungen und Anlagen im Bau</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_III_1" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A III 1-Anteile an verbundenen Unternehmen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_III_2" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A III 2-Ausleihungen an verbundene Unternehmen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_III_3" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A III 3-Beteiligungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_III_4" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A III 4-Ausleihungen an Unternehmen, mit denen ein Beteiligungsverhältnis besteht</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_III_5" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A III 5-Wertpapiere des Anlagevermögens</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_A_III_6" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: A III 6-sonstige Ausleihungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_B_I_1" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: B I 1-Roh-, Hilfs- und Betriebsstoffe</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_B_I_2" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: B I 2-Unfertige Erzeugnisse, unfertige Leistungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_B_I_3" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: B I 3-Fertige Erzeugnisse und Waren</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_B_I_4" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: B I 4-Geleistete Anzahlungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_B_II_1" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: B II 1-Forderungen aus Lieferungen und Leistungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_B_II_2" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: B II 2-Forderungen gegen verbundene Unternehmen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_B_II_3" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: B II 3-Forderungen gegen Unternehmen, mit denen ein Beteiligungsverhältnis besteht</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_B_II_4" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: B II 4-Sonstige Vermögensgegenstände</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_B_III_1" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: B III 1-Anteile an verbundenen Unternehmen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_B_III_2" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: B III 2-sonstige Wertpapiere</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_B_IV" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: B IV-Kassenbestand, Bundesbankguthaben, Guthaben bei Kreditinstituten und Schecks</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_C" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: C-Rechnungsabgrenzungsposten</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_D" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: D-Aktive latente Steuern</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_asset_bs_E" model="account.account.tag"> + <field name="name">Bilanz-Aktiva: E-Aktiver Unterschiedsbetrag aus der Vermögensverrechnung</field> + <field name="applicability">accounts</field> + </record> + + <record id="tag_de_liabilities_bs_A_I" model="account.account.tag"> + <field name="name">Bilanz-Passiva: A I-Gezeichnetes Kapital</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_A_II" model="account.account.tag"> + <field name="name">Bilanz-Passiva: A II-Kapitalrücklage</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_A_III_1" model="account.account.tag"> + <field name="name">Bilanz-Passiva: A III 1-Gesetzliche Rücklage</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_A_III_2" model="account.account.tag"> + <field name="name">Bilanz-Passiva: A III 2-Rücklage für Anteile an einem herrschenden oder mehrheitlich beteiligten Unternehmen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_A_III_3" model="account.account.tag"> + <field name="name">Bilanz-Passiva: A III 3-Satzungsmäßige Rücklagen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_A_III_4" model="account.account.tag"> + <field name="name">Bilanz-Passiva: A III 4-Andere Gewinnrücklagen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_A_IV" model="account.account.tag"> + <field name="name">Bilanz-Passiva: A IV-Gewinnvortrag/Verlustvortrag</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_A_V" model="account.account.tag"> + <field name="name">Bilanz-Passiva: A V-Jahresüberschuß/Jahresfehlbetrag</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_B" model="account.account.tag"> + <field name="name">Bilanz-Passiva: B Sonderposten mit Rücklageanteil</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_C_1" model="account.account.tag"> + <field name="name">Bilanz-Passiva: C 1-Rückstellungen für Pensionen und ähnliche Verpflichtungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_C_2" model="account.account.tag"> + <field name="name">Bilanz-Passiva: C 2-Steuerrückstellungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_C_3" model="account.account.tag"> + <field name="name">Bilanz-Passiva: C 3-Sonstige Rückstellungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_D_1" model="account.account.tag"> + <field name="name">Bilanz-Passiva: D 1-Anleihen, davon konvertibeln</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_D_2" model="account.account.tag"> + <field name="name">Bilanz-Passiva: D 2-Verbindlichkeiten gegenüber Kreditinstituten</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_D_3" model="account.account.tag"> + <field name="name">Bilanz-Passiva: D 3-Erhaltene Anzahlungen auf Bestellungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_D_4" model="account.account.tag"> + <field name="name">Bilanz-Passiva: D 4-Verbindlichkeiten aus Lieferungen und Leistungen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_D_5" model="account.account.tag"> + <field name="name">Bilanz-Passiva: D 5-Verbindlichkeiten aus der Annahme gezogener Wechsel und der Ausstellung eigener Wechsel</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_D_6" model="account.account.tag"> + <field name="name">Bilanz-Passiva: D 6-Verbindlichkeiten gegenüber verbundenen Unternehmen</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_D_7" model="account.account.tag"> + <field name="name">Bilanz-Passiva: D 7-Verbindlichkeiten gegenüber Unternehmen, mit denen ein Beteiligungsverhältnis besteht</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_D_8" model="account.account.tag"> + <field name="name">Bilanz-Passiva: D 8-Sonstige Verbindlichkeiten, davon aus Steuern, davon im Rahmen der sozialen Sicherheit</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_E" model="account.account.tag"> + <field name="name">Bilanz-Passiva: E-Rechnungsabgrenzungsposten</field> + <field name="applicability">accounts</field> + </record> + <record id="tag_de_liabilities_bs_F" model="account.account.tag"> + <field name="name">Bilanz-Passiva: F-Passive latente Steuern</field> + <field name="applicability">accounts</field> + </record> + +</odoo> diff --git a/addons/l10n_de/data/menuitem_data.xml b/addons/l10n_de/data/menuitem_data.xml new file mode 100644 index 00000000..bcf3165a --- /dev/null +++ b/addons/l10n_de/data/menuitem_data.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <menuitem id="account_reports_de_statements_menu" name="Germany" parent="account.menu_finance_reports" sequence="0" groups="account.group_account_readonly"/> +</odoo> diff --git a/addons/l10n_de/data/report_layout.xml b/addons/l10n_de/data/report_layout.xml new file mode 100644 index 00000000..ed0069c9 --- /dev/null +++ b/addons/l10n_de/data/report_layout.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + <record id="report_layout_din5008" model="report.layout"> + <field name="view_id" ref="l10n_de.external_layout_din5008"/> + <field name="image">/l10n_de/static/img/preview_din.png</field> + <field name="pdf">/l10n_de/static/pdf/preview_din.pdf</field> + <field name="name">DIN 5008</field> + </record> + </data> +</odoo>
\ No newline at end of file diff --git a/addons/l10n_de/i18n/de.po b/addons/l10n_de/i18n/de.po new file mode 100644 index 00000000..ecf72691 --- /dev/null +++ b/addons/l10n_de/i18n/de.po @@ -0,0 +1,299 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_de +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-06-30 07:07+0000\n" +"PO-Revision-Date: 2021-07-29 13:09+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.3\n" +"Last-Translator: \n" +"Language: de\n" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.din5008_css +msgid "" +"&.din_page {\n" +" &.header {\n" +" .company_header {\n" +" .name_container {\n" +" color:" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,help:l10n_de.field_account_tax__l10n_de_datev_code +msgid "2 digits code use by Datev" +msgstr "" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.din5008_css +msgid "" +";\n" +" }\n" +" }\n" +" }\n" +" h2 {\n" +" color:" +msgstr "" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.din5008_css +msgid "" +";\n" +" }\n" +" }\n" +" }\n" +" &.invoice_note {\n" +" td {\n" +" .address {\n" +" > span {\n" +" color:" +msgstr "" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.din5008_css +msgid "" +";\n" +" }\n" +" .page {\n" +" [name=invoice_line_table], " +"[name=stock_move_table], .o_main_table {\n" +" th {\n" +" color:" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/datev.py:0 +#, python-format +msgid "" +"Account %s does not authorize to have tax %s specified on the " +"line. Change the tax used in this invoice or " +"remove all taxes from the account" +msgstr "" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_account_chart_template +msgid "Account Chart Template" +msgstr "Kontenplan Vorlage" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.external_layout_din5008 +msgid "BIC:" +msgstr "BIC:" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__bank_ids +msgid "Bank Accounts" +msgstr "Bankkonten" + +#. module: l10n_de +#: model:ir.model.fields,help:l10n_de.field_base_document_layout__bank_ids +msgid "Bank accounts related to this company" +msgstr "Bankkonten mit Bezug zu dieser Firma" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Cancelled Invoice" +msgstr "Stornierte Rechnung" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__city +msgid "City" +msgstr "Stadt" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_base_document_layout +msgid "Company Document Layout" +msgstr "Geschäftsvorlagen Layout" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__company_registry +msgid "Company Registry" +msgstr "Unternehmensregister" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Credit Note" +msgstr "Gutschrift" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_account_chart_template__display_name +#: model:ir.model.fields,field_description:l10n_de.field_account_move__display_name +#: model:ir.model.fields,field_description:l10n_de.field_account_tax__display_name +#: model:ir.model.fields,field_description:l10n_de.field_account_tax_template__display_name +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__display_name +#: model:ir.model.fields,field_description:l10n_de.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:l10n_de.field_product_template__display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Draft Invoice" +msgstr "Rechnungsentwurf" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#: code:addons/l10n_de/models/base_document_layout.py:0 +#, python-format +msgid "Due Date" +msgstr "Fälligkeitsdatum" + +#. module: l10n_de +#: model:ir.ui.menu,name:l10n_de.account_reports_de_statements_menu +msgid "Germany" +msgstr "Deutschland" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.external_layout_din5008 +msgid "HRB Nr:" +msgstr "HRB Nr.:" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.external_layout_din5008 +msgid "IBAN:" +msgstr "IBAN:" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_account_chart_template__id +#: model:ir.model.fields,field_description:l10n_de.field_account_move__id +#: model:ir.model.fields,field_description:l10n_de.field_account_tax__id +#: model:ir.model.fields,field_description:l10n_de.field_account_tax_template__id +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__id +#: model:ir.model.fields,field_description:l10n_de.field_ir_actions_report__id +#: model:ir.model.fields,field_description:l10n_de.field_product_template__id +msgid "ID" +msgstr "ID" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Invoice" +msgstr "Rechnung" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#: code:addons/l10n_de/models/base_document_layout.py:0 +#, python-format +msgid "Invoice Date" +msgstr "Rechnungsdatum" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#: code:addons/l10n_de/models/base_document_layout.py:0 +#, python-format +msgid "Invoice No." +msgstr "Rechnungsnummer" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_account_move +msgid "Journal Entry" +msgstr "Buchungseintrag" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_account_tax__l10n_de_datev_code +#: model:ir.model.fields,field_description:l10n_de.field_account_tax_template__l10n_de_datev_code +msgid "L10N De Datev Code" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_account_bank_statement_line__l10n_de_document_title +#: model:ir.model.fields,field_description:l10n_de.field_account_move__l10n_de_document_title +#: model:ir.model.fields,field_description:l10n_de.field_account_payment__l10n_de_document_title +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__l10n_de_document_title +msgid "L10N De Document Title" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_account_bank_statement_line__l10n_de_template_data +#: model:ir.model.fields,field_description:l10n_de.field_account_move__l10n_de_template_data +#: model:ir.model.fields,field_description:l10n_de.field_account_payment__l10n_de_template_data +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__l10n_de_template_data +msgid "L10N De Template Data" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_account_chart_template____last_update +#: model:ir.model.fields,field_description:l10n_de.field_account_move____last_update +#: model:ir.model.fields,field_description:l10n_de.field_account_tax____last_update +#: model:ir.model.fields,field_description:l10n_de.field_account_tax_template____last_update +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout____last_update +#: model:ir.model.fields,field_description:l10n_de.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:l10n_de.field_product_template____last_update +msgid "Last Modified on" +msgstr "Zuletzt bearbeitet am" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.external_layout_din5008 +msgid "Page: <span class=\"page\"/> of <span class=\"topage\"/>" +msgstr "Seite: <span class=\"page\"/> von <span class=\"topage\"/>" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_product_template +msgid "Product Template" +msgstr "Produktvorlage" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#: code:addons/l10n_de/models/base_document_layout.py:0 +#, python-format +msgid "Reference" +msgstr "Referenz" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_ir_actions_report +msgid "Report Action" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Source" +msgstr "Quelle" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__street +msgid "Street" +msgstr "Straße" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__street2 +msgid "Street2" +msgstr "Straße 2" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_account_tax +msgid "Tax" +msgstr "Steuer" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_account_tax_template +msgid "Templates for Taxes" +msgstr "Steuervorlage" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Vendor Bill" +msgstr "Lieferantenrechnung" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Vendor Credit Note" +msgstr "Lieferantengutschrift" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__zip +msgid "Zip" +msgstr "Postleitzahl" diff --git a/addons/l10n_de/i18n/l10n_de.pot b/addons/l10n_de/i18n/l10n_de.pot new file mode 100644 index 00000000..d4f3772f --- /dev/null +++ b/addons/l10n_de/i18n/l10n_de.pot @@ -0,0 +1,291 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_de +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-07-22 09:50+0000\n" +"PO-Revision-Date: 2021-07-22 09:50+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.din5008_css +msgid "" +"&.din_page {\n" +" &.header {\n" +" .company_header {\n" +" .name_container {\n" +" color:" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,help:l10n_de.field_account_tax__l10n_de_datev_code +msgid "2 digits code use by Datev" +msgstr "" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.din5008_css +msgid "" +";\n" +" }\n" +" }\n" +" }\n" +" h2 {\n" +" color:" +msgstr "" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.din5008_css +msgid "" +";\n" +" }\n" +" }\n" +" }\n" +" &.invoice_note {\n" +" td {\n" +" .address {\n" +" > span {\n" +" color:" +msgstr "" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.din5008_css +msgid "" +";\n" +" }\n" +" .page {\n" +" [name=invoice_line_table], [name=stock_move_table], .o_main_table {\n" +" th {\n" +" color:" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/datev.py:0 +#, python-format +msgid "" +"Account %s does not authorize to have tax %s specified on the line." +" Change the tax used in this invoice or " +"remove all taxes from the account" +msgstr "" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_account_chart_template +msgid "Account Chart Template" +msgstr "" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.external_layout_din5008 +msgid "BIC:" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__bank_ids +msgid "Banks" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Cancelled Invoice" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__city +msgid "City" +msgstr "" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_base_document_layout +msgid "Company Document Layout" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__company_registry +msgid "Company Registry" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Credit Note" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_account_chart_template__display_name +#: model:ir.model.fields,field_description:l10n_de.field_account_move__display_name +#: model:ir.model.fields,field_description:l10n_de.field_account_tax__display_name +#: model:ir.model.fields,field_description:l10n_de.field_account_tax_template__display_name +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__display_name +#: model:ir.model.fields,field_description:l10n_de.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:l10n_de.field_product_template__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Draft Invoice" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#: code:addons/l10n_de/models/base_document_layout.py:0 +#, python-format +msgid "Due Date" +msgstr "" + +#. module: l10n_de +#: model:ir.ui.menu,name:l10n_de.account_reports_de_statements_menu +msgid "Germany" +msgstr "" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.external_layout_din5008 +msgid "HRB Nr:" +msgstr "" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.external_layout_din5008 +msgid "IBAN:" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_account_chart_template__id +#: model:ir.model.fields,field_description:l10n_de.field_account_move__id +#: model:ir.model.fields,field_description:l10n_de.field_account_tax__id +#: model:ir.model.fields,field_description:l10n_de.field_account_tax_template__id +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__id +#: model:ir.model.fields,field_description:l10n_de.field_ir_actions_report__id +#: model:ir.model.fields,field_description:l10n_de.field_product_template__id +msgid "ID" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Invoice" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#: code:addons/l10n_de/models/base_document_layout.py:0 +#, python-format +msgid "Invoice Date" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#: code:addons/l10n_de/models/base_document_layout.py:0 +#, python-format +msgid "Invoice No." +msgstr "" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_account_move +msgid "Journal Entry" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_account_tax__l10n_de_datev_code +#: model:ir.model.fields,field_description:l10n_de.field_account_tax_template__l10n_de_datev_code +msgid "L10N De Datev Code" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_account_bank_statement_line__l10n_de_document_title +#: model:ir.model.fields,field_description:l10n_de.field_account_move__l10n_de_document_title +#: model:ir.model.fields,field_description:l10n_de.field_account_payment__l10n_de_document_title +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__l10n_de_document_title +msgid "L10N De Document Title" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_account_bank_statement_line__l10n_de_template_data +#: model:ir.model.fields,field_description:l10n_de.field_account_move__l10n_de_template_data +#: model:ir.model.fields,field_description:l10n_de.field_account_payment__l10n_de_template_data +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__l10n_de_template_data +msgid "L10N De Template Data" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_account_chart_template____last_update +#: model:ir.model.fields,field_description:l10n_de.field_account_move____last_update +#: model:ir.model.fields,field_description:l10n_de.field_account_tax____last_update +#: model:ir.model.fields,field_description:l10n_de.field_account_tax_template____last_update +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout____last_update +#: model:ir.model.fields,field_description:l10n_de.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:l10n_de.field_product_template____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_de +#: model_terms:ir.ui.view,arch_db:l10n_de.external_layout_din5008 +msgid "Page: <span class=\"page\"/> of <span class=\"topage\"/>" +msgstr "" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_product_template +msgid "Product Template" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#: code:addons/l10n_de/models/base_document_layout.py:0 +#, python-format +msgid "Reference" +msgstr "" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_ir_actions_report +msgid "Report Action" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Source" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__street +msgid "Street" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__street2 +msgid "Street2" +msgstr "" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_account_tax +msgid "Tax" +msgstr "" + +#. module: l10n_de +#: model:ir.model,name:l10n_de.model_account_tax_template +msgid "Templates for Taxes" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Vendor Bill" +msgstr "" + +#. module: l10n_de +#: code:addons/l10n_de/models/account_move.py:0 +#, python-format +msgid "Vendor Credit Note" +msgstr "" + +#. module: l10n_de +#: model:ir.model.fields,field_description:l10n_de.field_base_document_layout__zip +msgid "Zip" +msgstr "" diff --git a/addons/l10n_de/models/__init__.py b/addons/l10n_de/models/__init__.py new file mode 100644 index 00000000..f88e3df8 --- /dev/null +++ b/addons/l10n_de/models/__init__.py @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import datev +from . import base_document_layout +from . import chart_template +from . import ir_actions_report +from . import account_move diff --git a/addons/l10n_de/models/account_move.py b/addons/l10n_de/models/account_move.py new file mode 100644 index 00000000..71ec4a0a --- /dev/null +++ b/addons/l10n_de/models/account_move.py @@ -0,0 +1,40 @@ +from odoo import models, fields, _ +from odoo.tools import format_date + + +class AccountMove(models.Model): + _inherit = 'account.move' + + l10n_de_template_data = fields.Binary(compute='_compute_l10n_de_template_data') + l10n_de_document_title = fields.Char(compute='_compute_l10n_de_document_title') + + def _compute_l10n_de_template_data(self): + for record in self: + record.l10n_de_template_data = data = [] + if record.name: + data.append((_("Invoice No."), record.name)) + if record.invoice_date: + data.append((_("Invoice Date"), format_date(self.env, record.invoice_date))) + if record.invoice_date_due: + data.append((_("Due Date"), format_date(self.env, record.invoice_date_due))) + if record.invoice_origin: + data.append((_("Source"), record.invoice_origin)) + if record.ref: + data.append((_("Reference"), record.ref)) + + def _compute_l10n_de_document_title(self): + for record in self: + record.l10n_de_document_title = '' + if record.move_type == 'out_invoice': + if record.state == 'posted': + record.l10n_de_document_title = _('Invoice') + elif record.state == 'draft': + record.l10n_de_document_title = _('Draft Invoice') + elif record.state == 'cancel': + record.l10n_de_document_title = _('Cancelled Invoice') + elif record.move_type == 'out_refund': + record.l10n_de_document_title = _('Credit Note') + elif record.move_type == 'in_refund': + record.l10n_de_document_title = _('Vendor Credit Note') + elif record.move_type == 'in_invoice': + record.l10n_de_document_title = _('Vendor Bill') diff --git a/addons/l10n_de/models/base_document_layout.py b/addons/l10n_de/models/base_document_layout.py new file mode 100644 index 00000000..6ded58f4 --- /dev/null +++ b/addons/l10n_de/models/base_document_layout.py @@ -0,0 +1,26 @@ +from odoo import models, fields, _ +from odoo.tools import format_date + + +class BaseDocumentLayout(models.TransientModel): + _inherit = 'base.document.layout' + + street = fields.Char(related='company_id.street', readonly=True) + street2 = fields.Char(related='company_id.street2', readonly=True) + zip = fields.Char(related='company_id.zip', readonly=True) + city = fields.Char(related='company_id.city', readonly=True) + company_registry = fields.Char(related='company_id.company_registry', readonly=True) + bank_ids = fields.One2many(related='company_id.partner_id.bank_ids', readonly=True) + l10n_de_template_data = fields.Binary(compute='_compute_l10n_de_template_data') + l10n_de_document_title = fields.Char(compute='_compute_l10n_de_document_title') + + def _compute_l10n_de_template_data(self): + self.l10n_de_template_data = [ + (_("Invoice No."), 'INV/2021/12345'), + (_("Invoice Date"), format_date(self.env, fields.Date.today())), + (_("Due Date"), format_date(self.env, fields.Date.add(fields.Date.today(), days=7))), + (_("Reference"), 'SO/2021/45678'), + ] + + def _compute_l10n_de_document_title(self): + self.l10n_de_document_title = 'Invoice' diff --git a/addons/l10n_de/models/chart_template.py b/addons/l10n_de/models/chart_template.py new file mode 100644 index 00000000..b62a5c2d --- /dev/null +++ b/addons/l10n_de/models/chart_template.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +from odoo import api, models + + +class AccountChartTemplate(models.Model): + _inherit = 'account.chart.template' + + @api.model + def _prepare_transfer_account_for_direct_creation(self, name, company): + res = super(AccountChartTemplate, self)._prepare_transfer_account_for_direct_creation(name, company) + if company.country_id.code == 'DE': + xml_id = self.env.ref('l10n_de.tag_de_asset_bs_B_III_2').id + res.setdefault('tag_ids', []) + res['tag_ids'].append((4, xml_id)) + return res + + # Write paperformat and report template used on company + def _load(self, sale_tax_rate, purchase_tax_rate, company): + res = super(AccountChartTemplate, self)._load(sale_tax_rate, purchase_tax_rate, company) + if company.country_id.code == 'DE': + company.write({'external_report_layout_id': self.env.ref('l10n_de.external_layout_din5008').id, + 'paperformat_id': self.env.ref('l10n_de.paperformat_euro_din').id}) + return res diff --git a/addons/l10n_de/models/datev.py b/addons/l10n_de/models/datev.py new file mode 100644 index 00000000..d2e0f8cb --- /dev/null +++ b/addons/l10n_de/models/datev.py @@ -0,0 +1,57 @@ +from odoo import api, fields, models +from odoo.exceptions import UserError +from odoo.tools.translate import _ + +class AccountTaxTemplate(models.Model): + _inherit = 'account.tax.template' + + l10n_de_datev_code = fields.Char(size=2) + + def _get_tax_vals(self, company, tax_template_to_tax): + vals = super(AccountTaxTemplate, self)._get_tax_vals(company, tax_template_to_tax) + vals['l10n_de_datev_code'] = self.l10n_de_datev_code + return vals + +class AccountTax(models.Model): + _inherit = "account.tax" + + l10n_de_datev_code = fields.Char(size=2, help="2 digits code use by Datev") + + +class AccountMove(models.Model): + _inherit = 'account.move' + + def _post(self, soft=True): + # OVERRIDE to check the invoice lines taxes. + for invoice in self.filtered(lambda move: move.is_invoice()): + for line in invoice.invoice_line_ids: + account_tax = line.account_id.tax_ids.ids + if account_tax and invoice.company_id.country_id.code == 'DE': + account_name = line.account_id.name + for tax in line.tax_ids: + if tax.id not in account_tax: + raise UserError(_('Account %s does not authorize to have tax %s specified on the line. \ + Change the tax used in this invoice or remove all taxes from the account') % (account_name, tax.name)) + return super()._post(soft) + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + def _get_product_accounts(self): + """ As taxes with a different rate need a different income/expense account, we add this logic in case people only use + invoicing to not be blocked by the above constraint""" + result = super(ProductTemplate, self)._get_product_accounts() + company = self.env.company + if company.country_id.code == "DE": + if not self.property_account_income_id: + taxes = self.taxes_id.filtered(lambda t: t.company_id == company) + if not result['income'] or (result['income'].tax_ids and taxes and taxes[0] not in result['income'].tax_ids): + result['income'] = self.env['account.account'].search([('internal_group', '=', 'income'), ('deprecated', '=', False), + ('tax_ids', 'in', taxes.ids)], limit=1) + if not self.property_account_expense_id: + supplier_taxes = self.supplier_taxes_id.filtered(lambda t: t.company_id == company) + if not result['expense'] or (result['expense'].tax_ids and supplier_taxes and supplier_taxes[0] not in result['expense'].tax_ids): + result['expense'] = self.env['account.account'].search([('internal_group', '=', 'expense'), ('deprecated', '=', False), + ('tax_ids', 'in', supplier_taxes.ids)], limit=1) + return result diff --git a/addons/l10n_de/models/ir_actions_report.py b/addons/l10n_de/models/ir_actions_report.py new file mode 100644 index 00000000..bc3c499b --- /dev/null +++ b/addons/l10n_de/models/ir_actions_report.py @@ -0,0 +1,10 @@ +from odoo import models + + +class IrActionsReport(models.Model): + _inherit = 'ir.actions.report' + + def _get_rendering_context(self, docids, data): + data = super()._get_rendering_context(docids, data) + data['din_header_spacing'] = self.get_paperformat().header_spacing + return data diff --git a/addons/l10n_de/report/din5008_report.xml b/addons/l10n_de/report/din5008_report.xml new file mode 100644 index 00000000..b76d66f1 --- /dev/null +++ b/addons/l10n_de/report/din5008_report.xml @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + + <!-- New report paperformat for din5008 format --> + <record id="paperformat_euro_din_a" model="report.paperformat"> + <field name="name">European A4 for DIN5008 Type A</field> + <field name="default" eval="False" /> + <field name="format">A4</field> + <field name="orientation">Portrait</field> + <field name="margin_top">27</field> + <field name="margin_bottom">40</field> + <field name="margin_left">20</field> + <field name="margin_right">10</field> + <field name="dpi">70</field> + <field name="header_line" eval="False" /> + <field name="header_spacing">27</field> + </record> + + <record id="paperformat_euro_din" model="report.paperformat"> + <field name="name">European A4 for DIN5008 Type B</field> + <field name="default" eval="False" /> + <field name="format">A4</field> + <field name="orientation">Portrait</field> + <field name="margin_top">45</field> + <field name="margin_bottom">40</field> + <field name="margin_left">20</field> + <field name="margin_right">10</field> + <field name="dpi">70</field> + <field name="header_line" eval="False" /> + <field name="header_spacing">45</field> + </record> + + <template id="assets_common" name="l10n_de_din5008_report" inherit_id="web.report_assets_common"> + <xpath expr="." position="inside"> + <link rel="stylesheet" type="text/scss" href="/l10n_de/static/src/scss/report_din5008.scss"/> + </xpath> + </template> + + <!-- New report layout for din5008 format --> + <template id="external_layout_din5008"> + <div> + <div t-attf-class="header din_page o_company_#{company.id}_layout"> + <table class="company_header" t-att-style="'height: %dmm;' % (din_header_spacing or 27)"> + <tr> + <td><h3 class="mt0" t-field="company.report_header"/></td> + <td><img t-if="company.logo" t-att-src="image_data_uri(company.logo)" t-att-style="'max-height: %dmm;' % (din_header_spacing or 27)"/></td> + </tr> + </table> + </div> + + <div t-attf-class="din_page invoice_note article o_company_#{company.id}_layout" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id"> + <table> + <tr> + <td> + <div class="address"> + <t t-if="company.name"> + <span t-field="company.name"/> + </t> + <t t-if="company.street"> + <span>|</span> <span t-field="company.street"/> + </t> + <t t-if="company.street2"> + <span>|</span> <span t-field="company.street2"/> + </t> + <t t-if="company.zip"> + <span>|</span> <span t-field="company.zip"/> + </t> + <t t-if="company.city"> + <span t-if="not company.zip">|</span> <span t-field="company.city"/> + </t> + <t t-if="company.country_id"> + <span>|</span> <span t-field="company.country_id.name"/> + </t> + <hr class="company_invoice_line" /> + <div t-if="address"> + <t t-raw="address"/> + </div> + <div t-else="fallback_address"> + <t t-esc="fallback_address" + t-options='{"widget": "contact", "fields": ["address", "name", "phone"], "no_marker": True}' /> + </div> + </div> + </td> + <td> + <div class="information_block"> + <t t-if="'l10n_de_template_data' in company" t-set="template_data" t-value="company.l10n_de_template_data"/> + <t t-if="o and 'l10n_de_template_data' in o" t-set="template_data" t-value="o.l10n_de_template_data"/> + <table> + <t t-foreach="template_data" t-as="row"> + <tr><td><t t-esc="row[0]"/></td><td><t t-esc="row[1]"/></td></tr> + </t> + </table> + </div> + </td> + </tr> + <tr t-if="o and 'l10n_de_addresses' in o"> + <t t-foreach="o.l10n_de_addresses" t-as="doc_address"> + <td> + <div class="shipping_address"> + <strong><t t-esc="doc_address[0]"/></strong> + <div t-esc="doc_address[1]" t-options='{"widget": "contact", "fields": ["address", "name", "phone"], "no_marker": True}'/> + </div> + </td> + </t> + </tr> + </table> + <h2> + <span t-if="not o"><t t-esc="company.l10n_de_document_title"/></span> + <span t-elif="'l10n_de_document_title' in o"><t t-esc="o.l10n_de_document_title"/></span> + <span t-else="" t-field="o.name"/> + </h2> + <t t-raw="0"/> + </div> + + <div t-attf-class="din_page footer o_company_#{company.id}_layout"> + <div class="text-right page_number"> + <div class="text-muted"> + Page: <span class="page"/> of <span class="topage"/> + </div> + </div> + <div class="company_details"> + <table> + <tr> + <td> + <ul class="list-inline"> + <li t-if="company.name"><span t-field="company.name"/></li> + <li t-if="company.street"><span t-field="company.street"/></li> + <li t-if="company.street2"><span t-field="company.street2"/></li> + <li><span t-if="company.zip" t-field="company.zip"/> <span t-if="company.city" t-field="company.city"/></li> + <li t-if="company.country_id"><span t-field="company.country_id.name"/></li> + </ul> + </td> + <td> + <ul class="list-inline"> + <li t-if="company.phone"><span t-field="company.phone"/></li> + <li t-if="company.email"><span t-field="company.email"/></li> + <li t-if="company.website"><span t-field="company.website"/></li> + </ul> + </td> + <td> + <ul class="list-inline"> + <li t-if="company.vat"><t t-esc="company.country_id.vat_label or 'Tax ID'"/>: <span t-field="company.vat"/></li> + <li>HRB Nr: <span t-field="company.company_registry"/></li> + <div t-field="company.report_footer"/> + </ul> + </td> + <td> + <ul class="list-inline" t-if="company.partner_id.bank_ids"> + <t t-foreach="company.partner_id.bank_ids[:2]" t-as="bank"> + <li><span t-field="bank.bank_id.name"/></li> + <li>IBAN: <span t-field="bank.acc_number"/></li> + <li>BIC: <span t-field="bank.bank_id.bic"/></li> + </t> + </ul> + </td> + </tr> + </table> + </div> + </div> + </div> + </template> + + <template id="din5008_css" inherit_id="web.styles_company_report"> + <xpath expr="//t[@t-elif]" position="before"> + <t t-elif="layout == 'l10n_de.external_layout_din5008'"> + &.din_page { + &.header { + .company_header { + .name_container { + color: <t t-esc='primary'/>; + } + } + } + &.invoice_note { + td { + .address { + > span { + color: <t t-esc='secondary'/>; + } + } + } + h2 { + color: <t t-esc='primary'/>; + } + .page { + [name=invoice_line_table], [name=stock_move_table], .o_main_table { + th { + color: <t t-esc='secondary'/>; + } + } + } + } + } + </t> + </xpath> + </template> + </data> +</odoo> diff --git a/addons/l10n_de/static/description/icon.png b/addons/l10n_de/static/description/icon.png Binary files differnew file mode 100644 index 00000000..5f378c4a --- /dev/null +++ b/addons/l10n_de/static/description/icon.png diff --git a/addons/l10n_de/static/img/preview_din.png b/addons/l10n_de/static/img/preview_din.png Binary files differnew file mode 100644 index 00000000..0c271a51 --- /dev/null +++ b/addons/l10n_de/static/img/preview_din.png diff --git a/addons/l10n_de/static/pdf/preview_din.pdf b/addons/l10n_de/static/pdf/preview_din.pdf Binary files differnew file mode 100644 index 00000000..63d05f58 --- /dev/null +++ b/addons/l10n_de/static/pdf/preview_din.pdf diff --git a/addons/l10n_de/static/src/scss/report_din5008.scss b/addons/l10n_de/static/src/scss/report_din5008.scss new file mode 100644 index 00000000..dbe94407 --- /dev/null +++ b/addons/l10n_de/static/src/scss/report_din5008.scss @@ -0,0 +1,178 @@ +.din_page { + width: 180mm; + margin-left: -1rem; + font-size: 9pt; + + &.header { + table { + width: 100%; + img, h3, td, tr { + padding: 0; + margin: 0; + } + h3 { + color: $o-default-report-primary-color; + position: relative; + top: -10mm; + margin-bottom: -10mm; + } + img { + float: right; + } + } + } + &.invoice_note { + tr { + td { + vertical-align: bottom; + } + &:nth-child(2) td { + vertical-align: top; + } + .address, .information_block, .shipping_address, .invoice_address { + margin: 0; + } + .address { + height: 45mm; + } + .address, .shipping_address { + width: 85mm; + padding-left: 5mm; + .company_invoice_line { + margin-top: 1mm; + } + > span { + color: $o-default-report-secondary-color; + } + } + .information_block, .invoice_address { + width: 75mm; + min-height: 40mm; + margin-left: 20mm; + table { + width: 100%; + } + } + } + h2 { + margin-left: 5mm; + margin-right: 10mm; + margin-top: 8.46mm; + color: $o-default-report-primary-color; + } + > .pt-5 { // hide hardcoded address from base.template.layout + display: none; + } + .page { + margin-left: 5mm; + margin-right: 10mm; + > h2, h1, #informations { + display: none; + } + [name=invoice_line_table], [name=stock_move_table], .o_main_table { + margin-top: 8.46mm; + th { + color: $o-default-report-secondary-color; + } + } + } + } + &.footer { + padding-left: 5mm; + padding-right: 10mm; + .page_number { + margin-top: 4.23mm; + width: 100%; + height: 4.23mm; + } + .company_details { + margin-top: 4.23mm; + width: 100%; + table { + border-top: solid 1px; + width: 100%; + td { + vertical-align: baseline; + padding-right: 3mm; + &:last-child { + padding-right: initial; + } + } + } + } + } +} + + +// TODO WAN remove in master +.din { + &.header { + min-height: 45mm; + max-height: 45mm; + overflow: hidden; + img { + max-height: 45mm; + } + } + .company_address { + position: relative; + left: 45mm; + top: 5mm; + width: 75mm; + min-width: 75mm; + display: inline-block; + } + .company_invoice_address { + position: relative; + left: 25mm; + top: 17.7mm; + width: 85mm; + min-width: 85mm; + margin-bottom: 1mm; + font-size: 7pt; + overflow-y: hidden; + word-break: break-word; + } + .company_invoice_line { + margin-top: 1mm; + } + .invoice_address { + position: relative; + left: 25mm; + top: 14.7mm; + width: 85mm; + height: 27.3mm; + line-height: 1.15; + overflow-y: hidden; + word-break: break-word; + float: left; + } + .header_address { + min-height: 45mm; + } + .page_number { + margin-top: 4.23mm; + margin-bottom: 4.23mm; + } + &.article { + .page { + position: relative; + top: 8.46mm; + left: 25mm; + width: 190mm; + } + .address { + margin-top: 5mm; + } + } + &.o_background_footer { + position: relative; + left: 25mm; + width: 190mm; + } + .o_account_reports_header { + .fallback_header { + display: none; + } + } +} diff --git a/addons/l10n_de/views/account_view.xml b/addons/l10n_de/views/account_view.xml new file mode 100644 index 00000000..cb7f7d58 --- /dev/null +++ b/addons/l10n_de/views/account_view.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <record id="view_account_tax_form_inherit" model="ir.ui.view"> + <field name="name">account.tax.form</field> + <field name="model">account.tax</field> + <field name="inherit_id" ref="account.view_tax_form"/> + <field name="arch" type="xml"> + <field name="include_base_amount" position="after"> + <field name="l10n_de_datev_code"/> + </field> + </field> + </record> +</odoo>
\ No newline at end of file |
