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