From 3751379f1e9a4c215fb6eb898b4ccc67659b9ace Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 10 May 2022 21:51:50 +0700 Subject: initial commit 2 --- addons/l10n_de/__init__.py | 4 + addons/l10n_de/__manifest__.py | 28 + addons/l10n_de/data/account_account_tags_data.xml | 850 +++++++++++++++++++++ addons/l10n_de/data/menuitem_data.xml | 4 + addons/l10n_de/data/report_layout.xml | 11 + addons/l10n_de/i18n/de.po | 299 ++++++++ addons/l10n_de/i18n/l10n_de.pot | 291 +++++++ addons/l10n_de/models/__init__.py | 8 + addons/l10n_de/models/account_move.py | 40 + addons/l10n_de/models/base_document_layout.py | 26 + addons/l10n_de/models/chart_template.py | 23 + addons/l10n_de/models/datev.py | 57 ++ addons/l10n_de/models/ir_actions_report.py | 10 + addons/l10n_de/report/din5008_report.xml | 199 +++++ addons/l10n_de/static/description/icon.png | Bin 0 -> 233 bytes addons/l10n_de/static/img/preview_din.png | Bin 0 -> 53823 bytes addons/l10n_de/static/pdf/preview_din.pdf | Bin 0 -> 42468 bytes addons/l10n_de/static/src/scss/report_din5008.scss | 178 +++++ addons/l10n_de/views/account_view.xml | 13 + 19 files changed, 2041 insertions(+) create mode 100644 addons/l10n_de/__init__.py create mode 100644 addons/l10n_de/__manifest__.py create mode 100644 addons/l10n_de/data/account_account_tags_data.xml create mode 100644 addons/l10n_de/data/menuitem_data.xml create mode 100644 addons/l10n_de/data/report_layout.xml create mode 100644 addons/l10n_de/i18n/de.po create mode 100644 addons/l10n_de/i18n/l10n_de.pot create mode 100644 addons/l10n_de/models/__init__.py create mode 100644 addons/l10n_de/models/account_move.py create mode 100644 addons/l10n_de/models/base_document_layout.py create mode 100644 addons/l10n_de/models/chart_template.py create mode 100644 addons/l10n_de/models/datev.py create mode 100644 addons/l10n_de/models/ir_actions_report.py create mode 100644 addons/l10n_de/report/din5008_report.xml create mode 100644 addons/l10n_de/static/description/icon.png create mode 100644 addons/l10n_de/static/img/preview_din.png create mode 100644 addons/l10n_de/static/pdf/preview_din.pdf create mode 100644 addons/l10n_de/static/src/scss/report_din5008.scss create mode 100644 addons/l10n_de/views/account_view.xml (limited to 'addons/l10n_de') 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 @@ + + + + + Tax Report + + + + + + Bemessungsgrundlage + + 1 + + + Steuer + + 2 + + + + + + I. Anmeldung der Umsatzsteuer-Vorauszahlung (zeile 17) + + 1 + + + + + + + Lieferungen und sonstige Leistungen (zeile 18) + + 1 + + + + Innergemeinschaftliche Erwerbe (zeile 31) + + 2 + + + + Ergänzende Angaben zu Umsätzen (zeile 37) + + 3 + + + + Leistungsempfänger als Steuerschuldner (zeile 46) + + 4 + + + + + + + Steuerfreie Umsätze mit Vorsteuerabzug (zeile 19) + + 1 + + + + 48. Steuerfreie Umsätze ohne Vorsteuerabzug (zeile 24) + 48 + + 2 + + 48 + + + Steuerpflichtige Umsätze (zeile 25) + + 3 + + + + + + 41. an Abnehmer mit USt-IdNr (zeile 20) + 41 + + 1 + + 41 + + + 44. neuer Fahrzeuge an Abnehmer ohne USt-IdNr (zeile 21) + 44 + + 2 + + 44 + + + 49. neuer Fahrzeuge außerhalb eines Unternehmens (zeile 22) + 49 + + 3 + + 49 + + + 43. Weitere steuerfreie Umsätze mit Vorsteuerabzug (zeile 23) + 43 + + 4 + + 43 + + + + 81. zum Steuersatz von 19 % (zeile 26) + 81_BASE + + 1 + + + + 86. zum Steuersatz von 7 % (zeile 27) + 86_BASE + + 2 + + + + 35. zu anderen Steuersätzen (zeile 28) + 35 + + 2 + + 35 + + + 77. Lieferungen land- und forstwirtschaftlicher Betriebe nach § 24 UStG an Abnehmer mit USt-IdNr. (zeile 29) + 77 + + 4 + + 77 + + + 76. Umsätze, für die eine Steuer nach § 24 UStG zu entrichten ist (zeile 30) + 76 + + 5 + + 76 + + + + + 91. Steuerfreie innergemeinschaftliche Erwerbe (zeile 32) + 91 + + 1 + + 91 + + + 89. Steuerpflichtige innergemeinschaftliche Erwerbe zum Steuersatz von 19 % (zeile 33) + 89_BASE + + 2 + + + + 93. zum Steuersatz von 7 % (zeile 34) + 93_BASE + + 3 + + + + 95. zu anderen Steuersätzen (zeile 35) + 95 + + 4 + + 95 + + + 94. neuer Fahrzeuge von Lieferern ohne (zeile 36) + 94 + + 5 + + 94 + + + + + 42. Dreiecksgeschäften (zeile 38) + 42 + + 1 + + 42 + + + 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) + 68 + + 2 + + 68 + + + 60. Übrige steuerpflichtige Umsätze, für die der Leistungsempfänger die Steuer nach § 13b Abs. 5 UStG schuldet (zeile 40) + 60 + + 3 + + 60 + + + 21. Nicht steuerbare sonstige Leistungen (zeile 41) + 21 + + 4 + + 21 + + + 45. Übrige nicht steuerbare Umsätze (zeile 42) + 45_BASE + + 5 + + + + + + 46. Steuerpflichtige sonstige Leistungen eines im übrigen Gemeinschaftsgebiet ansässigen Unternehmers (zeile 48) + 46 + + 1 + + 46 + + + 52. Andere Leistungen eines im Ausland ansässigen Unternehmers (zeile 49) + 52 + + 2 + + 52 + + + 73. Lieferungen sicherungsübereigneter Gegenstände und Umsätze, die unter das GrEStG fallen (zeile 50) + 73 + + 3 + + 73 + + + 78. Lieferungen von Mobilfunkgeräten, Tablet-Computern, Spielekonsolen und integrierten Schaltkreisen (zeile 51) + 78 + + 4 + + 78 + + + 84. Andere Leistungen (zeile 52) + 84 + + 5 + + 84 + + + + + + + I. Anmeldung der Umsatzsteuer-Vorauszahlung (zeile 17) + + 1 + + + + + + + Lieferungen und sonstige Leistungen (zeile 18) + + 1 + + + + Innergemeinschaftliche Erwerbe (zeile 31) + + 2 + + + + Erganzende Angaben zu Umsatzen (zeile 37) + + 3 + + + + Leistungsempfanger als Steuerschuldner (zeile 46) + + 4 + + + + Abziehbare Vorsteuerbetrage (zeile 55) + + 5 + + + + Andere Steuerbetrage (zeile 64) + + 6 + + + + Umsatzsteuer-Vorauszahlung/Uberschuss (zeile 66) + + 7 + + + + + + 81. zum Steuersatz von 19 % (zeile 26) + 81_TAX + + 1 + + 81 + + + 86. zum Steuersatz von 7 % (zeile 27) + 86_TAX + + 2 + + 86 + + + 36. zu anderen Steuersatzen (zeile 28) + 36 + + 3 + + 36 + + + 80. Umsatze, fur die eine Steuer nach § 24 UStG zu entrichten ist (zeile 30) + 80 + + 4 + + 80 + + + + + 89. zum Steuersatz von 19 % (zeile 33) + 89_TAX + + 1 + + 89 + + + 93. zum Steuersatz von 7 % (zeile 34) + 93_TAX + + 2 + + 93 + + + 98. zu anderen Steuersatzen (zeile 35) + 98 + + 3 + + 98 + + + 96. neuer Fahrzeuge von Lieferern ohne USt-IdNr. zum allgemeinen Steuersatz (zeile 36) + 96 + + 4 + + 96 + + + + + 45. Ubertrag (zeile 45) + 45_TAX + + 1 + + 45 + + + + + 47. Steuerpflichtige sonstige Leistungen eines im übrigen Gemeinschaftsgebietansässigen Unternehmers (zeile 48) + 47 + + 1 + + 47 + + + 53. Andere Leistungen eines im Ausland ansässigen Unternehmers (zeile 49) + 53 + + 2 + + 53 + + + 74. Lieferungen sicherungsübereigneter Gegenstände und Umsätze, die unter das GrEStG fallen (zeile 50) + 74 + + 3 + + 74 + + + 79. Lieferungen von Mobilfunkgeräten, Tablet-Computern, Spielekonsolen und integrierten Schaltkreisen (zeile 51) + 79 + + 4 + + 79 + + + 85. Andere Leistungen (zeile 52) + 85 + + 5 + + 85 + + + 65. Steuer infolge Wechsels der Besteuerungsform sowie Nachsteuer auf versteuerte Anzahlungen u. ä. wegen Steuersatzänderung (zeile 53) + 65 + + 6 + + 65 + + + + + 66. Vorsteuerbeträge aus Rechnungen von anderen Unternehmern (zeile 56) + 66 + + 1 + + 66 + + + 61. Vorsteuerbeträge aus dem innergemeinschaftlichen Erwerb von Gegenständen (zeile 57) + 61 + + 2 + + 61 + + + 62. Entstandene Einfuhrumsatzsteuer (zeile 58) + 62 + + 3 + + 62 + + + 67. Vorsteuerbeträge aus Leistungen im Sinne des § 13b UStG (zeile 59) + 67 + + 4 + + 67 + + + 63. Vorsteuerbeträge, die nach allgemeinen Durchschnittssätzen berechnet sind (zeile 60) + 63 + + 5 + + 63 + + + 64. Berichtigung des Vorsteuerabzugs (zeile 61) + 64 + + 6 + + 64 + + + 59. Vorsteuerabzug für innergemeinschaftliche Lieferungen neuer Fahrzeuge außerhalb eines Unternehmens (zeile 62) + 59 + + 7 + + 59 + + + + + 69. In Rechnungen unrichtig oder unberechtigt ausgewiesene Steuerbeträge (zeile 65) + 69 + + 1 + + 69 + + + + + 39. Abzug der festgesetzten Sondervorauszahlung für Dauerfristverlängerung (zeile 67) + 39 + + 1 + + 39 + + + 83. Verbleibende Umsatzsteuer-Vorauszahlung (zeile 68) + 83 + + 2 + + 83 + + + + Innergemeinschaftliche Lieferung + taxes + + + + Sonstige Leistungen + taxes + + + + Dreiecksgeschäfte + taxes + + + + + + G&V: 1-Umsatzerlöse + accounts + + + G&V: 2-Erhöhung oder Verminderung des Bestands an fertigen und unfertigen Erzeugnissen + accounts + + + G&V: 3-Andere aktivierte Eigenleistungen + accounts + + + G&V: 4-Sonstige betrieliche Erträge + accounts + + + G&V: 5-Materialaufwand + accounts + + + G&V: 6-Personalaufwand + accounts + + + G&V: 7-Abschreibungen + accounts + + + G&V: 8.1-Raumkosten + accounts + + + G&V: 8.2-Versicherungen, Beiträge und Abgaben + accounts + + + G&V: 8.3-Reparaturen und Instandhaltungen + accounts + + + G&V: 8.4-Fahrzeugkosten + accounts + + + G&V: 8.5-Werbe- und Reisekosten + accounts + + + G&V: 8.6-Kosten der Warenabgabe + accounts + + + G&V: 8.7-verschiedene betriebliche Kosten + accounts + + + G&V: 9-Erträge aus Beteiligungen + accounts + + + G&V: 10-Erträge aus anderen Wertpapieren und Ausleihungen des Finanzanlagevermögens + accounts + + + G&V: 11-Sonstige Zinsen und ähnliche Erträge + accounts + + + G&V: 12-Abschreibungen auf Finanzanlagen und auf Wertpapiere des Umlaufvermögens + accounts + + + G&V: 13-Zinsen und ähnliche Aufwendungen + accounts + + + G&V: 14-Steuern vom Einkommen und Ertrag + accounts + + + G&V: 15-Sonstige Steuern + accounts + + + + + Bilanz-Aktiva: A I 1-Selbst geschaffene gewerbliche Schutzrechte und ähnliche Rechte und Werte + accounts + + + Bilanz-Aktiva: A I 2-Konzessionen, Lizenzen und ähnliche Rechte und Werte + accounts + + + Bilanz-Aktiva: A I 3-Geschäfts- oder Firmenwert + accounts + + + Bilanz-Aktiva: A I 4-geleistete Anzahlungen + accounts + + + Bilanz-Aktiva: A II 1-Grundstücke. grundstücksgleiche Rechte und Bauten + accounts + + + Bilanz-Aktiva: A II 2-Technische Anlagen und Maschinen + accounts + + + Bilanz-Aktiva: A II 3-Andere Anlagen. Betriebs- und Geschäftsausstattung + accounts + + + Bilanz-Aktiva: A II 4-Geleistete Anzahlungen und Anlagen im Bau + accounts + + + Bilanz-Aktiva: A III 1-Anteile an verbundenen Unternehmen + accounts + + + Bilanz-Aktiva: A III 2-Ausleihungen an verbundene Unternehmen + accounts + + + Bilanz-Aktiva: A III 3-Beteiligungen + accounts + + + Bilanz-Aktiva: A III 4-Ausleihungen an Unternehmen, mit denen ein Beteiligungsverhältnis besteht + accounts + + + Bilanz-Aktiva: A III 5-Wertpapiere des Anlagevermögens + accounts + + + Bilanz-Aktiva: A III 6-sonstige Ausleihungen + accounts + + + Bilanz-Aktiva: B I 1-Roh-, Hilfs- und Betriebsstoffe + accounts + + + Bilanz-Aktiva: B I 2-Unfertige Erzeugnisse, unfertige Leistungen + accounts + + + Bilanz-Aktiva: B I 3-Fertige Erzeugnisse und Waren + accounts + + + Bilanz-Aktiva: B I 4-Geleistete Anzahlungen + accounts + + + Bilanz-Aktiva: B II 1-Forderungen aus Lieferungen und Leistungen + accounts + + + Bilanz-Aktiva: B II 2-Forderungen gegen verbundene Unternehmen + accounts + + + Bilanz-Aktiva: B II 3-Forderungen gegen Unternehmen, mit denen ein Beteiligungsverhältnis besteht + accounts + + + Bilanz-Aktiva: B II 4-Sonstige Vermögensgegenstände + accounts + + + Bilanz-Aktiva: B III 1-Anteile an verbundenen Unternehmen + accounts + + + Bilanz-Aktiva: B III 2-sonstige Wertpapiere + accounts + + + Bilanz-Aktiva: B IV-Kassenbestand, Bundesbankguthaben, Guthaben bei Kreditinstituten und Schecks + accounts + + + Bilanz-Aktiva: C-Rechnungsabgrenzungsposten + accounts + + + Bilanz-Aktiva: D-Aktive latente Steuern + accounts + + + Bilanz-Aktiva: E-Aktiver Unterschiedsbetrag aus der Vermögensverrechnung + accounts + + + + Bilanz-Passiva: A I-Gezeichnetes Kapital + accounts + + + Bilanz-Passiva: A II-Kapitalrücklage + accounts + + + Bilanz-Passiva: A III 1-Gesetzliche Rücklage + accounts + + + Bilanz-Passiva: A III 2-Rücklage für Anteile an einem herrschenden oder mehrheitlich beteiligten Unternehmen + accounts + + + Bilanz-Passiva: A III 3-Satzungsmäßige Rücklagen + accounts + + + Bilanz-Passiva: A III 4-Andere Gewinnrücklagen + accounts + + + Bilanz-Passiva: A IV-Gewinnvortrag/Verlustvortrag + accounts + + + Bilanz-Passiva: A V-Jahresüberschuß/Jahresfehlbetrag + accounts + + + Bilanz-Passiva: B Sonderposten mit Rücklageanteil + accounts + + + Bilanz-Passiva: C 1-Rückstellungen für Pensionen und ähnliche Verpflichtungen + accounts + + + Bilanz-Passiva: C 2-Steuerrückstellungen + accounts + + + Bilanz-Passiva: C 3-Sonstige Rückstellungen + accounts + + + Bilanz-Passiva: D 1-Anleihen, davon konvertibeln + accounts + + + Bilanz-Passiva: D 2-Verbindlichkeiten gegenüber Kreditinstituten + accounts + + + Bilanz-Passiva: D 3-Erhaltene Anzahlungen auf Bestellungen + accounts + + + Bilanz-Passiva: D 4-Verbindlichkeiten aus Lieferungen und Leistungen + accounts + + + Bilanz-Passiva: D 5-Verbindlichkeiten aus der Annahme gezogener Wechsel und der Ausstellung eigener Wechsel + accounts + + + Bilanz-Passiva: D 6-Verbindlichkeiten gegenüber verbundenen Unternehmen + accounts + + + Bilanz-Passiva: D 7-Verbindlichkeiten gegenüber Unternehmen, mit denen ein Beteiligungsverhältnis besteht + accounts + + + Bilanz-Passiva: D 8-Sonstige Verbindlichkeiten, davon aus Steuern, davon im Rahmen der sozialen Sicherheit + accounts + + + Bilanz-Passiva: E-Rechnungsabgrenzungsposten + accounts + + + Bilanz-Passiva: F-Passive latente Steuern + accounts + + + 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 @@ + + + + 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 @@ + + + + + + /l10n_de/static/img/preview_din.png + /l10n_de/static/pdf/preview_din.pdf + DIN 5008 + + + \ 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: of " +msgstr "Seite: von " + +#. 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: of " +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 @@ + + + + + + + European A4 for DIN5008 Type A + + A4 + Portrait + 27 + 40 + 20 + 10 + 70 + + 27 + + + + European A4 for DIN5008 Type B + + A4 + Portrait + 45 + 40 + 20 + 10 + 70 + + 45 + + + + + + + + + + diff --git a/addons/l10n_de/static/description/icon.png b/addons/l10n_de/static/description/icon.png new file mode 100644 index 00000000..5f378c4a Binary files /dev/null and b/addons/l10n_de/static/description/icon.png differ diff --git a/addons/l10n_de/static/img/preview_din.png b/addons/l10n_de/static/img/preview_din.png new file mode 100644 index 00000000..0c271a51 Binary files /dev/null and b/addons/l10n_de/static/img/preview_din.png differ diff --git a/addons/l10n_de/static/pdf/preview_din.pdf b/addons/l10n_de/static/pdf/preview_din.pdf new file mode 100644 index 00000000..63d05f58 Binary files /dev/null and b/addons/l10n_de/static/pdf/preview_din.pdf differ 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 @@ + + + + account.tax.form + account.tax + + + + + + + + \ No newline at end of file -- cgit v1.2.3