diff --git a/base_facturx/README.rst b/base_facturx/README.rst new file mode 100644 index 0000000000..d8a5bd810d --- /dev/null +++ b/base_facturx/README.rst @@ -0,0 +1,126 @@ +============= +Base Factur-X +============= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:9ce2cb7b7cfaf1029268ae6e659574a5f086b352254ca7f0f4bcc817845772c5 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fedi-lightgray.png?logo=github + :target: https://github.com/OCA/edi/tree/18.0/base_facturx + :alt: OCA/edi +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/edi-18-0/edi-18-0-base_facturx + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/edi&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This is the base module for the implementation of the +`Factur-X `__ and +`ZUGFeRD `__ +standards. The standard Factur-X 1.0 is the same as ZUGFeRD 2.1 (the +name Factur-X is always used in France, whereas in Germany many people +use the name ZUGFeRD). It is a standard based on +`CII `__ +(Cross-Industry Invoice) for electronic invoicing. + +The great idea of the Factur-X/ZUGFeRD standard is to embed an XML file +inside the PDF invoice to carry structured information about the +invoice. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module, you need to: + +- go to the menu *Inventory > Configuration > Units of Measures > UoM* + and check the *UNECE Code* for the units of measures. +- go to the menu *Invoicing > Configuration > Accounting > Taxes* and, + for each tax, set a *UNECE Type Code* and a *UNECE Category Code*. +- go to the menu *Invoicing > Configuration > Management > Payment + Methods* (to see that menu entry, the module *account_payment_mode* + must be installed) and assign a *UNECE Code* to the payment methods + that are selected in the payment modes. + +To avoid the manual configuration of taxes, look for a module +*l10n_XX_account_tax_unece* in the OCA project of your localization (it +exists at least for the Netherlands and France). If such a module exists +in your localization, install it and it will auto-configure the taxes +created by your localization. + +Usage +===== + +This module doesn't do anything by itself, but it is used by 2 other +modules: + +- *account_invoice_facturx* that generate Factur-X 1.0 (i.e. ZUGFeRD + 2.1) customer invoices/refunds, +- *account_invoice_import_facturx* that imports ZUGFeRD/Factur-X + supplier invoices/refunds (all versions, including ZUGFeRD 1.0). + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Akretion + +Contributors +------------ + +- Alexis de Lattre + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-alexis-via| image:: https://github.com/alexis-via.png?size=40px + :target: https://github.com/alexis-via + :alt: alexis-via + +Current `maintainer `__: + +|maintainer-alexis-via| + +This module is part of the `OCA/edi `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/base_facturx/__init__.py b/base_facturx/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/base_facturx/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/base_facturx/__manifest__.py b/base_facturx/__manifest__.py new file mode 100644 index 0000000000..b98efd4b38 --- /dev/null +++ b/base_facturx/__manifest__.py @@ -0,0 +1,16 @@ +# Copyright 2016-2022 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Base Factur-X", + "version": "18.0.1.0.0", + "category": "Invoicing Management", + "license": "AGPL-3", + "summary": "Base module for Factur-X/ZUGFeRD", + "author": "Akretion,Odoo Community Association (OCA)", + "maintainers": ["alexis-via"], + "website": "https://github.com/OCA/edi", + "depends": ["uom_unece", "account_tax_unece", "account_payment_unece"], + "installable": True, +} diff --git a/base_facturx/i18n/base_facturx.pot b/base_facturx/i18n/base_facturx.pot new file mode 100644 index 0000000000..67ea626e5a --- /dev/null +++ b/base_facturx/i18n/base_facturx.pot @@ -0,0 +1,19 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_facturx +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \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: base_facturx +#: model:ir.model,name:base_facturx.model_base_facturx +msgid "Common methods to generate and parse Factur-X and Order-X" +msgstr "" diff --git a/base_facturx/i18n/base_zugferd.pot b/base_facturx/i18n/base_zugferd.pot new file mode 100644 index 0000000000..5081fd789a --- /dev/null +++ b/base_facturx/i18n/base_zugferd.pot @@ -0,0 +1,47 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_zugferd +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \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: base_zugferd +#: model:ir.model,name:base_zugferd.model_base_facturx +msgid "Common methods to generate and parse Factur-X invoices" +msgstr "" + +#. module: base_zugferd +#: model:ir.model.fields,field_description:base_zugferd.field_base_facturx_display_name +msgid "Display Name" +msgstr "" + +#. module: base_zugferd +#: model:ir.model.fields,field_description:base_zugferd.field_base_facturx_id +msgid "ID" +msgstr "" + +#. module: base_zugferd +#: model:ir.model.fields,field_description:base_zugferd.field_base_facturx___last_update +msgid "Last Modified on" +msgstr "" + +#. module: base_zugferd +#: code:addons/base_zugferd/models/base_facturx.py:46 +#, python-format +msgid "The %s XML file is not valid against the official XML Schema Definition. The XML file and the full error have been written in the server logs. Here is the error, which may give you an idea on the cause of the problem : %s." +msgstr "" + +#. module: base_zugferd +#: code:addons/base_zugferd/models/base_facturx.py:29 +#, python-format +msgid "Wrong level '%s' for Factur-X invoice." +msgstr "" + diff --git a/base_facturx/i18n/es.po b/base_facturx/i18n/es.po new file mode 100644 index 0000000000..e6456d85ca --- /dev/null +++ b/base_facturx/i18n/es.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_zugferd +# +# Translators: +# enjolras , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-12 01:43+0000\n" +"PO-Revision-Date: 2023-08-07 11:09+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: base_facturx +#: model:ir.model,name:base_facturx.model_base_facturx +msgid "Common methods to generate and parse Factur-X and Order-X" +msgstr "Métodos habituales para generar y analizar Factur-X y Order-X" + +#~ msgid "Display Name" +#~ msgstr "Nombre mostrado" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificación el" diff --git a/base_facturx/i18n/fr.po b/base_facturx/i18n/fr.po new file mode 100644 index 0000000000..484cd27060 --- /dev/null +++ b/base_facturx/i18n/fr.po @@ -0,0 +1,25 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_facturx +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-06-27 19:08+0000\n" +"Last-Translator: Alexis de Lattre \n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: base_facturx +#: model:ir.model,name:base_facturx.model_base_facturx +msgid "Common methods to generate and parse Factur-X and Order-X" +msgstr "Méthodes communes pour générer et lire Factur-X et Order-X" + +#~ msgid "Display Name" +#~ msgstr "Nom affiché" diff --git a/base_facturx/i18n/it.po b/base_facturx/i18n/it.po new file mode 100644 index 0000000000..8c92b5d004 --- /dev/null +++ b/base_facturx/i18n/it.po @@ -0,0 +1,22 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_facturx +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-03-13 11:40+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: base_facturx +#: model:ir.model,name:base_facturx.model_base_facturx +msgid "Common methods to generate and parse Factur-X and Order-X" +msgstr "Metodi comuni per generare e analizzare Factur-X e Order-X" diff --git a/base_facturx/models/__init__.py b/base_facturx/models/__init__.py new file mode 100644 index 0000000000..60c81cab60 --- /dev/null +++ b/base_facturx/models/__init__.py @@ -0,0 +1 @@ +from . import base_facturx diff --git a/base_facturx/models/base_facturx.py b/base_facturx/models/base_facturx.py new file mode 100644 index 0000000000..3da4160d7a --- /dev/null +++ b/base_facturx/models/base_facturx.py @@ -0,0 +1,13 @@ +# Copyright 2017-2022 Akretion France +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class BaseFacturX(models.AbstractModel): + _name = "base.facturx" + _description = "Common methods to generate and parse Factur-X and Order-X" + + # This class will certainly start to be used with the implementation + # of Order-X sooner or later: http://fnfe-mpe.org/factur-x/order-x/ diff --git a/base_facturx/pyproject.toml b/base_facturx/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/base_facturx/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/base_facturx/readme/CONFIGURE.md b/base_facturx/readme/CONFIGURE.md new file mode 100644 index 0000000000..617bdb1abc --- /dev/null +++ b/base_facturx/readme/CONFIGURE.md @@ -0,0 +1,17 @@ +To configure this module, you need to: + +- go to the menu *Inventory \> Configuration \> Units of Measures \> + UoM* and check the *UNECE Code* for the units of measures. +- go to the menu *Invoicing \> Configuration \> Accounting \> Taxes* + and, for each tax, set a *UNECE Type Code* and a *UNECE Category + Code*. +- go to the menu *Invoicing \> Configuration \> Management \> Payment + Methods* (to see that menu entry, the module *account_payment_mode* + must be installed) and assign a *UNECE Code* to the payment methods + that are selected in the payment modes. + +To avoid the manual configuration of taxes, look for a module +*l10n_XX_account_tax_unece* in the OCA project of your localization (it +exists at least for the Netherlands and France). If such a module exists +in your localization, install it and it will auto-configure the taxes +created by your localization. diff --git a/base_facturx/readme/CONTRIBUTORS.md b/base_facturx/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..b61afe5d01 --- /dev/null +++ b/base_facturx/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Alexis de Lattre \<\> diff --git a/base_facturx/readme/DESCRIPTION.md b/base_facturx/readme/DESCRIPTION.md new file mode 100644 index 0000000000..5f63bdc81b --- /dev/null +++ b/base_facturx/readme/DESCRIPTION.md @@ -0,0 +1,12 @@ +This is the base module for the implementation of the +[Factur-X](http://fnfe-mpe.org/factur-x/factur-x_en/) and +[ZUGFeRD](https://www.ferd-net.de/standards/was-ist-zugferd/index.html) +standards. The standard Factur-X 1.0 is the same as ZUGFeRD 2.1 (the +name Factur-X is always used in France, whereas in Germany many people +use the name ZUGFeRD). It is a standard based on +[CII](http://tfig.unece.org/contents/cross-industry-invoice-cii.htm) +(Cross-Industry Invoice) for electronic invoicing. + +The great idea of the Factur-X/ZUGFeRD standard is to embed an XML file +inside the PDF invoice to carry structured information about the +invoice. diff --git a/base_facturx/readme/USAGE.md b/base_facturx/readme/USAGE.md new file mode 100644 index 0000000000..d7f5b8473a --- /dev/null +++ b/base_facturx/readme/USAGE.md @@ -0,0 +1,7 @@ +This module doesn't do anything by itself, but it is used by 2 other +modules: + +- *account_invoice_facturx* that generate Factur-X 1.0 (i.e. ZUGFeRD + 2.1) customer invoices/refunds, +- *account_invoice_import_facturx* that imports ZUGFeRD/Factur-X + supplier invoices/refunds (all versions, including ZUGFeRD 1.0). diff --git a/base_facturx/static/description/icon.png b/base_facturx/static/description/icon.png new file mode 100644 index 0000000000..3a0328b516 Binary files /dev/null and b/base_facturx/static/description/icon.png differ diff --git a/base_facturx/static/description/index.html b/base_facturx/static/description/index.html new file mode 100644 index 0000000000..09155109a1 --- /dev/null +++ b/base_facturx/static/description/index.html @@ -0,0 +1,467 @@ + + + + + +Base Factur-X + + + +
+

Base Factur-X

+ + +

Beta License: AGPL-3 OCA/edi Translate me on Weblate Try me on Runboat

+

This is the base module for the implementation of the +Factur-X and +ZUGFeRD +standards. The standard Factur-X 1.0 is the same as ZUGFeRD 2.1 (the +name Factur-X is always used in France, whereas in Germany many people +use the name ZUGFeRD). It is a standard based on +CII +(Cross-Industry Invoice) for electronic invoicing.

+

The great idea of the Factur-X/ZUGFeRD standard is to embed an XML file +inside the PDF invoice to carry structured information about the +invoice.

+

Table of contents

+ +
+

Configuration

+

To configure this module, you need to:

+
    +
  • go to the menu Inventory > Configuration > Units of Measures > UoM +and check the UNECE Code for the units of measures.
  • +
  • go to the menu Invoicing > Configuration > Accounting > Taxes and, +for each tax, set a UNECE Type Code and a UNECE Category Code.
  • +
  • go to the menu Invoicing > Configuration > Management > Payment +Methods (to see that menu entry, the module account_payment_mode +must be installed) and assign a UNECE Code to the payment methods +that are selected in the payment modes.
  • +
+

To avoid the manual configuration of taxes, look for a module +l10n_XX_account_tax_unece in the OCA project of your localization (it +exists at least for the Netherlands and France). If such a module exists +in your localization, install it and it will auto-configure the taxes +created by your localization.

+
+
+

Usage

+

This module doesn’t do anything by itself, but it is used by 2 other +modules:

+
    +
  • account_invoice_facturx that generate Factur-X 1.0 (i.e. ZUGFeRD +2.1) customer invoices/refunds,
  • +
  • account_invoice_import_facturx that imports ZUGFeRD/Factur-X +supplier invoices/refunds (all versions, including ZUGFeRD 1.0).
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Akretion
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

alexis-via

+

This module is part of the OCA/edi project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ +