UBL Integration
							parent
							
								
									c7d69f24ac
								
							
						
					
					
						commit
						1bbb070af0
					
				|  | @ -0,0 +1,79 @@ | |||
| ================ | ||||
| Base UBL Payment | ||||
| ================ | ||||
| 
 | ||||
| .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||||
|    !! This file is generated by oca-gen-addon-readme !! | ||||
|    !! changes will be overwritten.                   !! | ||||
|    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||||
| 
 | ||||
| .. |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/11.0/base_ubl_payment | ||||
|     :alt: OCA/edi | ||||
| .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png | ||||
|     :target: https://translation.odoo-community.org/projects/edi-11-0/edi-11-0-base_ubl_payment | ||||
|     :alt: Translate me on Weblate | ||||
| .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png | ||||
|     :target: https://runbot.odoo-community.org/runbot/226/11.0 | ||||
|     :alt: Try me on Runbot | ||||
| 
 | ||||
| |badge1| |badge2| |badge3| |badge4| |badge5|  | ||||
| 
 | ||||
| This module is a small module above the *base_ubl* module; | ||||
| it adds the generation of the *PaymentMeans* UBL block. | ||||
| I decided to make it a separate module because it depends | ||||
| on the module *account_payment_unece* which itself depend on | ||||
| *account_banking_payment_export*, and I didn't want to add | ||||
| these dependencies on the *base_ubl* module. | ||||
| 
 | ||||
| **Table of contents** | ||||
| 
 | ||||
| .. contents:: | ||||
|    :local: | ||||
| 
 | ||||
| Bug Tracker | ||||
| =========== | ||||
| 
 | ||||
| Bugs are tracked on `GitHub Issues <https://github.com/OCA/edi/issues>`_. | ||||
| In case of trouble, please check there if your issue has already been reported. | ||||
| If you spotted it first, help us smashing it by providing a detailed and welcomed | ||||
| `feedback <https://github.com/OCA/edi/issues/new?body=module:%20base_ubl_payment%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||||
| 
 | ||||
| Do not contact contributors directly about support or help with technical issues. | ||||
| 
 | ||||
| Credits | ||||
| ======= | ||||
| 
 | ||||
| Authors | ||||
| ~~~~~~~ | ||||
| 
 | ||||
| * Akretion | ||||
| 
 | ||||
| Contributors | ||||
| ~~~~~~~~~~~~ | ||||
| 
 | ||||
| * Alexis de Lattre <alexis.delattre@akretion.com> | ||||
| * Andrea Stirpe <a.stirpe@onestein.nl> | ||||
| 
 | ||||
| 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. | ||||
| 
 | ||||
| This module is part of the `OCA/edi <https://github.com/OCA/edi/tree/11.0/base_ubl_payment>`_ project on GitHub. | ||||
| 
 | ||||
| You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. | ||||
|  | @ -0,0 +1,3 @@ | |||
| # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). | ||||
| 
 | ||||
| from . import models | ||||
|  | @ -0,0 +1,17 @@ | |||
| # © 2016-2017 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>) | ||||
| # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). | ||||
| 
 | ||||
| { | ||||
|     'name': 'Base UBL Payment', | ||||
|     'version': '11.0.1.0.0', | ||||
|     'category': 'Hidden', | ||||
|     'license': 'AGPL-3', | ||||
|     'summary': 'Payment-related code for Universal Business Language (UBL)', | ||||
|     'author': 'Akretion,Odoo Community Association (OCA)', | ||||
|     'website': 'https://github.com/oca/edi/', | ||||
|     'depends': [ | ||||
|         'account_payment_unece', | ||||
|         'base_ubl', | ||||
|         ], | ||||
|     'installable': True, | ||||
| } | ||||
|  | @ -0,0 +1,26 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| #	* base_ubl_payment | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: Odoo Server 11.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_ubl_payment | ||||
| #: model:ir.model,name:base_ubl_payment.model_base_ubl | ||||
| msgid "Common methods to generate and parse UBL XML files" | ||||
| msgstr "" | ||||
| 
 | ||||
| #. module: base_ubl_payment | ||||
| #: code:addons/base_ubl_payment/models/ubl.py:25 | ||||
| #, python-format | ||||
| msgid "Missing 'UNECE Payment Mean' on payment type '%s' used by the payment mode '%s'." | ||||
| msgstr "" | ||||
| 
 | ||||
|  | @ -0,0 +1,30 @@ | |||
| # Translation of Odoo Server. | ||||
| # This file contains the translation of the following modules: | ||||
| #	* base_ubl_payment | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: Odoo Server 11.0\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "PO-Revision-Date: 2019-04-30 14:03+0000\n" | ||||
| "Last-Translator: Cas Vissers <c.vissers@brahoo.nl>\n" | ||||
| "Language-Team: none\n" | ||||
| "Language: nl_NL\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 3.5.1\n" | ||||
| 
 | ||||
| #. module: base_ubl_payment | ||||
| #: model:ir.model,name:base_ubl_payment.model_base_ubl | ||||
| msgid "Common methods to generate and parse UBL XML files" | ||||
| msgstr "Algemene methoden voor het genereren en parsen van UBL XML-bestanden" | ||||
| 
 | ||||
| #. module: base_ubl_payment | ||||
| #: code:addons/base_ubl_payment/models/ubl.py:25 | ||||
| #, python-format | ||||
| msgid "Missing 'UNECE Payment Mean' on payment type '%s' used by the payment mode '%s'." | ||||
| msgstr "" | ||||
| "Missend 'UNECE betaalmethode' op betalingstype '%s' gebruikt door " | ||||
| "betalingsmethode '%s'." | ||||
|  | @ -0,0 +1,3 @@ | |||
| # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). | ||||
| 
 | ||||
| from . import ubl | ||||
|  | @ -0,0 +1,72 @@ | |||
| # © 2016-2017 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>) | ||||
| # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). | ||||
| 
 | ||||
| from odoo import models, api, _ | ||||
| from odoo.exceptions import UserError | ||||
| from lxml import etree | ||||
| import logging | ||||
| 
 | ||||
| logger = logging.getLogger(__name__) | ||||
| 
 | ||||
| 
 | ||||
| class BaseUbl(models.AbstractModel): | ||||
|     _inherit = 'base.ubl' | ||||
| 
 | ||||
|     @api.model | ||||
|     def _ubl_add_payment_means( | ||||
|             self, partner_bank, payment_mode, date_due, parent_node, ns, | ||||
|             payment_identifier=None, version='2.1'): | ||||
|         pay_means = etree.SubElement(parent_node, ns['cac'] + 'PaymentMeans') | ||||
|         pay_means_code = etree.SubElement( | ||||
|             pay_means, ns['cbc'] + 'PaymentMeansCode', listID="UN/ECE 4461") | ||||
|         # Why not schemeAgencyID='6' + schemeID | ||||
|         if payment_mode:  # type is a required field on payment_mode | ||||
|             if not payment_mode.payment_method_id.unece_id: | ||||
|                 raise UserError(_( | ||||
|                     "Missing 'UNECE Payment Mean' on payment type '%s' " | ||||
|                     "used by the payment mode '%s'.") % ( | ||||
|                     payment_mode.payment_method_id.name, payment_mode.name)) | ||||
|             pay_means_code.text = payment_mode.payment_method_id.unece_code | ||||
|         else: | ||||
|             pay_means_code.text = '31' | ||||
|             logger.warning( | ||||
|                 'Missing payment mode on invoice ID %d. ' | ||||
|                 'Using 31 (wire transfer) as UNECE code as fallback ' | ||||
|                 'for payment mean', self.id) | ||||
|         if date_due: | ||||
|             pay_due_date = etree.SubElement( | ||||
|                 pay_means, ns['cbc'] + 'PaymentDueDate') | ||||
|             pay_due_date.text = date_due | ||||
|         if pay_means_code.text in ['30', '31', '42']: | ||||
|             if ( | ||||
|                     not partner_bank and | ||||
|                     payment_mode and | ||||
|                     payment_mode.bank_account_link == 'fixed' and | ||||
|                     payment_mode.fixed_journal_id): | ||||
|                 partner_bank = payment_mode.fixed_journal_id.bank_account_id | ||||
|             if partner_bank and partner_bank.acc_type == 'iban': | ||||
|                 # In the Chorus specs, they except 'IBAN' in PaymentChannelCode | ||||
|                 # I don't know if this usage is common or not | ||||
|                 payment_channel_code = etree.SubElement( | ||||
|                     pay_means, ns['cbc'] + 'PaymentChannelCode') | ||||
|                 payment_channel_code.text = 'IBAN' | ||||
|                 if payment_identifier: | ||||
|                     payment_id = etree.SubElement( | ||||
|                         pay_means, ns['cbc'] + 'PaymentID') | ||||
|                     payment_id.text = payment_identifier | ||||
|                 payee_fin_account = etree.SubElement( | ||||
|                     pay_means, ns['cac'] + 'PayeeFinancialAccount') | ||||
|                 payee_fin_account_id = etree.SubElement( | ||||
|                     payee_fin_account, ns['cbc'] + 'ID', schemeName='IBAN') | ||||
|                 payee_fin_account_id.text =\ | ||||
|                     partner_bank.sanitized_acc_number | ||||
|                 if partner_bank.bank_bic: | ||||
|                     financial_inst_branch = etree.SubElement( | ||||
|                         payee_fin_account, | ||||
|                         ns['cac'] + 'FinancialInstitutionBranch') | ||||
|                     financial_inst = etree.SubElement( | ||||
|                         financial_inst_branch, | ||||
|                         ns['cac'] + 'FinancialInstitution') | ||||
|                     financial_inst_id = etree.SubElement( | ||||
|                         financial_inst, ns['cbc'] + 'ID', schemeName='BIC') | ||||
|                     financial_inst_id.text = partner_bank.bank_bic | ||||
|  | @ -0,0 +1,2 @@ | |||
| * Alexis de Lattre <alexis.delattre@akretion.com> | ||||
| * Andrea Stirpe <a.stirpe@onestein.nl> | ||||
|  | @ -0,0 +1,6 @@ | |||
| This module is a small module above the *base_ubl* module; | ||||
| it adds the generation of the *PaymentMeans* UBL block. | ||||
| I decided to make it a separate module because it depends | ||||
| on the module *account_payment_unece* which itself depend on | ||||
| *account_banking_payment_export*, and I didn't want to add | ||||
| these dependencies on the *base_ubl* module. | ||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 9.2 KiB | 
|  | @ -0,0 +1,425 @@ | |||
| <?xml version="1.0" encoding="utf-8" ?> | ||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||||
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | ||||
| <head> | ||||
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||||
| <meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" /> | ||||
| <title>Base UBL Payment</title> | ||||
| <style type="text/css"> | ||||
| 
 | ||||
| /* | ||||
| :Author: David Goodger (goodger@python.org) | ||||
| :Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $ | ||||
| :Copyright: This stylesheet has been placed in the public domain. | ||||
| 
 | ||||
| Default cascading style sheet for the HTML output of Docutils. | ||||
| 
 | ||||
| See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to | ||||
| customize this style sheet. | ||||
| */ | ||||
| 
 | ||||
| /* used to remove borders from tables and images */ | ||||
| .borderless, table.borderless td, table.borderless th { | ||||
|   border: 0 } | ||||
| 
 | ||||
| table.borderless td, table.borderless th { | ||||
|   /* Override padding for "table.docutils td" with "! important". | ||||
|      The right padding separates the table cells. */ | ||||
|   padding: 0 0.5em 0 0 ! important } | ||||
| 
 | ||||
| .first { | ||||
|   /* Override more specific margin styles with "! important". */ | ||||
|   margin-top: 0 ! important } | ||||
| 
 | ||||
| .last, .with-subtitle { | ||||
|   margin-bottom: 0 ! important } | ||||
| 
 | ||||
| .hidden { | ||||
|   display: none } | ||||
| 
 | ||||
| .subscript { | ||||
|   vertical-align: sub; | ||||
|   font-size: smaller } | ||||
| 
 | ||||
| .superscript { | ||||
|   vertical-align: super; | ||||
|   font-size: smaller } | ||||
| 
 | ||||
| a.toc-backref { | ||||
|   text-decoration: none ; | ||||
|   color: black } | ||||
| 
 | ||||
| blockquote.epigraph { | ||||
|   margin: 2em 5em ; } | ||||
| 
 | ||||
| dl.docutils dd { | ||||
|   margin-bottom: 0.5em } | ||||
| 
 | ||||
| object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { | ||||
|   overflow: hidden; | ||||
| } | ||||
| 
 | ||||
| /* Uncomment (and remove this text!) to get bold-faced definition list terms | ||||
| dl.docutils dt { | ||||
|   font-weight: bold } | ||||
| */ | ||||
| 
 | ||||
| div.abstract { | ||||
|   margin: 2em 5em } | ||||
| 
 | ||||
| div.abstract p.topic-title { | ||||
|   font-weight: bold ; | ||||
|   text-align: center } | ||||
| 
 | ||||
| div.admonition, div.attention, div.caution, div.danger, div.error, | ||||
| div.hint, div.important, div.note, div.tip, div.warning { | ||||
|   margin: 2em ; | ||||
|   border: medium outset ; | ||||
|   padding: 1em } | ||||
| 
 | ||||
| div.admonition p.admonition-title, div.hint p.admonition-title, | ||||
| div.important p.admonition-title, div.note p.admonition-title, | ||||
| div.tip p.admonition-title { | ||||
|   font-weight: bold ; | ||||
|   font-family: sans-serif } | ||||
| 
 | ||||
| div.attention p.admonition-title, div.caution p.admonition-title, | ||||
| div.danger p.admonition-title, div.error p.admonition-title, | ||||
| div.warning p.admonition-title, .code .error { | ||||
|   color: red ; | ||||
|   font-weight: bold ; | ||||
|   font-family: sans-serif } | ||||
| 
 | ||||
| /* Uncomment (and remove this text!) to get reduced vertical space in | ||||
|    compound paragraphs. | ||||
| div.compound .compound-first, div.compound .compound-middle { | ||||
|   margin-bottom: 0.5em } | ||||
| 
 | ||||
| div.compound .compound-last, div.compound .compound-middle { | ||||
|   margin-top: 0.5em } | ||||
| */ | ||||
| 
 | ||||
| div.dedication { | ||||
|   margin: 2em 5em ; | ||||
|   text-align: center ; | ||||
|   font-style: italic } | ||||
| 
 | ||||
| div.dedication p.topic-title { | ||||
|   font-weight: bold ; | ||||
|   font-style: normal } | ||||
| 
 | ||||
| div.figure { | ||||
|   margin-left: 2em ; | ||||
|   margin-right: 2em } | ||||
| 
 | ||||
| div.footer, div.header { | ||||
|   clear: both; | ||||
|   font-size: smaller } | ||||
| 
 | ||||
| div.line-block { | ||||
|   display: block ; | ||||
|   margin-top: 1em ; | ||||
|   margin-bottom: 1em } | ||||
| 
 | ||||
| div.line-block div.line-block { | ||||
|   margin-top: 0 ; | ||||
|   margin-bottom: 0 ; | ||||
|   margin-left: 1.5em } | ||||
| 
 | ||||
| div.sidebar { | ||||
|   margin: 0 0 0.5em 1em ; | ||||
|   border: medium outset ; | ||||
|   padding: 1em ; | ||||
|   background-color: #ffffee ; | ||||
|   width: 40% ; | ||||
|   float: right ; | ||||
|   clear: right } | ||||
| 
 | ||||
| div.sidebar p.rubric { | ||||
|   font-family: sans-serif ; | ||||
|   font-size: medium } | ||||
| 
 | ||||
| div.system-messages { | ||||
|   margin: 5em } | ||||
| 
 | ||||
| div.system-messages h1 { | ||||
|   color: red } | ||||
| 
 | ||||
| div.system-message { | ||||
|   border: medium outset ; | ||||
|   padding: 1em } | ||||
| 
 | ||||
| div.system-message p.system-message-title { | ||||
|   color: red ; | ||||
|   font-weight: bold } | ||||
| 
 | ||||
| div.topic { | ||||
|   margin: 2em } | ||||
| 
 | ||||
| h1.section-subtitle, h2.section-subtitle, h3.section-subtitle, | ||||
| h4.section-subtitle, h5.section-subtitle, h6.section-subtitle { | ||||
|   margin-top: 0.4em } | ||||
| 
 | ||||
| h1.title { | ||||
|   text-align: center } | ||||
| 
 | ||||
| h2.subtitle { | ||||
|   text-align: center } | ||||
| 
 | ||||
| hr.docutils { | ||||
|   width: 75% } | ||||
| 
 | ||||
| img.align-left, .figure.align-left, object.align-left, table.align-left { | ||||
|   clear: left ; | ||||
|   float: left ; | ||||
|   margin-right: 1em } | ||||
| 
 | ||||
| img.align-right, .figure.align-right, object.align-right, table.align-right { | ||||
|   clear: right ; | ||||
|   float: right ; | ||||
|   margin-left: 1em } | ||||
| 
 | ||||
| img.align-center, .figure.align-center, object.align-center { | ||||
|   display: block; | ||||
|   margin-left: auto; | ||||
|   margin-right: auto; | ||||
| } | ||||
| 
 | ||||
| table.align-center { | ||||
|   margin-left: auto; | ||||
|   margin-right: auto; | ||||
| } | ||||
| 
 | ||||
| .align-left { | ||||
|   text-align: left } | ||||
| 
 | ||||
| .align-center { | ||||
|   clear: both ; | ||||
|   text-align: center } | ||||
| 
 | ||||
| .align-right { | ||||
|   text-align: right } | ||||
| 
 | ||||
| /* reset inner alignment in figures */ | ||||
| div.align-right { | ||||
|   text-align: inherit } | ||||
| 
 | ||||
| /* div.align-center * { */ | ||||
| /*   text-align: left } */ | ||||
| 
 | ||||
| .align-top    { | ||||
|   vertical-align: top } | ||||
| 
 | ||||
| .align-middle { | ||||
|   vertical-align: middle } | ||||
| 
 | ||||
| .align-bottom { | ||||
|   vertical-align: bottom } | ||||
| 
 | ||||
| ol.simple, ul.simple { | ||||
|   margin-bottom: 1em } | ||||
| 
 | ||||
| ol.arabic { | ||||
|   list-style: decimal } | ||||
| 
 | ||||
| ol.loweralpha { | ||||
|   list-style: lower-alpha } | ||||
| 
 | ||||
| ol.upperalpha { | ||||
|   list-style: upper-alpha } | ||||
| 
 | ||||
| ol.lowerroman { | ||||
|   list-style: lower-roman } | ||||
| 
 | ||||
| ol.upperroman { | ||||
|   list-style: upper-roman } | ||||
| 
 | ||||
| p.attribution { | ||||
|   text-align: right ; | ||||
|   margin-left: 50% } | ||||
| 
 | ||||
| p.caption { | ||||
|   font-style: italic } | ||||
| 
 | ||||
| p.credits { | ||||
|   font-style: italic ; | ||||
|   font-size: smaller } | ||||
| 
 | ||||
| p.label { | ||||
|   white-space: nowrap } | ||||
| 
 | ||||
| p.rubric { | ||||
|   font-weight: bold ; | ||||
|   font-size: larger ; | ||||
|   color: maroon ; | ||||
|   text-align: center } | ||||
| 
 | ||||
| p.sidebar-title { | ||||
|   font-family: sans-serif ; | ||||
|   font-weight: bold ; | ||||
|   font-size: larger } | ||||
| 
 | ||||
| p.sidebar-subtitle { | ||||
|   font-family: sans-serif ; | ||||
|   font-weight: bold } | ||||
| 
 | ||||
| p.topic-title { | ||||
|   font-weight: bold } | ||||
| 
 | ||||
| pre.address { | ||||
|   margin-bottom: 0 ; | ||||
|   margin-top: 0 ; | ||||
|   font: inherit } | ||||
| 
 | ||||
| pre.literal-block, pre.doctest-block, pre.math, pre.code { | ||||
|   margin-left: 2em ; | ||||
|   margin-right: 2em } | ||||
| 
 | ||||
| pre.code .ln { color: grey; } /* line numbers */ | ||||
| pre.code, code { background-color: #eeeeee } | ||||
| pre.code .comment, code .comment { color: #5C6576 } | ||||
| pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } | ||||
| pre.code .literal.string, code .literal.string { color: #0C5404 } | ||||
| pre.code .name.builtin, code .name.builtin { color: #352B84 } | ||||
| pre.code .deleted, code .deleted { background-color: #DEB0A1} | ||||
| pre.code .inserted, code .inserted { background-color: #A3D289} | ||||
| 
 | ||||
| span.classifier { | ||||
|   font-family: sans-serif ; | ||||
|   font-style: oblique } | ||||
| 
 | ||||
| span.classifier-delimiter { | ||||
|   font-family: sans-serif ; | ||||
|   font-weight: bold } | ||||
| 
 | ||||
| span.interpreted { | ||||
|   font-family: sans-serif } | ||||
| 
 | ||||
| span.option { | ||||
|   white-space: nowrap } | ||||
| 
 | ||||
| span.pre { | ||||
|   white-space: pre } | ||||
| 
 | ||||
| span.problematic { | ||||
|   color: red } | ||||
| 
 | ||||
| span.section-subtitle { | ||||
|   /* font-size relative to parent (h1..h6 element) */ | ||||
|   font-size: 80% } | ||||
| 
 | ||||
| table.citation { | ||||
|   border-left: solid 1px gray; | ||||
|   margin-left: 1px } | ||||
| 
 | ||||
| table.docinfo { | ||||
|   margin: 2em 4em } | ||||
| 
 | ||||
| table.docutils { | ||||
|   margin-top: 0.5em ; | ||||
|   margin-bottom: 0.5em } | ||||
| 
 | ||||
| table.footnote { | ||||
|   border-left: solid 1px black; | ||||
|   margin-left: 1px } | ||||
| 
 | ||||
| table.docutils td, table.docutils th, | ||||
| table.docinfo td, table.docinfo th { | ||||
|   padding-left: 0.5em ; | ||||
|   padding-right: 0.5em ; | ||||
|   vertical-align: top } | ||||
| 
 | ||||
| table.docutils th.field-name, table.docinfo th.docinfo-name { | ||||
|   font-weight: bold ; | ||||
|   text-align: left ; | ||||
|   white-space: nowrap ; | ||||
|   padding-left: 0 } | ||||
| 
 | ||||
| /* "booktabs" style (no vertical lines) */ | ||||
| table.docutils.booktabs { | ||||
|   border: 0px; | ||||
|   border-top: 2px solid; | ||||
|   border-bottom: 2px solid; | ||||
|   border-collapse: collapse; | ||||
| } | ||||
| table.docutils.booktabs * { | ||||
|   border: 0px; | ||||
| } | ||||
| table.docutils.booktabs th { | ||||
|   border-bottom: thin solid; | ||||
|   text-align: left; | ||||
| } | ||||
| 
 | ||||
| h1 tt.docutils, h2 tt.docutils, h3 tt.docutils, | ||||
| h4 tt.docutils, h5 tt.docutils, h6 tt.docutils { | ||||
|   font-size: 100% } | ||||
| 
 | ||||
| ul.auto-toc { | ||||
|   list-style-type: none } | ||||
| 
 | ||||
| </style> | ||||
| </head> | ||||
| <body> | ||||
| <div class="document" id="base-ubl-payment"> | ||||
| <h1 class="title">Base UBL Payment</h1> | ||||
| 
 | ||||
| <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||||
| !! This file is generated by oca-gen-addon-readme !! | ||||
| !! changes will be overwritten.                   !! | ||||
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> | ||||
| <p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/edi/tree/11.0/base_ubl_payment"><img alt="OCA/edi" src="https://img.shields.io/badge/github-OCA%2Fedi-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/edi-11-0/edi-11-0-base_ubl_payment"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/226/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p> | ||||
| <p>This module is a small module above the <em>base_ubl</em> module; | ||||
| it adds the generation of the <em>PaymentMeans</em> UBL block. | ||||
| I decided to make it a separate module because it depends | ||||
| on the module <em>account_payment_unece</em> which itself depend on | ||||
| <em>account_banking_payment_export</em>, and I didn’t want to add | ||||
| these dependencies on the <em>base_ubl</em> module.</p> | ||||
| <p><strong>Table of contents</strong></p> | ||||
| <div class="contents local topic" id="contents"> | ||||
| <ul class="simple"> | ||||
| <li><a class="reference internal" href="#bug-tracker" id="id1">Bug Tracker</a></li> | ||||
| <li><a class="reference internal" href="#credits" id="id2">Credits</a><ul> | ||||
| <li><a class="reference internal" href="#authors" id="id3">Authors</a></li> | ||||
| <li><a class="reference internal" href="#contributors" id="id4">Contributors</a></li> | ||||
| <li><a class="reference internal" href="#maintainers" id="id5">Maintainers</a></li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| <div class="section" id="bug-tracker"> | ||||
| <h1><a class="toc-backref" href="#id1">Bug Tracker</a></h1> | ||||
| <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/edi/issues">GitHub Issues</a>. | ||||
| In case of trouble, please check there if your issue has already been reported. | ||||
| If you spotted it first, help us smashing it by providing a detailed and welcomed | ||||
| <a class="reference external" href="https://github.com/OCA/edi/issues/new?body=module:%20base_ubl_payment%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> | ||||
| <p>Do not contact contributors directly about support or help with technical issues.</p> | ||||
| </div> | ||||
| <div class="section" id="credits"> | ||||
| <h1><a class="toc-backref" href="#id2">Credits</a></h1> | ||||
| <div class="section" id="authors"> | ||||
| <h2><a class="toc-backref" href="#id3">Authors</a></h2> | ||||
| <ul class="simple"> | ||||
| <li>Akretion</li> | ||||
| </ul> | ||||
| </div> | ||||
| <div class="section" id="contributors"> | ||||
| <h2><a class="toc-backref" href="#id4">Contributors</a></h2> | ||||
| <ul class="simple"> | ||||
| <li>Alexis de Lattre <<a class="reference external" href="mailto:alexis.delattre@akretion.com">alexis.delattre@akretion.com</a>></li> | ||||
| <li>Andrea Stirpe <<a class="reference external" href="mailto:a.stirpe@onestein.nl">a.stirpe@onestein.nl</a>></li> | ||||
| </ul> | ||||
| </div> | ||||
| <div class="section" id="maintainers"> | ||||
| <h2><a class="toc-backref" href="#id5">Maintainers</a></h2> | ||||
| <p>This module is maintained by the OCA.</p> | ||||
| <a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a> | ||||
| <p>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.</p> | ||||
| <p>This module is part of the <a class="reference external" href="https://github.com/OCA/edi/tree/11.0/base_ubl_payment">OCA/edi</a> project on GitHub.</p> | ||||
| <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> | ||||
| </div> | ||||
| </div> | ||||
| </div> | ||||
| </body> | ||||
| </html> | ||||
		Loading…
	
		Reference in New Issue