mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
Merge pull request #270 from akretion/9-sorrento-code-sprint
[9.0][2nd revolution] port to v9 with several improvements (sorrento code sprint)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
|
||||
:alt: License: AGPL-3
|
||||
|
||||
=======================
|
||||
Account Banking Mandate
|
||||
=======================
|
||||
|
||||
@@ -31,22 +32,22 @@ Usage
|
||||
|
||||
To use this module, see menu "Accounting > payment > SEPA direct debit mandates"
|
||||
|
||||
For further information, please visit:
|
||||
|
||||
* https://www.odoo.com/forum/help-1
|
||||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
|
||||
:alt: Try me on Runbot
|
||||
:target: https://runbot.odoo-community.org/runbot/173/9.0
|
||||
|
||||
Known issues / Roadmap
|
||||
======================
|
||||
|
||||
* no known issues
|
||||
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/bank-payment/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
|
||||
`here <https://github.com/OCA/bank-payment/issues/new?body=module:%20account_banking_mandate%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
Bugs are tracked on `GitHub Issues
|
||||
<https://github.com/OCA/bank-payment/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.
|
||||
|
||||
Credits
|
||||
=======
|
||||
@@ -54,11 +55,11 @@ Credits
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* Alexis de Lattre
|
||||
* Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
* Pedro M. Baeza
|
||||
* Alexandre Fayolle
|
||||
* Stéphane Bidoul <stephane.bidoul@acsone.eu>
|
||||
* Sergio Teruel (Incaser) <sergio@incaser.es>
|
||||
* Stéphane Bidoul <stephane.bidoul@acsone.eu>
|
||||
* Sergio Teruel (Incaser) <sergio@incaser.es>
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
@@ -1,22 +1,3 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Mandate module for openERP
|
||||
# Copyright (C) 2014 Compassion CH (http://www.compassion.ch)
|
||||
# @author: Cyril Sester <csester@compassion.ch>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from . import models
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import models
|
||||
|
||||
@@ -1,29 +1,13 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Mandate module for openERP
|
||||
# Copyright (C) 2014 Compassion CH (http://www.compassion.ch)
|
||||
# @author: Cyril Sester <csester@compassion.ch>,
|
||||
# Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2014 Compassion CH - Cyril Sester <csester@compassion.ch>
|
||||
# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
|
||||
# © 2015-2016 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
{
|
||||
'name': 'Account Banking Mandate',
|
||||
'summary': 'Banking mandates',
|
||||
'version': '8.0.0.1.0',
|
||||
'version': '9.0.1.0.0',
|
||||
'license': 'AGPL-3',
|
||||
'author': "Compassion CH, "
|
||||
"Serv. Tecnol. Avanzados - Pedro M. Baeza, "
|
||||
@@ -32,21 +16,21 @@
|
||||
'website': 'https://github.com/OCA/bank-payment',
|
||||
'category': 'Banking addons',
|
||||
'depends': [
|
||||
'account_payment',
|
||||
'account_payment_order',
|
||||
],
|
||||
'data': [
|
||||
'views/account_banking_mandate_view.xml',
|
||||
'views/account_payment_method.xml',
|
||||
'views/account_invoice_view.xml',
|
||||
'views/account_payment_view.xml',
|
||||
'views/account_payment_line.xml',
|
||||
'views/res_partner_bank_view.xml',
|
||||
'views/res_partner.xml',
|
||||
'views/bank_payment_line_view.xml',
|
||||
'views/account_move_line.xml',
|
||||
'data/mandate_reference_sequence.xml',
|
||||
'data/report_paperformat.xml',
|
||||
'security/mandate_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'reports/account_banking_mandate_view.xml',
|
||||
'reports/account_banking_mandate.xml',
|
||||
],
|
||||
'demo': [],
|
||||
'test': ['test/banking_mandate.yml'],
|
||||
'installable': False,
|
||||
'installable': True,
|
||||
}
|
||||
|
||||
@@ -3,11 +3,6 @@
|
||||
<data noupdate="1">
|
||||
|
||||
|
||||
<record id="dd_mandate_seq_type" model="ir.sequence.type">
|
||||
<field name="name">DD Mandate Reference</field>
|
||||
<field name="code">account.banking.mandate</field>
|
||||
</record>
|
||||
|
||||
<record id="dd_mandate_seq" model="ir.sequence">
|
||||
<field name="name">DD Mandate Reference</field>
|
||||
<field name="code">account.banking.mandate</field>
|
||||
|
||||
411
account_banking_mandate/i18n/en.po
Normal file
411
account_banking_mandate/i18n/en.po
Normal file
@@ -0,0 +1,411 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_mandate
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bank-payment (8.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-04-08 00:46+0000\n"
|
||||
"PO-Revision-Date: 2016-04-07 16:04+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
|
||||
"Language-Team: English (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/en/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: en\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.actions.act_window,help:account_banking_mandate.mandate_action
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to create a new Banking Mandate.\n"
|
||||
" </p><p>\n"
|
||||
" A Banking Mandate is a document signed by your customer that gives you the autorization to do one or several operations on his bank account.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr "<p class=\"oe_view_nocontent_create\">\n Click to create a new Banking Mandate.\n </p><p>\n A Banking Mandate is a document signed by your customer that gives you the autorization to do one or several operations on his bank account.\n </p>\n "
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: sql_constraint:account.banking.mandate:0
|
||||
msgid "A Mandate with the same reference already exists for this company !"
|
||||
msgstr "A Mandate with the same reference already exists for this company !"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_account_banking_mandate
|
||||
msgid "A generic banking mandate"
|
||||
msgstr "A generic banking mandate"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Back to Draft"
|
||||
msgstr "Back to Draft"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,partner_bank_id:0
|
||||
msgid "Bank Account"
|
||||
msgstr "Bank Account"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr "Bank Accounts"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_bank_payment_line
|
||||
msgid "Bank Payment Lines"
|
||||
msgstr "Bank Payment Lines"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Banking Mandate"
|
||||
msgstr "Banking Mandate"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,description:account_banking_mandate.mandate_cancel
|
||||
msgid "Banking Mandate Cancelled"
|
||||
msgstr "Banking Mandate Cancelled"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,description:account_banking_mandate.mandate_valid
|
||||
msgid "Banking Mandate Validated"
|
||||
msgstr "Banking Mandate Validated"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,description:account_banking_mandate.mandate_expired
|
||||
msgid "Banking Mandate has Expired"
|
||||
msgstr "Banking Mandate has Expired"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.actions.act_window,name:account_banking_mandate.mandate_action
|
||||
msgid "Banking Mandates"
|
||||
msgstr "Banking Mandates"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:res.partner.bank,mandate_ids:0
|
||||
msgid ""
|
||||
"Banking mandates represents an authorization that the bank account owner "
|
||||
"gives to a company for a specific operation"
|
||||
msgstr "Banking mandates represents an authorization that the bank account owner gives to a company for a specific operation"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: selection:account.banking.mandate,format:0
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:39
|
||||
#, python-format
|
||||
msgid "Basic Mandate"
|
||||
msgstr "Basic Mandate"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Cancelled"
|
||||
msgstr "Cancelled"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:104
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot validate the mandate '%s' because it is not attached to a bank "
|
||||
"account."
|
||||
msgstr "Cannot validate the mandate '%s' because it is not attached to a bank account."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:100
|
||||
#, python-format
|
||||
msgid "Cannot validate the mandate '%s' without a date of signature."
|
||||
msgstr "Cannot validate the mandate '%s' without a date of signature."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Company"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,create_uid:0
|
||||
msgid "Created by"
|
||||
msgstr "Created by"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,create_date:0
|
||||
msgid "Created on"
|
||||
msgstr "Created on"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:res.partner:account_banking_mandate.mandate_partner_form
|
||||
#: view:res.partner.bank:account_banking_mandate.mandate_partner_bank_tree
|
||||
msgid "DD Mandates"
|
||||
msgstr "DD Mandates"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,signature_date:0
|
||||
msgid "Date of Signature of the Mandate"
|
||||
msgstr "Date of Signature of the Mandate"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,last_debit_date:0
|
||||
msgid "Date of the Last Debit"
|
||||
msgstr "Date of the Last Debit"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_last_post:0
|
||||
msgid "Date of the last message posted on the record."
|
||||
msgstr "Date of the last message posted on the record."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.invoice,mandate_id:0 field:payment.line,mandate_id:0
|
||||
msgid "Direct Debit Mandate"
|
||||
msgstr "Direct Debit Mandate"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:res.partner.bank:account_banking_mandate.mandate_partner_bank_form
|
||||
#: field:res.partner.bank,mandate_ids:0
|
||||
msgid "Direct Debit Mandates"
|
||||
msgstr "Direct Debit Mandates"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Draft"
|
||||
msgstr "Draft"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Expired"
|
||||
msgstr "Expired"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr "Followers"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Group By"
|
||||
msgstr "Group By"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_summary:0
|
||||
msgid ""
|
||||
"Holds the Chatter summary (number of messages, ...). This summary is "
|
||||
"directly in html format in order to be inserted in kanban views."
|
||||
msgstr "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr "If checked new messages require your attention."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Invoice"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr "Is a Follower"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_last_post:0
|
||||
msgid "Last Message Date"
|
||||
msgstr "Last Message Date"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,write_uid:0
|
||||
msgid "Last Updated by"
|
||||
msgstr "Last Updated by"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,write_date:0
|
||||
msgid "Last Updated on"
|
||||
msgstr "Last Updated on"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:bank.payment.line:account_banking_mandate.bank_payment_line_tree
|
||||
#: view:payment.order:account_banking_mandate.view_mandate_payment_order_form
|
||||
msgid "Mandate"
|
||||
msgstr "Mandate"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_cancel
|
||||
msgid "Mandate Cancelled"
|
||||
msgstr "Mandate Cancelled"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_expired
|
||||
msgid "Mandate Expired"
|
||||
msgstr "Mandate Expired"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,format:0
|
||||
msgid "Mandate Format"
|
||||
msgstr "Mandate Format"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_valid
|
||||
msgid "Mandate Validated"
|
||||
msgstr "Mandate Validated"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:147
|
||||
#, python-format
|
||||
msgid "Mandate should be in cancel state"
|
||||
msgstr "Mandate should be in cancel state"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:135
|
||||
#, python-format
|
||||
msgid "Mandate should be in draft or valid state"
|
||||
msgstr "Mandate should be in draft or valid state"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:126
|
||||
#, python-format
|
||||
msgid "Mandate should be in draft state"
|
||||
msgstr "Mandate should be in draft state"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr "Messages"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_ids:0
|
||||
msgid "Messages and communication history"
|
||||
msgstr "Messages and communication history"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,state:0
|
||||
msgid ""
|
||||
"Only valid mandates can be used in a payment line. A cancelled mandate is a "
|
||||
"mandate that has been cancelled by the customer."
|
||||
msgstr "Only valid mandates can be used in a payment line. A cancelled mandate is a mandate that has been cancelled by the customer."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Partner"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_payment_line
|
||||
msgid "Payment Line"
|
||||
msgstr "Payment Line"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Reference"
|
||||
msgstr "Reference"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Reference or Partner"
|
||||
msgstr "Reference or Partner"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: field:account.banking.mandate,payment_line_ids:0
|
||||
msgid "Related Payment Lines"
|
||||
msgstr "Related Payment Lines"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.ui.menu,name:account_banking_mandate.mandate_menu
|
||||
msgid "SEPA Direct Debit Mandates"
|
||||
msgstr "SEPA Direct Debit Mandates"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,scan:0
|
||||
msgid "Scan of the Mandate"
|
||||
msgstr "Scan of the Mandate"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Search Banking Mandates"
|
||||
msgstr "Search Banking Mandates"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: selection:account.banking.mandate,format:0
|
||||
msgid "Sepa Mandate"
|
||||
msgstr "Sepa Mandate"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Signature Date"
|
||||
msgstr "Signature Date"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,state:0
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_summary:0
|
||||
msgid "Summary"
|
||||
msgstr "Summary"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:83
|
||||
#, python-format
|
||||
msgid "The date of signature of mandate '%s' is in the future !"
|
||||
msgstr "The date of signature of mandate '%s' is in the future !"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:89
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The mandate '%s' can't have a date of last debit before the date of "
|
||||
"signature."
|
||||
msgstr "The mandate '%s' can't have a date of last debit before the date of signature."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/payment_line.py:51
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The payment line with reference '%s' has the bank account '%s' which is not "
|
||||
"attached to the mandate '%s' (this mandate is attached to the bank account "
|
||||
"'%s')."
|
||||
msgstr "The payment line with reference '%s' has the bank account '%s' which is not attached to the mandate '%s' (this mandate is attached to the bank account '%s')."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,unique_mandate_reference:0
|
||||
msgid "Unique Mandate Reference"
|
||||
msgstr "Unique Mandate Reference"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr "Unread Messages"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Valid"
|
||||
msgstr "Valid"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Validate"
|
||||
msgstr "Validate"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid ""
|
||||
"You should set a mandate back to draft only if you cancelled it by mistake. "
|
||||
"Do you want to continue?"
|
||||
msgstr "You should set a mandate back to draft only if you cancelled it by mistake. Do you want to continue?"
|
||||
@@ -1,40 +1,32 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_mandate
|
||||
#
|
||||
# * account_banking_mandate
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 8.0\n"
|
||||
"Project-Id-Version: bank-payment (8.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-18 08:15+0000\n"
|
||||
"PO-Revision-Date: 2015-06-18 11:36+0100\n"
|
||||
"Last-Translator: Sergio Teruel <sergio@incaser.es>\n"
|
||||
"Language-Team: \n"
|
||||
"POT-Creation-Date: 2016-04-08 00:46+0000\n"
|
||||
"PO-Revision-Date: 2016-04-07 16:04+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.actions.act_window,help:account_banking_mandate.mandate_action
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to create a new Banking Mandate.\n"
|
||||
" </p><p>\n"
|
||||
" A Banking Mandate is a document signed by your customer that gives "
|
||||
"you the autorization to do one or several operations on his bank account.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to create a new Banking Mandate.\n"
|
||||
" </p><p>\n"
|
||||
" A Banking Mandate is a document signed by your customer that gives "
|
||||
"you the autorization to do one or several operations on his bank account.\n"
|
||||
" A Banking Mandate is a document signed by your customer that gives you the autorization to do one or several operations on his bank account.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr "<p class=\"oe_view_nocontent_create\">\n Pulse para crear un nuevo mandato bancario.\n </p><p>\n Un mandato bancario es un documento firmado por su cliente que le da la autorización para hacer una o varias operaciones en su cuenta bancaria.\n </p>\n "
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: sql_constraint:account.banking.mandate:0
|
||||
@@ -46,24 +38,6 @@ msgstr "Ya existe un mandato con la misma referencia para esta compañía"
|
||||
msgid "A generic banking mandate"
|
||||
msgstr "Un mandato bancario genérico"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"As part of your rights, you are entitled to a refund from your bank under "
|
||||
"the terms and conditions of your agreement with your bank.\n"
|
||||
" A refund must be claimed within 8 weeks starting "
|
||||
"from the date on which your account was debited."
|
||||
msgstr ""
|
||||
"Como parte de sus derechos, el deudor está legitimado al reembolso por su "
|
||||
"entidad en los términos y condiciones del contrato suscrito con la misma. "
|
||||
"La solicitud de reembolso deberá efectuarse dentro de las ocho semanas que "
|
||||
"siguen a la fecha de adeudo en cuenta."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "BIC:"
|
||||
msgstr "BIC:"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Back to Draft"
|
||||
@@ -77,12 +51,12 @@ msgstr "Cuenta bancaria"
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr "Cuentas bancarias"
|
||||
msgstr "Cuentas de banco"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Bank name:"
|
||||
msgstr "Banco:"
|
||||
#: model:ir.model,name:account_banking_mandate.model_bank_payment_line
|
||||
msgid "Bank Payment Lines"
|
||||
msgstr "Líneas de pago bancario"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
@@ -115,15 +89,14 @@ msgstr "Mandatos bancarios"
|
||||
msgid ""
|
||||
"Banking mandates represents an authorization that the bank account owner "
|
||||
"gives to a company for a specific operation"
|
||||
msgstr ""
|
||||
"Los mandatos bancarios representan una autorización que el propietario de la "
|
||||
"cuenta bancaria da a la compañía para un operación específica"
|
||||
msgstr "Los mandatos bancarios representan una autorización que el propietario de la cuenta bancaria da a la compañía para un operación específica"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "By signing this mandate form, you authorise (A)"
|
||||
msgstr ""
|
||||
"Mediante la firma de esta orden de domiciliación, el deudor autoriza a (A) "
|
||||
#: selection:account.banking.mandate,format:0
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:39
|
||||
#, python-format
|
||||
msgid "Basic Mandate"
|
||||
msgstr "Mandato básico"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
@@ -136,17 +109,15 @@ msgid "Cancelled"
|
||||
msgstr "Cancelado"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:110
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:104
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot validate the mandate '%s' because it is not attached to a bank "
|
||||
"account."
|
||||
msgstr ""
|
||||
"No se puede validar el mandato '%s' porque no tiene ninguna cuenta bancaria "
|
||||
"asociada."
|
||||
msgstr "No se puede validar el mandato '%s' porque no tiene ninguna cuenta bancaria asociada."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:106
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:100
|
||||
#, python-format
|
||||
msgid "Cannot validate the mandate '%s' without a date of signature."
|
||||
msgstr "No se puede validar el mandato '%s' sin una fecha de firma."
|
||||
@@ -166,11 +137,6 @@ msgstr "Creado por"
|
||||
msgid "Created on"
|
||||
msgstr "Creado en"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:payment.order:account_banking_mandate.view_mandate_payment_order_form
|
||||
msgid "DD Mandate"
|
||||
msgstr "Mandato bancario"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:res.partner:account_banking_mandate.mandate_partner_form
|
||||
#: view:res.partner.bank:account_banking_mandate.mandate_partner_bank_tree
|
||||
@@ -192,25 +158,6 @@ msgstr "Fecha del último cobro"
|
||||
msgid "Date of the last message posted on the record."
|
||||
msgstr "Fecha del último mensaje publicado en el registro."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Debtor identification code:"
|
||||
msgstr "Código del deudor:"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Description of contract."
|
||||
msgstr "Descripción del contrato."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"Details regarding the underlying relationship between the Creditor and the "
|
||||
"Debtor - for information purposes only."
|
||||
msgstr ""
|
||||
"Información sobre la relación subyacente entre el acreedor y el deudor - a "
|
||||
"título meramente informativo."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.invoice,mandate_id:0 field:payment.line,mandate_id:0
|
||||
msgid "Direct Debit Mandate"
|
||||
@@ -238,13 +185,10 @@ msgid "Followers"
|
||||
msgstr "Seguidores"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"For business users: write any code number here which you wish to have quoted "
|
||||
"by your bank."
|
||||
msgstr ""
|
||||
"Para usuarios empresas: Indique en este espacio cualquier número de código "
|
||||
"con el que desea que su entidad financiera le identifique."
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Format"
|
||||
msgstr "Formato"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
@@ -256,52 +200,18 @@ msgstr "Agrupar por"
|
||||
msgid ""
|
||||
"Holds the Chatter summary (number of messages, ...). This summary is "
|
||||
"directly in html format in order to be inserted in kanban views."
|
||||
msgstr ""
|
||||
"Contiene el resumen del chatter (nº de mensajes, ...). Este resumen está "
|
||||
"directamente en formato html para ser insertado en vistas kanban."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "IBAN:"
|
||||
msgstr "IBAN:"
|
||||
msgstr "Contiene el resumen del chatter (nº de mensajes, ...). Este resumen está directamente en formato html para ser insertado en vistas kanban."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Identification code of the Creditor Reference Party."
|
||||
msgstr "Código de identificación de la parte de referencia del acreedor"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Identification code of the Debtor Reference Party."
|
||||
msgstr "Código de identificación de la parte de referencia del deudor"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Identification number of the underlying contract."
|
||||
msgstr "Número de identificación del contrato subyacente"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr "Si está marcado, hay nuevos mensajes que requieren su atención"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "If you are paying on your own behalf, leave blank."
|
||||
msgstr ""
|
||||
"Si realiza el pago en su propio nombre e interés, deje este espacio en "
|
||||
"blanco."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "In respect of the contract:"
|
||||
msgstr "Respecto al contrato:"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
@@ -328,15 +238,8 @@ msgid "Last Updated on"
|
||||
msgstr "Última actualización en"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"Location and sign: _______________________, at ______ from ____________ from"
|
||||
msgstr ""
|
||||
"Lugar y fecha de la firma: _______________________, a ______ de ____________ "
|
||||
"de"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.actions.report.xml,name:account_banking_mandate.report_account_banking_mandate
|
||||
#: view:bank.payment.line:account_banking_mandate.bank_payment_line_tree
|
||||
#: view:payment.order:account_banking_mandate.view_mandate_payment_order_form
|
||||
msgid "Mandate"
|
||||
msgstr "Mandato SEPA"
|
||||
|
||||
@@ -350,25 +253,30 @@ msgstr "Mandato cancelado"
|
||||
msgid "Mandate Expired"
|
||||
msgstr "Mandato expirado"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,format:0
|
||||
msgid "Mandate Format"
|
||||
msgstr "Formato del mandato"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_valid
|
||||
msgid "Mandate Validated"
|
||||
msgstr "Mandato validado"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:152
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:147
|
||||
#, python-format
|
||||
msgid "Mandate should be in cancel state"
|
||||
msgstr "El mandato debe estar en estado cancelado"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:140
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:135
|
||||
#, python-format
|
||||
msgid "Mandate should be in draft or valid state"
|
||||
msgstr "El mandato debe estar en estado borrador o validado"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:131
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:126
|
||||
#, python-format
|
||||
msgid "Mandate should be in draft state"
|
||||
msgstr "El mandato debe estar en estado borrador"
|
||||
@@ -383,63 +291,23 @@ msgstr "Mensajes"
|
||||
msgid "Messages and communication history"
|
||||
msgstr "Mensajes e historial de comunicación"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"Name of the Creditor Reference Party: Creditor must complete this section if "
|
||||
"collecting payment on behalf of another party."
|
||||
msgstr ""
|
||||
"Nombre de la parte de referencia del acreedor: el acreedor debe rellenar "
|
||||
"esta sección si realiza el cobro a favor de un tercero."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"Name of the Debtor Reference Party: If you are making a payment in respect "
|
||||
"of an arrangement between"
|
||||
msgstr ""
|
||||
"Nombre de la parte de referencia del deudor: Si realiza un pago como "
|
||||
"consecuencia de un acuerdo entre"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,state:0
|
||||
msgid ""
|
||||
"Only valid mandates can be used in a payment line. A cancelled mandate is a "
|
||||
"mandate that has been cancelled by the customer."
|
||||
msgstr ""
|
||||
"Sólo se pueden usar mandatos validados en una línea de pago. Un mandato "
|
||||
"cancelado en un mandato que ha sido invalidado por el cliente."
|
||||
msgstr "Sólo se pueden usar mandatos validados en una línea de pago. Un mandato cancelado en un mandato que ha sido invalidado por el cliente."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Empresa"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Party on whose behalf the creditor collects the payment:"
|
||||
msgstr "Parte en cuyo favor el acreedor realiza el cobro:"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_payment_line
|
||||
msgid "Payment Line"
|
||||
msgstr "Línea de pago"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Payment type:"
|
||||
msgstr "Tipo de pago"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Person on whose behalf payment is made:"
|
||||
msgstr "Persona en cuyo nombre se realiza el pago:"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Policyholder Service / Debtor:"
|
||||
msgstr "Tomador del servicio / Deudor:"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Reference"
|
||||
@@ -450,27 +318,12 @@ msgstr "Referencia"
|
||||
msgid "Reference or Partner"
|
||||
msgstr "Referencia o cliente"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Reference:"
|
||||
msgstr "Referencia:"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: field:account.banking.mandate,payment_line_ids:0
|
||||
msgid "Related Payment Lines"
|
||||
msgstr "Líneas de pago relacionadas"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "SEPA BUSINESS-TO-BUSINESS DIRECT DEBIT MANDATE"
|
||||
msgstr "Orden de domiciliación de adeudo directo SEPA B2B"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "SEPA DIRECT DEBIT MANDATE"
|
||||
msgstr "Orden de domiciliación de adeudo directo SEPA"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.ui.menu,name:account_banking_mandate.mandate_menu
|
||||
msgid "SEPA Direct Debit Mandates"
|
||||
@@ -487,9 +340,9 @@ msgid "Search Banking Mandates"
|
||||
msgstr "Buscar mandatos bancarios"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Service Provider / Creditor:"
|
||||
msgstr "Entidad prestadora del servicio / Acreedor:"
|
||||
#: selection:account.banking.mandate,format:0
|
||||
msgid "Sepa Mandate"
|
||||
msgstr "Mandato SEPA"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
@@ -508,49 +361,27 @@ msgid "Summary"
|
||||
msgstr "Resumen"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:92
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:83
|
||||
#, python-format
|
||||
msgid "The date of signature of mandate '%s' is in the future !"
|
||||
msgstr "La fecha de firma del mandato '%s' no puede ser superior a la actual"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:97
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:89
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The mandate '%s' can't have a date of last debit before the date of "
|
||||
"signature."
|
||||
msgstr ""
|
||||
"El mandato '%s' no puede tener una fecha de último cobro antes de la fecha "
|
||||
"de firma."
|
||||
msgstr "El mandato '%s' no puede tener una fecha de último cobro antes de la fecha de firma."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/payment_line.py:68
|
||||
#: code:addons/account_banking_mandate/models/payment_line.py:51
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The payment line with reference '%s' has the bank account '%s' which is not "
|
||||
"attached to the mandate '%s' (this mandate is attached to the bank account "
|
||||
"'%s')."
|
||||
msgstr ""
|
||||
"La línea de pago con referencia '%s' tiene la cuenta bancaria '%s', que no "
|
||||
"está puesta en el mandato '%s' (este mandato tiene como cuenta bancaria "
|
||||
"'%s')."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"This mandate is only intended for business-to-business transactions. You are "
|
||||
"not entitled to a refund from your bank after your account has been debited, "
|
||||
"but you are entitled to request your bank not to debit your account up until "
|
||||
"the day on which the payment is due.\n"
|
||||
" Please complete all the fields marked *."
|
||||
msgstr ""
|
||||
"Esta orden de domiciliación está prevista para operaciones exclusivamente "
|
||||
"entre empresas y/o autónomos. El deudor no tiene derecho a que su entidad le "
|
||||
"reembolse una vez que se haya realizado el cargo en cuenta, pero puede "
|
||||
"solicitar a su entidad que no efectúe el adeudo en la cuenta hasta la fecha "
|
||||
"debida. Podrá obtener información detallada del procedimiento en su entidad "
|
||||
"financiera.\n"
|
||||
"Por favor rellene todos los campos marcados con un *."
|
||||
msgstr "La línea de pago con referencia '%s' tiene la cuenta bancaria '%s', que no está puesta en el mandato '%s' (este mandato tiene como cuenta bancaria '%s')."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,unique_mandate_reference:0
|
||||
@@ -562,11 +393,6 @@ msgstr "Referencia única del mandato"
|
||||
msgid "Unread Messages"
|
||||
msgstr "Mensajes sin leer"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "VAT:"
|
||||
msgstr "NIF:"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Valid"
|
||||
@@ -577,46 +403,9 @@ msgstr "Válido"
|
||||
msgid "Validate"
|
||||
msgstr "Validar"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,website_message_ids:0
|
||||
msgid "Website Messages"
|
||||
msgstr "Mensajes del sitio web"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,website_message_ids:0
|
||||
msgid "Website communication history"
|
||||
msgstr "Historial de comunicación del sitio web"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Write any code number here which you wish to have quoted by your bank."
|
||||
msgstr ""
|
||||
"Indique en este espacio cualquier número de código con el que desea que su "
|
||||
"entidad financiera le identifique."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid ""
|
||||
"You should set a mandate back to draft only if you cancelled it by mistake. "
|
||||
"Do you want to continue?"
|
||||
msgstr ""
|
||||
"Debe establecer un mandato de vuelta a borrador sólo si lo cancelo por "
|
||||
"error. ¿Desea continuar?"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"and another person (e.g. where you are paying the other person's bill) "
|
||||
"please write the other person's name here."
|
||||
msgstr ""
|
||||
"y otra persona (por ejemplo, el pago de la factura de otra persona) indique "
|
||||
"el nombre de dicha persona en este espacio."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"to send instructions to your bank to debit your account and (B) your bank to "
|
||||
"debit your account in accordance with the instructions from"
|
||||
msgstr ""
|
||||
"a enviar órdenes a la entidad del deudor para adeudar su cuenta y (B) a la "
|
||||
"entidad para efectuar los adeudos en su cuenta siguiendo las instrucciones de"
|
||||
msgstr "Debe establecer un mandato de vuelta a borrador sólo si lo cancelo por error. ¿Desea continuar?"
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_mandate
|
||||
#
|
||||
# * account_banking_mandate
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 8.0\n"
|
||||
"Project-Id-Version: bank-payment (8.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-06-18 08:15+0000\n"
|
||||
"PO-Revision-Date: 2015-06-18 10:18+0100\n"
|
||||
"Last-Translator: Sergio Teruel <sergio@incaser.es>\n"
|
||||
"Language-Team: \n"
|
||||
"POT-Creation-Date: 2016-04-08 00:46+0000\n"
|
||||
"PO-Revision-Date: 2016-04-07 16:04+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
|
||||
"Language-Team: French (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: \n"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.actions.act_window,help:account_banking_mandate.mandate_action
|
||||
@@ -22,8 +23,7 @@ msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to create a new Banking Mandate.\n"
|
||||
" </p><p>\n"
|
||||
" A Banking Mandate is a document signed by your customer that gives "
|
||||
"you the autorization to do one or several operations on his bank account.\n"
|
||||
" A Banking Mandate is a document signed by your customer that gives you the autorization to do one or several operations on his bank account.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
@@ -38,20 +38,6 @@ msgstr ""
|
||||
msgid "A generic banking mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"As part of your rights, you are entitled to a refund from your bank under "
|
||||
"the terms and conditions of your agreement with your bank.\n"
|
||||
" A refund must be claimed within 8 weeks starting "
|
||||
"from the date on which your account was debited."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "BIC:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Back to Draft"
|
||||
@@ -68,8 +54,8 @@ msgid "Bank Accounts"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Bank name:"
|
||||
#: model:ir.model,name:account_banking_mandate.model_bank_payment_line
|
||||
msgid "Bank Payment Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
@@ -106,14 +92,16 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "By signing this mandate form, you authorise (A)"
|
||||
#: selection:account.banking.mandate,format:0
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:39
|
||||
#, python-format
|
||||
msgid "Basic Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Annuler"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
@@ -121,7 +109,7 @@ msgid "Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:110
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:104
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot validate the mandate '%s' because it is not attached to a bank "
|
||||
@@ -129,7 +117,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:106
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:100
|
||||
#, python-format
|
||||
msgid "Cannot validate the mandate '%s' without a date of signature."
|
||||
msgstr ""
|
||||
@@ -149,11 +137,6 @@ msgstr ""
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:payment.order:account_banking_mandate.view_mandate_payment_order_form
|
||||
msgid "DD Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:res.partner:account_banking_mandate.mandate_partner_form
|
||||
#: view:res.partner.bank:account_banking_mandate.mandate_partner_bank_tree
|
||||
@@ -175,23 +158,6 @@ msgstr ""
|
||||
msgid "Date of the last message posted on the record."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Debtor identification code:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Description of contract."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"Details regarding the underlying relationship between the Creditor and the "
|
||||
"Debtor - for information purposes only."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.invoice,mandate_id:0 field:payment.line,mandate_id:0
|
||||
msgid "Direct Debit Mandate"
|
||||
@@ -219,10 +185,9 @@ msgid "Followers"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"For business users: write any code number here which you wish to have quoted "
|
||||
"by your bank."
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Format"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
@@ -237,46 +202,16 @@ msgid ""
|
||||
"directly in html format in order to be inserted in kanban views."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "IBAN:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,id:0
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Identification code of the Creditor Reference Party."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Identification code of the Debtor Reference Party."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Identification number of the underlying contract."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "If you are paying on your own behalf, leave blank."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "In respect of the contract:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
@@ -303,13 +238,8 @@ msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"Location and sign: _______________________, at ______ from ____________ from"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.actions.report.xml,name:account_banking_mandate.report_account_banking_mandate
|
||||
#: view:bank.payment.line:account_banking_mandate.bank_payment_line_tree
|
||||
#: view:payment.order:account_banking_mandate.view_mandate_payment_order_form
|
||||
msgid "Mandate"
|
||||
msgstr ""
|
||||
|
||||
@@ -323,25 +253,30 @@ msgstr ""
|
||||
msgid "Mandate Expired"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,format:0
|
||||
msgid "Mandate Format"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_valid
|
||||
msgid "Mandate Validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:152
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:147
|
||||
#, python-format
|
||||
msgid "Mandate should be in cancel state"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:140
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:135
|
||||
#, python-format
|
||||
msgid "Mandate should be in draft or valid state"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:131
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:126
|
||||
#, python-format
|
||||
msgid "Mandate should be in draft state"
|
||||
msgstr ""
|
||||
@@ -356,20 +291,6 @@ msgstr ""
|
||||
msgid "Messages and communication history"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"Name of the Creditor Reference Party: Creditor must complete this section if "
|
||||
"collecting payment on behalf of another party."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"Name of the Debtor Reference Party: If you are making a payment in respect "
|
||||
"of an arrangement between"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,state:0
|
||||
msgid ""
|
||||
@@ -382,30 +303,10 @@ msgstr ""
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Party on whose behalf the creditor collects the payment:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_payment_line
|
||||
msgid "Payment Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Payment type:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Person on whose behalf payment is made:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Policyholder Service / Debtor:"
|
||||
msgstr ""
|
||||
msgstr "Ligne de paiement"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
@@ -417,31 +318,16 @@ msgstr ""
|
||||
msgid "Reference or Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Reference:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: field:account.banking.mandate,payment_line_ids:0
|
||||
msgid "Related Payment Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "SEPA BUSINESS-TO-BUSINESS DIRECT DEBIT MANDATE"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "SEPA DIRECT DEBIT MANDATE"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.ui.menu,name:account_banking_mandate.mandate_menu
|
||||
msgid "SEPA Direct Debit Mandates"
|
||||
msgstr ""
|
||||
msgstr "Mandats de prélèvement SEPA"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,scan:0
|
||||
@@ -454,8 +340,8 @@ msgid "Search Banking Mandates"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Service Provider / Creditor:"
|
||||
#: selection:account.banking.mandate,format:0
|
||||
msgid "Sepa Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
@@ -475,13 +361,13 @@ msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:92
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:83
|
||||
#, python-format
|
||||
msgid "The date of signature of mandate '%s' is in the future !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:97
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:89
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The mandate '%s' can't have a date of last debit before the date of "
|
||||
@@ -489,7 +375,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/payment_line.py:68
|
||||
#: code:addons/account_banking_mandate/models/payment_line.py:51
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The payment line with reference '%s' has the bank account '%s' which is not "
|
||||
@@ -497,16 +383,6 @@ msgid ""
|
||||
"'%s')."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"This mandate is only intended for business-to-business transactions. You are "
|
||||
"not entitled to a refund from your bank after your account has been debited, "
|
||||
"but you are entitled to request your bank not to debit your account up until "
|
||||
"the day on which the payment is due.\n"
|
||||
" Please complete all the fields marked *."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,unique_mandate_reference:0
|
||||
msgid "Unique Mandate Reference"
|
||||
@@ -517,11 +393,6 @@ msgstr ""
|
||||
msgid "Unread Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "VAT:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Valid"
|
||||
@@ -530,22 +401,7 @@ msgstr ""
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,website_message_ids:0
|
||||
msgid "Website Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,website_message_ids:0
|
||||
msgid "Website communication history"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid "Write any code number here which you wish to have quoted by your bank."
|
||||
msgstr ""
|
||||
msgstr "Valider"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
@@ -553,17 +409,3 @@ msgid ""
|
||||
"You should set a mandate back to draft only if you cancelled it by mistake. "
|
||||
"Do you want to continue?"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"and another person (e.g. where you are paying the other person's bill) "
|
||||
"please write the other person's name here."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:website:account_banking_mandate.account_banking_mandate_document
|
||||
msgid ""
|
||||
"to send instructions to your bank to debit your account and (B) your bank to "
|
||||
"debit your account in accordance with the instructions from"
|
||||
msgstr ""
|
||||
411
account_banking_mandate/i18n/nl.po
Normal file
411
account_banking_mandate/i18n/nl.po
Normal file
@@ -0,0 +1,411 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_mandate
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bank-payment (8.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-04-08 00:46+0000\n"
|
||||
"PO-Revision-Date: 2016-04-07 16:04+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
|
||||
"Language-Team: Dutch (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: nl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.actions.act_window,help:account_banking_mandate.mandate_action
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to create a new Banking Mandate.\n"
|
||||
" </p><p>\n"
|
||||
" A Banking Mandate is a document signed by your customer that gives you the autorization to do one or several operations on his bank account.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: sql_constraint:account.banking.mandate:0
|
||||
msgid "A Mandate with the same reference already exists for this company !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_account_banking_mandate
|
||||
msgid "A generic banking mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Back to Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,partner_bank_id:0
|
||||
msgid "Bank Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_bank_payment_line
|
||||
msgid "Bank Payment Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Banking Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,description:account_banking_mandate.mandate_cancel
|
||||
msgid "Banking Mandate Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,description:account_banking_mandate.mandate_valid
|
||||
msgid "Banking Mandate Validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,description:account_banking_mandate.mandate_expired
|
||||
msgid "Banking Mandate has Expired"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.actions.act_window,name:account_banking_mandate.mandate_action
|
||||
msgid "Banking Mandates"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:res.partner.bank,mandate_ids:0
|
||||
msgid ""
|
||||
"Banking mandates represents an authorization that the bank account owner "
|
||||
"gives to a company for a specific operation"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: selection:account.banking.mandate,format:0
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:39
|
||||
#, python-format
|
||||
msgid "Basic Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:104
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot validate the mandate '%s' because it is not attached to a bank "
|
||||
"account."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:100
|
||||
#, python-format
|
||||
msgid "Cannot validate the mandate '%s' without a date of signature."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,create_uid:0
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,create_date:0
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:res.partner:account_banking_mandate.mandate_partner_form
|
||||
#: view:res.partner.bank:account_banking_mandate.mandate_partner_bank_tree
|
||||
msgid "DD Mandates"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,signature_date:0
|
||||
msgid "Date of Signature of the Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,last_debit_date:0
|
||||
msgid "Date of the Last Debit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_last_post:0
|
||||
msgid "Date of the last message posted on the record."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.invoice,mandate_id:0 field:payment.line,mandate_id:0
|
||||
msgid "Direct Debit Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:res.partner.bank:account_banking_mandate.mandate_partner_bank_form
|
||||
#: field:res.partner.bank,mandate_ids:0
|
||||
msgid "Direct Debit Mandates"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Expired"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Format"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Group By"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_summary:0
|
||||
msgid ""
|
||||
"Holds the Chatter summary (number of messages, ...). This summary is "
|
||||
"directly in html format in order to be inserted in kanban views."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,id:0
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Factuur"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_last_post:0
|
||||
msgid "Last Message Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,write_uid:0
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,write_date:0
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:bank.payment.line:account_banking_mandate.bank_payment_line_tree
|
||||
#: view:payment.order:account_banking_mandate.view_mandate_payment_order_form
|
||||
msgid "Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_cancel
|
||||
msgid "Mandate Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_expired
|
||||
msgid "Mandate Expired"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,format:0
|
||||
msgid "Mandate Format"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_valid
|
||||
msgid "Mandate Validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:147
|
||||
#, python-format
|
||||
msgid "Mandate should be in cancel state"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:135
|
||||
#, python-format
|
||||
msgid "Mandate should be in draft or valid state"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:126
|
||||
#, python-format
|
||||
msgid "Mandate should be in draft state"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_ids:0
|
||||
msgid "Messages and communication history"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,state:0
|
||||
msgid ""
|
||||
"Only valid mandates can be used in a payment line. A cancelled mandate is a "
|
||||
"mandate that has been cancelled by the customer."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Relatie"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_payment_line
|
||||
msgid "Payment Line"
|
||||
msgstr "Betaalregel"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Reference or Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: field:account.banking.mandate,payment_line_ids:0
|
||||
msgid "Related Payment Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.ui.menu,name:account_banking_mandate.mandate_menu
|
||||
msgid "SEPA Direct Debit Mandates"
|
||||
msgstr "SEPA incasso machtegingen"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,scan:0
|
||||
msgid "Scan of the Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Search Banking Mandates"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: selection:account.banking.mandate,format:0
|
||||
msgid "Sepa Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Signature Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,state:0
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_summary:0
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:83
|
||||
#, python-format
|
||||
msgid "The date of signature of mandate '%s' is in the future !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:89
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The mandate '%s' can't have a date of last debit before the date of "
|
||||
"signature."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/payment_line.py:51
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The payment line with reference '%s' has the bank account '%s' which is not "
|
||||
"attached to the mandate '%s' (this mandate is attached to the bank account "
|
||||
"'%s')."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,unique_mandate_reference:0
|
||||
msgid "Unique Mandate Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Valid"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Validate"
|
||||
msgstr "Bevestig"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid ""
|
||||
"You should set a mandate back to draft only if you cancelled it by mistake. "
|
||||
"Do you want to continue?"
|
||||
msgstr ""
|
||||
412
account_banking_mandate/i18n/pt_BR.po
Normal file
412
account_banking_mandate/i18n/pt_BR.po
Normal file
@@ -0,0 +1,412 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_mandate
|
||||
#
|
||||
# Translators:
|
||||
# danimaribeiro <danimaribeiro@gmail.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bank-payment (8.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-04-08 00:46+0000\n"
|
||||
"PO-Revision-Date: 2016-04-07 16:04+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.actions.act_window,help:account_banking_mandate.mandate_action
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to create a new Banking Mandate.\n"
|
||||
" </p><p>\n"
|
||||
" A Banking Mandate is a document signed by your customer that gives you the autorization to do one or several operations on his bank account.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr "<p class=\"oe_view_nocontent_create\">\n Clique aqui para criar uma nova Ordem Bancária\n </p><p>\n Uma ordem bancária é um documento assinado por seu cliente que lhe dá autorização\npara fazer uma ou mais operações em sua conta bancária.\n </p>\n "
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: sql_constraint:account.banking.mandate:0
|
||||
msgid "A Mandate with the same reference already exists for this company !"
|
||||
msgstr "Uma ordem com a mesma referência já existe para esta empresa!"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_account_banking_mandate
|
||||
msgid "A generic banking mandate"
|
||||
msgstr "Uma ordem bancária genérica"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Back to Draft"
|
||||
msgstr "Voltar para provisório"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,partner_bank_id:0
|
||||
msgid "Bank Account"
|
||||
msgstr "Conta bancária"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr "Contas bancárias"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_bank_payment_line
|
||||
msgid "Bank Payment Lines"
|
||||
msgstr "Linhas de pagamento bancária"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Banking Mandate"
|
||||
msgstr "Ordem Bancária"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,description:account_banking_mandate.mandate_cancel
|
||||
msgid "Banking Mandate Cancelled"
|
||||
msgstr "Ordem bancária cancelada"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,description:account_banking_mandate.mandate_valid
|
||||
msgid "Banking Mandate Validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,description:account_banking_mandate.mandate_expired
|
||||
msgid "Banking Mandate has Expired"
|
||||
msgstr "Ordem bancária expirou"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.actions.act_window,name:account_banking_mandate.mandate_action
|
||||
msgid "Banking Mandates"
|
||||
msgstr "Ordens bancárias"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:res.partner.bank,mandate_ids:0
|
||||
msgid ""
|
||||
"Banking mandates represents an authorization that the bank account owner "
|
||||
"gives to a company for a specific operation"
|
||||
msgstr "Ordem bancária representa uma autorização que o dono da conta lhe dá para uma operação específica"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: selection:account.banking.mandate,format:0
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:39
|
||||
#, python-format
|
||||
msgid "Basic Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Cancelled"
|
||||
msgstr "Cancelado"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:104
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot validate the mandate '%s' because it is not attached to a bank "
|
||||
"account."
|
||||
msgstr "Não pode validar a ordem '%s' porque não está anexada a conta bancária."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:100
|
||||
#, python-format
|
||||
msgid "Cannot validate the mandate '%s' without a date of signature."
|
||||
msgstr "Não pode validar a ordem '%s' sem uma data de assinatura."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,create_uid:0
|
||||
msgid "Created by"
|
||||
msgstr "Criado por"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,create_date:0
|
||||
msgid "Created on"
|
||||
msgstr "Criado em"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:res.partner:account_banking_mandate.mandate_partner_form
|
||||
#: view:res.partner.bank:account_banking_mandate.mandate_partner_bank_tree
|
||||
msgid "DD Mandates"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,signature_date:0
|
||||
msgid "Date of Signature of the Mandate"
|
||||
msgstr "Data de assinatura da ordem"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,last_debit_date:0
|
||||
msgid "Date of the Last Debit"
|
||||
msgstr "Data do último débito"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_last_post:0
|
||||
msgid "Date of the last message posted on the record."
|
||||
msgstr "Data da última mensagem postada no registro"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.invoice,mandate_id:0 field:payment.line,mandate_id:0
|
||||
msgid "Direct Debit Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:res.partner.bank:account_banking_mandate.mandate_partner_bank_form
|
||||
#: field:res.partner.bank,mandate_ids:0
|
||||
msgid "Direct Debit Mandates"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Draft"
|
||||
msgstr "Provisório"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Expired"
|
||||
msgstr "Expirado"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr "Seguidores"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Format"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Group By"
|
||||
msgstr "Agrupar por"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_summary:0
|
||||
msgid ""
|
||||
"Holds the Chatter summary (number of messages, ...). This summary is "
|
||||
"directly in html format in order to be inserted in kanban views."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr "Se marcado novas mensagens requerem sua atenção."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Fatura"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr "É um seguidor"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_last_post:0
|
||||
msgid "Last Message Date"
|
||||
msgstr "Data da última mensagem"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,write_uid:0
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última Atualização por"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,write_date:0
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última Atualização em"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:bank.payment.line:account_banking_mandate.bank_payment_line_tree
|
||||
#: view:payment.order:account_banking_mandate.view_mandate_payment_order_form
|
||||
msgid "Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_cancel
|
||||
msgid "Mandate Cancelled"
|
||||
msgstr "Ordem cancelada"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_expired
|
||||
msgid "Mandate Expired"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,format:0
|
||||
msgid "Mandate Format"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_valid
|
||||
msgid "Mandate Validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:147
|
||||
#, python-format
|
||||
msgid "Mandate should be in cancel state"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:135
|
||||
#, python-format
|
||||
msgid "Mandate should be in draft or valid state"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:126
|
||||
#, python-format
|
||||
msgid "Mandate should be in draft state"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_ids:0
|
||||
msgid "Messages and communication history"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,state:0
|
||||
msgid ""
|
||||
"Only valid mandates can be used in a payment line. A cancelled mandate is a "
|
||||
"mandate that has been cancelled by the customer."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Parceiro"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_payment_line
|
||||
msgid "Payment Line"
|
||||
msgstr "Linha de Pagamento"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Reference or Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: field:account.banking.mandate,payment_line_ids:0
|
||||
msgid "Related Payment Lines"
|
||||
msgstr "Linhas relacionadas do pagamento"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.ui.menu,name:account_banking_mandate.mandate_menu
|
||||
msgid "SEPA Direct Debit Mandates"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,scan:0
|
||||
msgid "Scan of the Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Search Banking Mandates"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: selection:account.banking.mandate,format:0
|
||||
msgid "Sepa Mandate"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Signature Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,state:0
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_summary:0
|
||||
msgid "Summary"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:83
|
||||
#, python-format
|
||||
msgid "The date of signature of mandate '%s' is in the future !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:89
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The mandate '%s' can't have a date of last debit before the date of "
|
||||
"signature."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/payment_line.py:51
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The payment line with reference '%s' has the bank account '%s' which is not "
|
||||
"attached to the mandate '%s' (this mandate is attached to the bank account "
|
||||
"'%s')."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,unique_mandate_reference:0
|
||||
msgid "Unique Mandate Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Valid"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Validate"
|
||||
msgstr "Validar"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid ""
|
||||
"You should set a mandate back to draft only if you cancelled it by mistake. "
|
||||
"Do you want to continue?"
|
||||
msgstr ""
|
||||
412
account_banking_mandate/i18n/sl.po
Normal file
412
account_banking_mandate/i18n/sl.po
Normal file
@@ -0,0 +1,412 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_mandate
|
||||
#
|
||||
# Translators:
|
||||
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bank-payment (8.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-04-08 00:46+0000\n"
|
||||
"PO-Revision-Date: 2016-04-08 05:56+0000\n"
|
||||
"Last-Translator: Matjaž Mozetič <m.mozetic@matmoz.si>\n"
|
||||
"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/sl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: sl\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.actions.act_window,help:account_banking_mandate.mandate_action
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to create a new Banking Mandate.\n"
|
||||
" </p><p>\n"
|
||||
" A Banking Mandate is a document signed by your customer that gives you the autorization to do one or several operations on his bank account.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr "<p class=\"oe_view_nocontent_create\">\n Ustvari nov bančni mandat.\n </p><p>\n Bančni mandat je s strani kupca podpisan dokument, ki vas pooblašča za izvajanje ene ali več operacij na njegovem bančnem računu.\n </p>\n "
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: sql_constraint:account.banking.mandate:0
|
||||
msgid "A Mandate with the same reference already exists for this company !"
|
||||
msgstr "Za to družbo že obstaja mandat z istim sklicem!"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_account_banking_mandate
|
||||
msgid "A generic banking mandate"
|
||||
msgstr "Generični bančni mandat"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Back to Draft"
|
||||
msgstr "Vrni v osnutek"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,partner_bank_id:0
|
||||
msgid "Bank Account"
|
||||
msgstr "Bančni račun"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr "Bančni računi"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_bank_payment_line
|
||||
msgid "Bank Payment Lines"
|
||||
msgstr "Postavke bančnih plačil"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Banking Mandate"
|
||||
msgstr "Bančni mandat"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,description:account_banking_mandate.mandate_cancel
|
||||
msgid "Banking Mandate Cancelled"
|
||||
msgstr "Bančni mandat preklican"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,description:account_banking_mandate.mandate_valid
|
||||
msgid "Banking Mandate Validated"
|
||||
msgstr "Bančni mandat potrjen"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,description:account_banking_mandate.mandate_expired
|
||||
msgid "Banking Mandate has Expired"
|
||||
msgstr "Bančni mandat pretečen"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.actions.act_window,name:account_banking_mandate.mandate_action
|
||||
msgid "Banking Mandates"
|
||||
msgstr "Bančni mandati"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:res.partner.bank,mandate_ids:0
|
||||
msgid ""
|
||||
"Banking mandates represents an authorization that the bank account owner "
|
||||
"gives to a company for a specific operation"
|
||||
msgstr "Bančni mandat predstavlja pooblastilo, ki ga imetnik bančnega računa daje družbi za specifične operacije"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: selection:account.banking.mandate,format:0
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:39
|
||||
#, python-format
|
||||
msgid "Basic Mandate"
|
||||
msgstr "Osnovni mandat"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Cancel"
|
||||
msgstr "Preklic"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Cancelled"
|
||||
msgstr "Preklicano"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:104
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot validate the mandate '%s' because it is not attached to a bank "
|
||||
"account."
|
||||
msgstr "Mandata '%s' ni mogoče overiti, ker ni pripet bančnemu računu."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:100
|
||||
#, python-format
|
||||
msgid "Cannot validate the mandate '%s' without a date of signature."
|
||||
msgstr "Mandata '%s' ni mogoče overiti brez datuma podpisa."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,company_id:0
|
||||
msgid "Company"
|
||||
msgstr "Družba"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,create_uid:0
|
||||
msgid "Created by"
|
||||
msgstr "Ustvaril"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,create_date:0
|
||||
msgid "Created on"
|
||||
msgstr "Ustvarjeno"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:res.partner:account_banking_mandate.mandate_partner_form
|
||||
#: view:res.partner.bank:account_banking_mandate.mandate_partner_bank_tree
|
||||
msgid "DD Mandates"
|
||||
msgstr "Mandati za direktne obremenitve"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,signature_date:0
|
||||
msgid "Date of Signature of the Mandate"
|
||||
msgstr "Datum podpisa mandata"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,last_debit_date:0
|
||||
msgid "Date of the Last Debit"
|
||||
msgstr "Datum zadnje obremenitve"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_last_post:0
|
||||
msgid "Date of the last message posted on the record."
|
||||
msgstr "Datum objave zadnjega sporočila na zapisu."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.invoice,mandate_id:0 field:payment.line,mandate_id:0
|
||||
msgid "Direct Debit Mandate"
|
||||
msgstr "Mandat za direktne obremenitve"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:res.partner.bank:account_banking_mandate.mandate_partner_bank_form
|
||||
#: field:res.partner.bank,mandate_ids:0
|
||||
msgid "Direct Debit Mandates"
|
||||
msgstr "Mandati za direktne obremenitve"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Draft"
|
||||
msgstr "Osnutek"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Expired"
|
||||
msgstr "Pretečeni"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_follower_ids:0
|
||||
msgid "Followers"
|
||||
msgstr "Sledilci"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Group By"
|
||||
msgstr "Zfruži po"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_summary:0
|
||||
msgid ""
|
||||
"Holds the Chatter summary (number of messages, ...). This summary is "
|
||||
"directly in html format in order to be inserted in kanban views."
|
||||
msgstr "Vsebuje povzetek sporočanja (število sporočil, ...) neposredno v html formatu, da se lahko vstavlja v 'kanban' prikaze."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_unread:0
|
||||
msgid "If checked new messages require your attention."
|
||||
msgstr "Ko je označeno, zahtevajo vašo pozornost nova sporočila."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Račun"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_is_follower:0
|
||||
msgid "Is a Follower"
|
||||
msgstr "Je sledilec"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_last_post:0
|
||||
msgid "Last Message Date"
|
||||
msgstr "Datum zadnjega sporočila"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,write_uid:0
|
||||
msgid "Last Updated by"
|
||||
msgstr "Zadnji posodobil"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,write_date:0
|
||||
msgid "Last Updated on"
|
||||
msgstr "Zadnjič posodobljeno"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:bank.payment.line:account_banking_mandate.bank_payment_line_tree
|
||||
#: view:payment.order:account_banking_mandate.view_mandate_payment_order_form
|
||||
msgid "Mandate"
|
||||
msgstr "Mandat"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_cancel
|
||||
msgid "Mandate Cancelled"
|
||||
msgstr "Mandat preklican"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_expired
|
||||
msgid "Mandate Expired"
|
||||
msgstr "Mandat pretečen"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,format:0
|
||||
msgid "Mandate Format"
|
||||
msgstr "Format mandata"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:mail.message.subtype,name:account_banking_mandate.mandate_valid
|
||||
msgid "Mandate Validated"
|
||||
msgstr "Mandat potrjen"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:147
|
||||
#, python-format
|
||||
msgid "Mandate should be in cancel state"
|
||||
msgstr "Mandat bi moral biti v preklicanem stanju"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:135
|
||||
#, python-format
|
||||
msgid "Mandate should be in draft or valid state"
|
||||
msgstr "Mandat bi moral biti v stanjih osnutek ali potrjeno"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:126
|
||||
#, python-format
|
||||
msgid "Mandate should be in draft state"
|
||||
msgstr "Mandat bi moral biti v stanju osnutek"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr "Sporočila"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,message_ids:0
|
||||
msgid "Messages and communication history"
|
||||
msgstr "Sporočila in kronologija komunikacij"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: help:account.banking.mandate,state:0
|
||||
msgid ""
|
||||
"Only valid mandates can be used in a payment line. A cancelled mandate is a "
|
||||
"mandate that has been cancelled by the customer."
|
||||
msgstr "V postavki plačila se lahko uporabijo le veljavni mandati. Preklican mandat je mandat, ki ga je kupec preklical."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "Partner"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.model,name:account_banking_mandate.model_payment_line
|
||||
msgid "Payment Line"
|
||||
msgstr "Plačilna postavka"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Reference"
|
||||
msgstr "Sklic"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Reference or Partner"
|
||||
msgstr "Sklic ali partner"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
#: field:account.banking.mandate,payment_line_ids:0
|
||||
msgid "Related Payment Lines"
|
||||
msgstr "Povezane plačilne postavke"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: model:ir.ui.menu,name:account_banking_mandate.mandate_menu
|
||||
msgid "SEPA Direct Debit Mandates"
|
||||
msgstr "SEPA mandat za direktno obremenitev"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,scan:0
|
||||
msgid "Scan of the Mandate"
|
||||
msgstr "Sken mandata"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Search Banking Mandates"
|
||||
msgstr "Iskanje bančnih mandatov"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: selection:account.banking.mandate,format:0
|
||||
msgid "Sepa Mandate"
|
||||
msgstr "SEPA mandat"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_tree
|
||||
msgid "Signature Date"
|
||||
msgstr "Datum podpisa"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,state:0
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_summary:0
|
||||
msgid "Summary"
|
||||
msgstr "Povzetek"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:83
|
||||
#, python-format
|
||||
msgid "The date of signature of mandate '%s' is in the future !"
|
||||
msgstr "Datum podpisa mandata '%s' je v prihodnosti!"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/account_banking_mandate.py:89
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The mandate '%s' can't have a date of last debit before the date of "
|
||||
"signature."
|
||||
msgstr "Mandat '%s' ne sme imeti datuma zadnje obremenitve pred datumom podpisa."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: code:addons/account_banking_mandate/models/payment_line.py:51
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The payment line with reference '%s' has the bank account '%s' which is not "
|
||||
"attached to the mandate '%s' (this mandate is attached to the bank account "
|
||||
"'%s')."
|
||||
msgstr "Plačilna postavka s sklicem '%s' vsebuje bančni račun '%s', ki ni pripet mandatu '%s' (ta mandat je pripet bančnemu računu '%s')."
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,unique_mandate_reference:0
|
||||
msgid "Unique Mandate Reference"
|
||||
msgstr "Unikatni sklic mandata"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: field:account.banking.mandate,message_unread:0
|
||||
msgid "Unread Messages"
|
||||
msgstr "Neprebrana sporočila"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_search
|
||||
msgid "Valid"
|
||||
msgstr "Veljaven"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid "Validate"
|
||||
msgstr "Potrdi"
|
||||
|
||||
#. module: account_banking_mandate
|
||||
#: view:account.banking.mandate:account_banking_mandate.view_mandate_form
|
||||
msgid ""
|
||||
"You should set a mandate back to draft only if you cancelled it by mistake. "
|
||||
"Do you want to continue?"
|
||||
msgstr "Mandat ponastavite v osnutek le, če ste ga pomotoma preklicali. Želite nadaljevati?"
|
||||
@@ -1,26 +1,10 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Mandate module for openERP
|
||||
# Copyright (C) 2014 Compassion CH (http://www.compassion.ch)
|
||||
# @author: Cyril Sester <csester@compassion.ch>,
|
||||
# Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from . import account_banking_mandate
|
||||
from . import account_invoice
|
||||
from . import res_partner_bank
|
||||
from . import payment_line
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import account_banking_mandate
|
||||
from . import account_payment_method
|
||||
from . import account_invoice
|
||||
from . import res_partner_bank
|
||||
from . import res_partner
|
||||
from . import account_payment_line
|
||||
from . import bank_payment_line
|
||||
from . import account_move_line
|
||||
|
||||
@@ -1,154 +1,134 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Mandate module for openERP
|
||||
# Copyright (C) 2014 Compassion CH (http://www.compassion.ch)
|
||||
# @author: Cyril Sester <csester@compassion.ch>,
|
||||
# Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, fields, exceptions, api, _
|
||||
|
||||
|
||||
class AccountBankingMandate(models.Model):
|
||||
''' The banking mandate is attached to a bank account and represents an
|
||||
authorization that the bank account owner gives to a company for a
|
||||
specific operation (such as direct debit)
|
||||
'''
|
||||
_name = 'account.banking.mandate'
|
||||
_description = "A generic banking mandate"
|
||||
_rec_name = 'unique_mandate_reference'
|
||||
_inherit = ['mail.thread']
|
||||
_order = 'signature_date desc'
|
||||
_track = {
|
||||
'state': {
|
||||
'account_banking_mandate.mandate_valid': (
|
||||
lambda self, cr, uid, obj, ctx=None: obj['state'] == 'valid'),
|
||||
'account_banking_mandate.mandate_expired': (
|
||||
lambda self, cr, uid, obj, ctx=None:
|
||||
obj['state'] == 'expired'),
|
||||
'account_banking_mandate.mandate_cancel': (
|
||||
lambda self, cr, uid, obj, ctx=None: obj['state'] == 'cancel'),
|
||||
},
|
||||
}
|
||||
|
||||
def _get_states(self):
|
||||
return [('draft', 'Draft'),
|
||||
('valid', 'Valid'),
|
||||
('expired', 'Expired'),
|
||||
('cancel', 'Cancelled')]
|
||||
|
||||
partner_bank_id = fields.Many2one(
|
||||
comodel_name='res.partner.bank', string='Bank Account',
|
||||
track_visibility='onchange')
|
||||
partner_id = fields.Many2one(
|
||||
comodel_name='res.partner', related='partner_bank_id.partner_id',
|
||||
string='Partner', store=True)
|
||||
company_id = fields.Many2one(
|
||||
comodel_name='res.company', string='Company', required=True,
|
||||
default=lambda self: self.env['res.company']._company_default_get(
|
||||
'account.banking.mandate'))
|
||||
unique_mandate_reference = fields.Char(
|
||||
string='Unique Mandate Reference', track_visibility='always',
|
||||
default='/')
|
||||
signature_date = fields.Date(string='Date of Signature of the Mandate',
|
||||
track_visibility='onchange')
|
||||
scan = fields.Binary(string='Scan of the Mandate')
|
||||
last_debit_date = fields.Date(string='Date of the Last Debit',
|
||||
readonly=True)
|
||||
state = fields.Selection(
|
||||
_get_states, string='Status', default='draft',
|
||||
help="Only valid mandates can be used in a payment line. A cancelled "
|
||||
"mandate is a mandate that has been cancelled by the customer.")
|
||||
payment_line_ids = fields.One2many(
|
||||
comodel_name='payment.line', inverse_name='mandate_id',
|
||||
string="Related Payment Lines")
|
||||
|
||||
_sql_constraints = [(
|
||||
'mandate_ref_company_uniq',
|
||||
'unique(unique_mandate_reference, company_id)',
|
||||
'A Mandate with the same reference already exists for this company !')]
|
||||
|
||||
@api.one
|
||||
@api.constrains('signature_date', 'last_debit_date')
|
||||
def _check_dates(self):
|
||||
if (self.signature_date and
|
||||
self.signature_date > fields.Date.context_today(self)):
|
||||
raise exceptions.Warning(
|
||||
_("The date of signature of mandate '%s' is in the future !")
|
||||
% self.unique_mandate_reference)
|
||||
if (self.signature_date and self.last_debit_date and
|
||||
self.signature_date > self.last_debit_date):
|
||||
raise exceptions.Warning(
|
||||
_("The mandate '%s' can't have a date of last debit before "
|
||||
"the date of signature.") % self.unique_mandate_reference)
|
||||
|
||||
@api.one
|
||||
@api.constrains('state', 'partner_bank_id')
|
||||
def _check_valid_state(self):
|
||||
if self.state == 'valid':
|
||||
if not self.signature_date:
|
||||
raise exceptions.Warning(
|
||||
_("Cannot validate the mandate '%s' without a date of "
|
||||
"signature.") % self.unique_mandate_reference)
|
||||
if not self.partner_bank_id:
|
||||
raise exceptions.Warning(
|
||||
_("Cannot validate the mandate '%s' because it is not "
|
||||
"attached to a bank account.") %
|
||||
self.unique_mandate_reference)
|
||||
|
||||
@api.model
|
||||
def create(self, vals=None):
|
||||
if vals.get('unique_mandate_reference', '/') == '/':
|
||||
vals['unique_mandate_reference'] = \
|
||||
self.env['ir.sequence'].next_by_code('account.banking.mandate')
|
||||
return super(AccountBankingMandate, self).create(vals)
|
||||
|
||||
@api.one
|
||||
@api.onchange('partner_bank_id')
|
||||
def mandate_partner_bank_change(self):
|
||||
self.partner_id = self.partner_bank_id.partner_id
|
||||
|
||||
@api.multi
|
||||
def validate(self):
|
||||
for mandate in self:
|
||||
if mandate.state != 'draft':
|
||||
raise exceptions.Warning(
|
||||
_('Mandate should be in draft state'))
|
||||
self.write({'state': 'valid'})
|
||||
return True
|
||||
|
||||
@api.multi
|
||||
def cancel(self):
|
||||
for mandate in self:
|
||||
if mandate.state not in ('draft', 'valid'):
|
||||
raise exceptions.Warning(
|
||||
_('Mandate should be in draft or valid state'))
|
||||
self.write({'state': 'cancel'})
|
||||
return True
|
||||
|
||||
@api.multi
|
||||
def back2draft(self):
|
||||
"""Allows to set the mandate back to the draft state.
|
||||
This is for mandates cancelled by mistake.
|
||||
"""
|
||||
for mandate in self:
|
||||
if mandate.state != 'cancel':
|
||||
raise exceptions.Warning(
|
||||
_('Mandate should be in cancel state'))
|
||||
self.write({'state': 'draft'})
|
||||
return True
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2014 Compassion CH - Cyril Sester <csester@compassion.ch>
|
||||
# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
|
||||
# © 2015-2016 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields, api, _
|
||||
from openerp.exceptions import UserError, ValidationError
|
||||
|
||||
|
||||
class AccountBankingMandate(models.Model):
|
||||
"""The banking mandate is attached to a bank account and represents an
|
||||
authorization that the bank account owner gives to a company for a
|
||||
specific operation (such as direct debit)
|
||||
"""
|
||||
_name = 'account.banking.mandate'
|
||||
_description = "A generic banking mandate"
|
||||
_rec_name = 'unique_mandate_reference'
|
||||
_inherit = ['mail.thread']
|
||||
_order = 'signature_date desc'
|
||||
|
||||
format = fields.Selection(
|
||||
[('basic', 'Basic Mandate')], default='basic', required=True,
|
||||
string='Mandate Format', track_visibility='onchange')
|
||||
partner_bank_id = fields.Many2one(
|
||||
comodel_name='res.partner.bank', string='Bank Account',
|
||||
track_visibility='onchange')
|
||||
partner_id = fields.Many2one(
|
||||
comodel_name='res.partner', related='partner_bank_id.partner_id',
|
||||
string='Partner', store=True)
|
||||
company_id = fields.Many2one(
|
||||
comodel_name='res.company', string='Company', required=True,
|
||||
default=lambda self: self.env['res.company']._company_default_get(
|
||||
'account.banking.mandate'))
|
||||
unique_mandate_reference = fields.Char(
|
||||
string='Unique Mandate Reference', track_visibility='onchange')
|
||||
signature_date = fields.Date(string='Date of Signature of the Mandate',
|
||||
track_visibility='onchange')
|
||||
scan = fields.Binary(string='Scan of the Mandate')
|
||||
last_debit_date = fields.Date(string='Date of the Last Debit',
|
||||
readonly=True)
|
||||
state = fields.Selection([
|
||||
('draft', 'Draft'),
|
||||
('valid', 'Valid'),
|
||||
('expired', 'Expired'),
|
||||
('cancel', 'Cancelled'),
|
||||
], string='Status', default='draft', track_visibility='onchange',
|
||||
help="Only valid mandates can be used in a payment line. A cancelled "
|
||||
"mandate is a mandate that has been cancelled by the customer.")
|
||||
payment_line_ids = fields.One2many(
|
||||
comodel_name='account.payment.line', inverse_name='mandate_id',
|
||||
string="Related Payment Lines")
|
||||
|
||||
_sql_constraints = [(
|
||||
'mandate_ref_company_uniq',
|
||||
'unique(unique_mandate_reference, company_id)',
|
||||
'A Mandate with the same reference already exists for this company!')]
|
||||
|
||||
@api.multi
|
||||
@api.constrains('signature_date', 'last_debit_date')
|
||||
def _check_dates(self):
|
||||
for mandate in self:
|
||||
if (mandate.signature_date and
|
||||
mandate.signature_date > fields.Date.context_today(
|
||||
mandate)):
|
||||
raise ValidationError(
|
||||
_("The date of signature of mandate '%s' "
|
||||
"is in the future!")
|
||||
% mandate.unique_mandate_reference)
|
||||
if (mandate.signature_date and mandate.last_debit_date and
|
||||
mandate.signature_date > mandate.last_debit_date):
|
||||
raise ValidationError(
|
||||
_("The mandate '%s' can't have a date of last debit "
|
||||
"before the date of signature."
|
||||
) % mandate.unique_mandate_reference)
|
||||
|
||||
@api.multi
|
||||
@api.constrains('state', 'partner_bank_id')
|
||||
def _check_valid_state(self):
|
||||
for mandate in self:
|
||||
if mandate.state == 'valid':
|
||||
if not mandate.signature_date:
|
||||
raise ValidationError(
|
||||
_("Cannot validate the mandate '%s' without a date of "
|
||||
"signature.") % mandate.unique_mandate_reference)
|
||||
if not mandate.partner_bank_id:
|
||||
raise ValidationError(
|
||||
_("Cannot validate the mandate '%s' because it is not "
|
||||
"attached to a bank account.") %
|
||||
mandate.unique_mandate_reference)
|
||||
|
||||
@api.model
|
||||
def create(self, vals=None):
|
||||
if vals.get('unique_mandate_reference', 'New') == 'New':
|
||||
vals['unique_mandate_reference'] = \
|
||||
self.env['ir.sequence'].next_by_code(
|
||||
'account.banking.mandate') or 'New'
|
||||
return super(AccountBankingMandate, self).create(vals)
|
||||
|
||||
@api.multi
|
||||
@api.onchange('partner_bank_id')
|
||||
def mandate_partner_bank_change(self):
|
||||
for mandate in self:
|
||||
mandate.partner_id = mandate.partner_bank_id.partner_id
|
||||
|
||||
@api.multi
|
||||
def validate(self):
|
||||
for mandate in self:
|
||||
if mandate.state != 'draft':
|
||||
raise UserError(
|
||||
_('Mandate should be in draft state.'))
|
||||
self.write({'state': 'valid'})
|
||||
return True
|
||||
|
||||
@api.multi
|
||||
def cancel(self):
|
||||
for mandate in self:
|
||||
if mandate.state not in ('draft', 'valid'):
|
||||
raise UserError(
|
||||
_('Mandate should be in draft or valid state.'))
|
||||
self.write({'state': 'cancel'})
|
||||
return True
|
||||
|
||||
@api.multi
|
||||
def back2draft(self):
|
||||
"""Allows to set the mandate back to the draft state.
|
||||
This is for mandates cancelled by mistake.
|
||||
"""
|
||||
for mandate in self:
|
||||
if mandate.state != 'cancel':
|
||||
raise UserError(
|
||||
_('Mandate should be in cancel state.'))
|
||||
self.write({'state': 'draft'})
|
||||
return True
|
||||
|
||||
@@ -1,33 +1,75 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Mandate module for openERP
|
||||
# Copyright (C) 2014 Compassion CH (http://www.compassion.ch)
|
||||
# @author: Cyril Sester <csester@compassion.ch>,
|
||||
# Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, fields
|
||||
|
||||
|
||||
class AccountInvoice(models.Model):
|
||||
_inherit = 'account.invoice'
|
||||
|
||||
mandate_id = fields.Many2one(
|
||||
'account.banking.mandate', string='Direct Debit Mandate',
|
||||
domain=[('state', '=', 'valid')], readonly=True,
|
||||
states={'draft': [('readonly', False)]})
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2014 Compassion CH - Cyril Sester <csester@compassion.ch>
|
||||
# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
|
||||
# © 2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
|
||||
from openerp import models, fields, api
|
||||
|
||||
|
||||
class AccountInvoice(models.Model):
|
||||
_inherit = 'account.invoice'
|
||||
|
||||
mandate_id = fields.Many2one(
|
||||
'account.banking.mandate', string='Direct Debit Mandate',
|
||||
ondelete='restrict',
|
||||
readonly=True, states={'draft': [('readonly', False)]})
|
||||
mandate_required = fields.Boolean(
|
||||
related='payment_mode_id.payment_method_id.mandate_required',
|
||||
readonly=True)
|
||||
|
||||
@api.model
|
||||
def line_get_convert(self, line, part):
|
||||
"""Copy mandate from invoice to account move line"""
|
||||
res = super(AccountInvoice, self).line_get_convert(line, part)
|
||||
if line.get('type') == 'dest' and line.get('invoice_id'):
|
||||
invoice = self.browse(line['invoice_id'])
|
||||
if invoice.type in ('out_invoice', 'out_refund'):
|
||||
res['mandate_id'] = invoice.mandate_id.id or False
|
||||
return res
|
||||
|
||||
# If a customer pays via direct debit, it's refunds should
|
||||
# be deducted form the next debit by default. The module
|
||||
# account_payment_partner copies payment_mode_id from invoice
|
||||
# to refund, and we also need to copy mandate from invoice to refund
|
||||
@api.model
|
||||
def _prepare_refund(
|
||||
self, invoice, date_invoice=None, date=None, description=None,
|
||||
journal_id=None):
|
||||
vals = super(AccountInvoice, self)._prepare_refund(
|
||||
invoice, date_invoice=date_invoice, date=date,
|
||||
description=description, journal_id=journal_id)
|
||||
if invoice.type == 'out_invoice':
|
||||
vals['mandate_id'] = invoice.mandate_id.id
|
||||
return vals
|
||||
|
||||
@api.onchange('partner_id', 'company_id')
|
||||
def _onchange_partner_id(self):
|
||||
"""Select by default the first valid mandate of the partner"""
|
||||
super(AccountInvoice, self)._onchange_partner_id()
|
||||
if (
|
||||
self.type == 'out_invoice' and
|
||||
self.partner_id.customer_payment_mode_id.
|
||||
payment_type == 'inbound' and
|
||||
self.partner_id.customer_payment_mode_id.payment_method_id.
|
||||
mandate_required and
|
||||
self.commercial_partner_id):
|
||||
mandates = self.env['account.banking.mandate'].search([
|
||||
('state', '=', 'valid'),
|
||||
('partner_id', '=', self.commercial_partner_id.id),
|
||||
])
|
||||
self.mandate_id = mandates[0]
|
||||
else:
|
||||
self.mandate_id = False
|
||||
|
||||
@api.onchange('payment_mode_id')
|
||||
def payment_mode_id_change(self):
|
||||
super(AccountInvoice, self).payment_mode_id_change()
|
||||
if (
|
||||
self.payment_mode_id and
|
||||
self.payment_mode_id.payment_type == 'inbound' and
|
||||
not self.payment_mode_id.payment_method_id.mandate_required):
|
||||
self.mandate_id = False
|
||||
elif not self.payment_mode_id:
|
||||
self.mandate_id = False
|
||||
|
||||
22
account_banking_mandate/models/account_move_line.py
Normal file
22
account_banking_mandate/models/account_move_line.py
Normal file
@@ -0,0 +1,22 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2016 Akretion (http://www.akretion.com/)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields, api
|
||||
|
||||
|
||||
class AccountMoveLine(models.Model):
|
||||
_inherit = 'account.move.line'
|
||||
|
||||
mandate_id = fields.Many2one(
|
||||
'account.banking.mandate', string='Direct Debit Mandate',
|
||||
ondelete='restrict')
|
||||
|
||||
@api.multi
|
||||
def _prepare_payment_line_vals(self, payment_order):
|
||||
vals = super(AccountMoveLine, self)._prepare_payment_line_vals(
|
||||
payment_order)
|
||||
if payment_order.payment_type == 'inbound' and self.mandate_id:
|
||||
vals['mandate_id'] = self.mandate_id.id
|
||||
vals['partner_bank_id'] = self.mandate_id.partner_bank_id.id
|
||||
return vals
|
||||
42
account_banking_mandate/models/account_payment_line.py
Normal file
42
account_banking_mandate/models/account_payment_line.py
Normal file
@@ -0,0 +1,42 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2014 Compassion CH - Cyril Sester <csester@compassion.ch>
|
||||
# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
|
||||
# © 2015-2016 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields, api, _
|
||||
from openerp.exceptions import ValidationError, UserError
|
||||
|
||||
|
||||
class AccountPaymentLine(models.Model):
|
||||
_inherit = 'account.payment.line'
|
||||
|
||||
mandate_id = fields.Many2one(
|
||||
comodel_name='account.banking.mandate', string='Direct Debit Mandate',
|
||||
domain=[('state', '=', 'valid')])
|
||||
mandate_required = fields.Boolean(
|
||||
related='order_id.payment_method_id.mandate_required', readonly=True)
|
||||
|
||||
@api.multi
|
||||
@api.constrains('mandate_id', 'partner_bank_id')
|
||||
def _check_mandate_bank_link(self):
|
||||
for pline in self:
|
||||
if (pline.mandate_id and pline.partner_bank_id and
|
||||
pline.mandate_id.partner_bank_id !=
|
||||
pline.partner_bank_id):
|
||||
raise ValidationError(_(
|
||||
"The payment line number %s has the bank account "
|
||||
"'%s' which is not attached to the mandate '%s' (this "
|
||||
"mandate is attached to the bank account '%s').") %
|
||||
(pline.name,
|
||||
pline.partner_bank_id.acc_number,
|
||||
pline.mandate_id.unique_mandate_reference,
|
||||
pline.mandate_id.partner_bank_id.acc_number))
|
||||
|
||||
@api.multi
|
||||
def draft2open_payment_line_check(self):
|
||||
res = super(AccountPaymentLine, self).draft2open_payment_line_check()
|
||||
if self.mandate_required and not self.mandate_id:
|
||||
raise UserError(_(
|
||||
'Missing Mandate on payment line %s') % self.name)
|
||||
return res
|
||||
14
account_banking_mandate/models/account_payment_method.py
Normal file
14
account_banking_mandate/models/account_payment_method.py
Normal file
@@ -0,0 +1,14 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields
|
||||
|
||||
|
||||
class AccountPaymentMethod(models.Model):
|
||||
_inherit = "account.payment.method"
|
||||
|
||||
mandate_required = fields.Boolean(
|
||||
string='Mandate Required',
|
||||
help="Activate this option if this payment method requires your "
|
||||
"customer to sign a direct debit mandate with your company.")
|
||||
22
account_banking_mandate/models/bank_payment_line.py
Normal file
22
account_banking_mandate/models/bank_payment_line.py
Normal file
@@ -0,0 +1,22 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2014 Compassion CH - Cyril Sester <csester@compassion.ch>
|
||||
# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
|
||||
# © 2015-2016 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields, api
|
||||
|
||||
|
||||
class BankPaymentLine(models.Model):
|
||||
_inherit = 'bank.payment.line'
|
||||
|
||||
mandate_id = fields.Many2one(
|
||||
comodel_name='account.banking.mandate', string='Direct Debit Mandate',
|
||||
related='payment_line_ids.mandate_id')
|
||||
|
||||
@api.model
|
||||
def same_fields_payment_line_and_bank_payment_line(self):
|
||||
res = super(BankPaymentLine, self).\
|
||||
same_fields_payment_line_and_bank_payment_line()
|
||||
res.append('mandate_id')
|
||||
return res
|
||||
@@ -1,76 +0,0 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Mandate module for openERP
|
||||
# Copyright (C) 2014 Compassion CH (http://www.compassion.ch)
|
||||
# @author: Cyril Sester <csester@compassion.ch>,
|
||||
# Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, fields, api, exceptions, _
|
||||
|
||||
|
||||
class PaymentLine(models.Model):
|
||||
_inherit = 'payment.line'
|
||||
|
||||
mandate_id = fields.Many2one(
|
||||
comodel_name='account.banking.mandate', string='Direct Debit Mandate',
|
||||
domain=[('state', '=', 'valid')])
|
||||
|
||||
@api.model
|
||||
def create(self, vals=None):
|
||||
"""If the customer invoice has a mandate, take it
|
||||
otherwise, take the first valid mandate of the bank account
|
||||
"""
|
||||
if vals is None:
|
||||
vals = {}
|
||||
partner_bank_id = vals.get('bank_id')
|
||||
move_line_id = vals.get('move_line_id')
|
||||
if (self.env.context.get('search_payment_order_type') == 'debit' and
|
||||
'mandate_id' not in vals):
|
||||
if move_line_id:
|
||||
line = self.env['account.move.line'].browse(move_line_id)
|
||||
if (line.invoice and line.invoice.type == 'out_invoice' and
|
||||
line.invoice.mandate_id):
|
||||
vals.update({
|
||||
'mandate_id': line.invoice.mandate_id.id,
|
||||
'bank_id': line.invoice.mandate_id.partner_bank_id.id,
|
||||
})
|
||||
if partner_bank_id and 'mandate_id' not in vals:
|
||||
mandates = self.env['account.banking.mandate'].search(
|
||||
[('partner_bank_id', '=', partner_bank_id),
|
||||
('state', '=', 'valid')])
|
||||
if mandates:
|
||||
vals['mandate_id'] = mandates[0].id
|
||||
return super(PaymentLine, self).create(vals)
|
||||
|
||||
@api.one
|
||||
@api.constrains('mandate_id', 'bank_id')
|
||||
def _check_mandate_bank_link(self):
|
||||
if (self.mandate_id and self.bank_id and
|
||||
self.mandate_id.partner_bank_id.id !=
|
||||
self.bank_id.id):
|
||||
raise exceptions.Warning(
|
||||
_("The payment line with reference '%s' has the bank account "
|
||||
"'%s' which is not attached to the mandate '%s' (this "
|
||||
"mandate is attached to the bank account '%s').") %
|
||||
(self.name,
|
||||
self.env['res.partner.bank'].name_get(
|
||||
[self.bank_id.id])[0][1],
|
||||
self.mandate_id.unique_mandate_reference,
|
||||
self.env['res.partner.bank'].name_get(
|
||||
[self.mandate_id.partner_bank_id.id])[0][1]))
|
||||
23
account_banking_mandate/models/res_partner.py
Normal file
23
account_banking_mandate/models/res_partner.py
Normal file
@@ -0,0 +1,23 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields, api
|
||||
|
||||
|
||||
class ResPartner(models.Model):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
mandate_count = fields.Integer(
|
||||
compute='_compute_mandate_count', string="Number of Mandates",
|
||||
readonly=True)
|
||||
|
||||
@api.multi
|
||||
def _compute_mandate_count(self):
|
||||
mandate_data = self.env['account.banking.mandate'].read_group(
|
||||
[('partner_id', 'in', self.ids)], ['partner_id'], ['partner_id'])
|
||||
mapped_data = dict([
|
||||
(mandate['partner_id'][0], mandate['partner_id_count'])
|
||||
for mandate in mandate_data])
|
||||
for partner in self:
|
||||
partner.mandate_count = mapped_data.get(partner.id, 0)
|
||||
@@ -1,34 +1,16 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Mandate module for openERP
|
||||
# Copyright (C) 2014 Compassion CH (http://www.compassion.ch)
|
||||
# @author: Cyril Sester <csester@compassion.ch>,
|
||||
# Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, fields
|
||||
|
||||
|
||||
class ResPartnerBank(models.Model):
|
||||
_inherit = 'res.partner.bank'
|
||||
|
||||
mandate_ids = fields.One2many(
|
||||
comodel_name='account.banking.mandate', inverse_name='partner_bank_id',
|
||||
string='Direct Debit Mandates',
|
||||
help='Banking mandates represents an authorization that the bank '
|
||||
'account owner gives to a company for a specific operation')
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2014 Compassion CH - Cyril Sester <csester@compassion.ch>
|
||||
# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields
|
||||
|
||||
|
||||
class ResPartnerBank(models.Model):
|
||||
_inherit = 'res.partner.bank'
|
||||
|
||||
mandate_ids = fields.One2many(
|
||||
comodel_name='account.banking.mandate', inverse_name='partner_bank_id',
|
||||
string='Direct Debit Mandates',
|
||||
help='Banking mandates represent an authorization that the bank '
|
||||
'account owner gives to a company for a specific operation.')
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- QWeb Report -->
|
||||
<report
|
||||
id="report_account_banking_mandate"
|
||||
model="account.banking.mandate"
|
||||
string="Mandate"
|
||||
report_type="qweb-pdf"
|
||||
name="account_banking_mandate.account_banking_mandate"
|
||||
file="account_banking_mandate.account_banking_mandate"
|
||||
/>
|
||||
|
||||
<record id="report_account_banking_mandate" model="ir.actions.report.xml">
|
||||
<field name="paperformat_id" ref="account_banking_mandate.paperformat_euro_sepa_lowmargin"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,146 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<template id="account_banking_mandate_document">
|
||||
<div class="page">
|
||||
<div class="row mt0 mb16">
|
||||
<div class="col-xs-3">
|
||||
<img t-if="o.company_id.logo" t-att-src="'data:image/png;base64,%s' % o.company_id.logo" style="max-height: 45px;"/>
|
||||
</div>
|
||||
<div class="col-xs-9 text-right">
|
||||
<h4 t-if="o.scheme != 'B2B'"><strong>SEPA DIRECT DEBIT MANDATE</strong></h4>
|
||||
<h4 t-if="o.scheme == 'B2B'"><strong>SEPA BUSINESS-TO-BUSINESS DIRECT DEBIT MANDATE</strong></h4>
|
||||
<h5>Reference: <span t-field="o.unique_mandate_reference"/></h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt8">
|
||||
<div class="col-xs-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
Service Provider / Creditor:
|
||||
</div>
|
||||
<div class="panel-body mb8">
|
||||
<strong t-field="o.company_id.partner_id and o.company_id.partner_id.name"/><br/>
|
||||
<span t-if="o.company_id.partner_id.vat">VAT: <span t-field="o.company_id.partner_id.vat"/></span>
|
||||
<span t-field="o.company_id.partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address"], "no_marker": true}' />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
Policyholder Service / Debtor:
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<strong t-field="o.partner_id and o.partner_id.name"/>
|
||||
<span t-field="o.partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address"], "no_marker": true}' />
|
||||
<span t-if="o.partner_id.vat">VAT: <span t-field="o.partner_id.vat"/></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt0">
|
||||
<div class="col-xs-12">
|
||||
Bank name: <span t-field="o.partner_bank_id.bank_name"/> / BIC: <span t-field="o.partner_bank_id.bank_bic"/><br/>
|
||||
IBAN: <span t-field="o.partner_bank_id.acc_number"/><br/>
|
||||
Payment type: <span t-field="o.type"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt8">
|
||||
<div class="col-xs-12">
|
||||
By signing this mandate form, you authorise (A) <span t-field="o.company_id.name"/> to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with the instructions from <span t-field="o.company_id.name"/>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt8">
|
||||
<div class="col-xs-12 mb32">
|
||||
<span class="mt0" t-if="o.scheme == 'B2B'">
|
||||
This mandate is only intended for business-to-business transactions. You are not entitled to a refund from your bank after your account has been debited, but you are entitled to request your bank not to debit your account up until the day on which the payment is due.
|
||||
Please complete all the fields marked *.
|
||||
</span>
|
||||
<span class="mt0" t-if="o.scheme != 'B2B'">
|
||||
As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank.
|
||||
A refund must be claimed within 8 weeks starting from the date on which your account was debited.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt16">
|
||||
<div class="col-xs-12">
|
||||
Location and sign: _______________________, at ______ from ____________ from <span t-esc="context_timestamp(datetime.datetime.now()).strftime('%Y')"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt32">
|
||||
<div class="col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
Details regarding the underlying relationship between the Creditor and the Debtor - for information purposes only.
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-3">Debtor identification code:</div>
|
||||
<div class="col-xs-9">
|
||||
<hr class="mb0" style="border-top: 1px solid #000;"/>
|
||||
<h6 class="mt0" t-if="o.scheme != 'B2B'">Write any code number here which you wish to have quoted by your bank.</h6>
|
||||
<h6 class="mt0" t-if="o.scheme == 'B2B'">For business users: write any code number here which you wish to have quoted by your bank.</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-3">Person on whose behalf payment is made:</div>
|
||||
<div class="col-xs-9">
|
||||
<hr class="mb0" style="border-top: 1px solid #000;"/>
|
||||
<h6 class="mt0">Name of the Debtor Reference Party: If you are making a payment in respect of an arrangement between
|
||||
<span t-field="o.company_id.name"></span> and another person (e.g. where you are paying the other person's bill) please write the other person's name here.</h6>
|
||||
<h6 class="mt0">
|
||||
If you are paying on your own behalf, leave blank.
|
||||
</h6>
|
||||
<hr class="mb0" style="border-top: 1px solid #000;"/>
|
||||
<h6 class="mt0">
|
||||
Identification code of the Debtor Reference Party.
|
||||
</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-3">Party on whose behalf the creditor collects the payment:</div>
|
||||
<div class="col-xs-9">
|
||||
<hr class="mb0" style="border-top: 1px solid #000;"/>
|
||||
<h6 class="mt0">
|
||||
Name of the Creditor Reference Party: Creditor must complete this section if collecting payment on behalf of another party.
|
||||
</h6>
|
||||
<hr class="mb0" style="border-top: 1px solid #000;"/>
|
||||
<h6 class="mt0">
|
||||
Identification code of the Creditor Reference Party.
|
||||
</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-3">In respect of the contract:</div>
|
||||
<div class="col-xs-9">
|
||||
<hr class="mb0" style="border-top: 1px solid #000;"/>
|
||||
<h6 class="mt0">
|
||||
Identification number of the underlying contract.
|
||||
</h6>
|
||||
<hr class="mb0" style="border-top: 1px solid #000;"/>
|
||||
<h6 class="mt0">
|
||||
Description of contract.
|
||||
</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="account_banking_mandate">
|
||||
<t t-call="report.html_container">
|
||||
<t t-foreach="doc_ids" t-as="doc_id">
|
||||
<t t-raw="translate_doc(doc_id, doc_model, 'partner_id.lang', 'account_banking_mandate.account_banking_mandate_document')"/>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,3 +1,3 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_account_banking_mandate","Full access on account.banking.mandate","model_account_banking_mandate","account_payment.group_account_payment",1,1,1,1
|
||||
"access_account_banking_mandate_read","Read access on account.banking.mandate","model_account_banking_mandate","base.group_user",1,0,0,0
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_account_banking_mandate,Full access on account.banking.mandate,model_account_banking_mandate,account_payment_order.group_account_payment,1,1,1,1
|
||||
access_account_banking_mandate_read,Read access on account.banking.mandate,model_account_banking_mandate,base.group_user,1,0,0,0
|
||||
|
||||
|
@@ -13,6 +13,10 @@
|
||||
<field name="name">Banking Mandate multi-company</field>
|
||||
<field name="model_id" ref="model_account_banking_mandate"/>
|
||||
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', 'child_of', [user.company_id.id])]</field>
|
||||
<field name="perm_read" eval="True"/>
|
||||
<field name="perm_write" eval="False"/>
|
||||
<field name="perm_unlink" eval="True"/>
|
||||
<field name="perm_create" eval="True"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
I create a partner bank account
|
||||
-
|
||||
!record {model: res.partner.bank, id: mandate_partner_bank, view: False}:
|
||||
state: 'bank'
|
||||
acc_number: '1234'
|
||||
partner_id: mandate_partner
|
||||
-
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<field name="name">view.mandate.form</field>
|
||||
<field name="model">account.banking.mandate</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Banking Mandate" version="7.0">
|
||||
<form string="Banking Mandate">
|
||||
<header>
|
||||
<button name="validate" type="object" string="Validate" states="draft" class="oe_highlight"/>
|
||||
<button name="cancel" type="object" string="Cancel" states="draft,valid"/>
|
||||
@@ -31,9 +31,9 @@
|
||||
</div>
|
||||
<group name="main">
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="format" string="Format"/>
|
||||
<field name="partner_bank_id"
|
||||
invisible="context.get('mandate_bank_partner_view')"
|
||||
domain="[('partner_id', '=', partner_id)]" />
|
||||
invisible="context.get('mandate_bank_partner_view')" />
|
||||
<field name="partner_id"
|
||||
invisible="context.get('mandate_bank_partner_view')"
|
||||
readonly="True"/>
|
||||
@@ -60,6 +60,7 @@
|
||||
<tree string="Banking Mandate" colors="blue:state=='draft';black:state in ('expired', 'cancel')">
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="partner_id" invisible="context.get('mandate_bank_partner_view')"/>
|
||||
<field name="format" string="Format"/>
|
||||
<field name="unique_mandate_reference" string="Reference"/>
|
||||
<field name="signature_date" string="Signature Date"/>
|
||||
<field name="last_debit_date"/>
|
||||
@@ -80,6 +81,7 @@
|
||||
<filter name="cancel" string="Cancelled" domain="[('state', '=', 'cancel')]" />
|
||||
<filter name="expired" string="Expired" domain="[('state', '=', 'expired')]" />
|
||||
<group string="Group By" name="groupby">
|
||||
<filter name="state_groupby" string="State" context="{'group_by': 'state'}"/>
|
||||
<filter name="signature_date_groupby" string="Signature Date" context="{'group_by': 'signature_date'}"/>
|
||||
</group>
|
||||
</search>
|
||||
@@ -100,33 +102,11 @@
|
||||
</record>
|
||||
|
||||
<menuitem id="mandate_menu"
|
||||
parent="account_payment.menu_main_payment"
|
||||
parent="account_payment_order.payment_root"
|
||||
action="mandate_action"
|
||||
sequence="20"
|
||||
sequence="30"
|
||||
/>
|
||||
|
||||
<!-- notifications in the chatter -->
|
||||
<record id="mandate_valid" model="mail.message.subtype">
|
||||
<field name="name">Mandate Validated</field>
|
||||
<field name="res_model">account.banking.mandate</field>
|
||||
<field name="default" eval="False"/>
|
||||
<field name="description">Banking Mandate Validated</field>
|
||||
</record>
|
||||
|
||||
<record id="mandate_expired" model="mail.message.subtype">
|
||||
<field name="name">Mandate Expired</field>
|
||||
<field name="res_model">account.banking.mandate</field>
|
||||
<field name="default" eval="False"/>
|
||||
<field name="description">Banking Mandate has Expired</field>
|
||||
</record>
|
||||
|
||||
<record id="mandate_cancel" model="mail.message.subtype">
|
||||
<field name="name">Mandate Cancelled</field>
|
||||
<field name="res_model">account.banking.mandate</field>
|
||||
<field name="default" eval="False"/>
|
||||
<field name="description">Banking Mandate Cancelled</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2013 Akretion (http://www.akretion.com)
|
||||
Copyright (C) 2013-2016 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
@@ -10,10 +10,13 @@
|
||||
<record id="invoice_form" model="ir.ui.view">
|
||||
<field name="name">add.mandate.on.customer.invoice.form</field>
|
||||
<field name="model">account.invoice</field>
|
||||
<field name="inherit_id" ref="account.invoice_form"/>
|
||||
<field name="inherit_id" ref="account_payment_partner.invoice_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_bank_id" position="after">
|
||||
<field name="mandate_id" domain="[('partner_id', '=', partner_id), ('state', '=', 'valid')]" attrs="{'invisible': [('type', '=', 'out_refund')]}"/>
|
||||
<field name="payment_mode_id" position="after">
|
||||
<field name="mandate_id"
|
||||
domain="[('partner_id', '=', commercial_partner_id), ('state', '=', 'valid')]"
|
||||
attrs="{'required': [('mandate_required', '=', True)], 'invisible': [('mandate_required', '=', False)]}"/>
|
||||
<field name="mandate_required" invisible="1"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
26
account_banking_mandate/views/account_move_line.xml
Normal file
26
account_banking_mandate/views/account_move_line.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2016 Akretion (http://www.akretion.com/)
|
||||
@author Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
|
||||
<record id="view_move_line_form" model="ir.ui.view">
|
||||
<field name="name">account_banking_mandate.move_line_form</field>
|
||||
<field name="model">account.move.line</field>
|
||||
<field name="inherit_id" ref="account_payment_order.view_move_line_form" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_bank_id" position="after">
|
||||
<field name="mandate_id"
|
||||
domain="[('partner_id', '=', partner_id), ('state', '=', 'valid')]"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
37
account_banking_mandate/views/account_payment_line.xml
Normal file
37
account_banking_mandate/views/account_payment_line.xml
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
© 2013-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
-->
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="account_payment_line_form" model="ir.ui.view">
|
||||
<field name="name">account_banking_mandate.account.payment.line.form</field>
|
||||
<field name="model">account.payment.line</field>
|
||||
<field name="inherit_id" ref="account_payment_order.account_payment_line_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_bank_id" position="after">
|
||||
<field name="mandate_required" invisible="1"/>
|
||||
<field name="mandate_id"
|
||||
domain="[('partner_bank_id', '=', partner_bank_id), ('state', '=', 'valid')]"
|
||||
attrs="{'invisible': [('mandate_required', '=', False)], 'required': [('mandate_required', '=', True)]}"
|
||||
context="{'default_partner_bank_id': partner_bank_id}"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="account_payment_line_tree" model="ir.ui.view">
|
||||
<field name="name">account_banking_mandate.account.payment.line.tree</field>
|
||||
<field name="model">account.payment.line</field>
|
||||
<field name="inherit_id" ref="account_payment_order.account_payment_line_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_bank_id" position="after">
|
||||
<field name="mandate_id"
|
||||
invisible="context.get('default_payment_type') != 'inbound'"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
20
account_banking_mandate/views/account_payment_method.xml
Normal file
20
account_banking_mandate/views/account_payment_method.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
|
||||
<record id="account_payment_method_form" model="ir.ui.view">
|
||||
<field name="name">account_banking_mandate.account.payment.method.form</field>
|
||||
<field name="model">account.payment.method</field>
|
||||
<field name="inherit_id" ref="account_payment_mode.account_payment_method_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="bank_account_required" position="after">
|
||||
<field name="mandate_required"
|
||||
attrs="{'invisible': [('payment_type', '!=', 'inbound')]}"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2013 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_mandate_payment_order_form" model="ir.ui.view">
|
||||
<field name="name">mandate.payment.order.form</field>
|
||||
<field name="model">payment.order</field>
|
||||
<field name="inherit_id" ref="account_payment.view_payment_order_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='line_ids']/form/notebook/page/group/field[@name='bank_id']" position="after">
|
||||
<field name="mandate_id" domain="[('partner_bank_id', '=', bank_id), ('state', '=', 'valid')]" invisible="context.get('search_payment_order_type')!='debit'" context="{'default_partner_bank_id': bank_id}"/>
|
||||
<newline />
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='line_ids']/tree/field[@name='bank_id']" position="after">
|
||||
<field name="mandate_id" string="DD Mandate" invisible="context.get('search_payment_order_type')!='debit'"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
36
account_banking_mandate/views/bank_payment_line_view.xml
Normal file
36
account_banking_mandate/views/bank_payment_line_view.xml
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2015-2016 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="bank_payment_line_form" model="ir.ui.view">
|
||||
<field name="name">banking.mandate.bank.payment.line.form</field>
|
||||
<field name="model">bank.payment.line</field>
|
||||
<field name="inherit_id" ref="account_payment_order.bank_payment_line_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_bank_id" position="after">
|
||||
<field name="mandate_id"
|
||||
invisible="context.get('default_payment_type')!='inbound'"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="bank_payment_line_tree" model="ir.ui.view">
|
||||
<field name="name">banking.mandate.bank.payment.line.tree</field>
|
||||
<field name="model">bank.payment.line</field>
|
||||
<field name="inherit_id" ref="account_payment_order.bank_payment_line_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_bank_id" position="after">
|
||||
<field name="mandate_id" string="Mandate"
|
||||
invisible="context.get('default_payment_type')!='inbound'"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
26
account_banking_mandate/views/res_partner.xml
Normal file
26
account_banking_mandate/views/res_partner.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2016 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="partner_view_buttons" model="ir.ui.view">
|
||||
<field name="name">mandate.res.partner.form</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="account.partner_view_buttons"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//button[@name='%(base.action_res_partner_bank_account_form)d']" position="after">
|
||||
<button type="action" class="btn-link"
|
||||
name="%(account_banking_mandate.mandate_action)d"
|
||||
context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}">
|
||||
<field string="Mandate(s)" name="mandate_count" widget="statinfo"/>
|
||||
</button>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2013 Akretion (http://www.akretion.com)
|
||||
Copyright (C) 2013-2016 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
@@ -12,8 +12,8 @@
|
||||
<field name="model">res.partner.bank</field>
|
||||
<field name="inherit_id" ref="base.view_partner_bank_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<group name="bank" position="after">
|
||||
<group name="mandates" string="Direct Debit Mandates" colspan="4">
|
||||
<group col="4" position="after">
|
||||
<group name="mandates" string="Direct Debit Mandates">
|
||||
<field name="mandate_ids" context="{'default_partner_bank_id': active_id, 'mandate_bank_partner_view': True}" nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
@@ -26,23 +26,10 @@
|
||||
<field name="inherit_id" ref="base.view_partner_bank_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_id" position="after">
|
||||
<field name="mandate_ids" string="DD Mandates"/>
|
||||
<field name="mandate_ids" string="Mandates"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- add number of mandates in this list of bank accounts
|
||||
on the partner form -->
|
||||
<record id="mandate_partner_form" model="ir.ui.view">
|
||||
<field name="name">mandate.partner.form</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="account.view_partner_property_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='bank_ids']/tree/field[@name='owner_name']" position="after">
|
||||
<field name="mandate_ids" string="DD Mandates"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
66
account_banking_mandate_sale/README.rst
Normal file
66
account_banking_mandate_sale/README.rst
Normal file
@@ -0,0 +1,66 @@
|
||||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
|
||||
:alt: License: AGPL-3
|
||||
|
||||
============================
|
||||
Account Banking Mandate Sale
|
||||
============================
|
||||
|
||||
This modules adds the field *Direct Debit Mandate* on sale orders.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
There is nothing to configure.
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
When you select a payment mode that requires mandate on a sale order, Odoo will
|
||||
select by default the first valid mandate of this customer.
|
||||
|
||||
The mandate will be copied from the sale order to the invoice.
|
||||
|
||||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
|
||||
:alt: Try me on Runbot
|
||||
:target: https://runbot.odoo-community.org/runbot/173/9.0
|
||||
|
||||
Known issues / Roadmap
|
||||
======================
|
||||
|
||||
* No known issues.
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues
|
||||
<https://github.com/OCA/bank-payment/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.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Images
|
||||
------
|
||||
|
||||
* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
.. image:: http://odoo-community.org/logo.png
|
||||
:alt: Odoo Community Association
|
||||
:target: http://odoo-community.org
|
||||
|
||||
This module is maintained by the OCA.
|
||||
|
||||
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.
|
||||
|
||||
To contribute to this module, please visit http://odoo-community.org.
|
||||
@@ -1,2 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import models
|
||||
from . import wizard
|
||||
22
account_banking_mandate_sale/__openerp__.py
Normal file
22
account_banking_mandate_sale/__openerp__.py
Normal file
@@ -0,0 +1,22 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
{
|
||||
'name': 'Account Banking Mandate Sale',
|
||||
'version': '9.0.1.0.0',
|
||||
'category': 'Banking addons',
|
||||
'license': 'AGPL-3',
|
||||
'summary': "Adds mandates on sale orders",
|
||||
'author': "Akretion, "
|
||||
"Odoo Community Association (OCA)",
|
||||
'website': 'https://github.com/OCA/bank-payment',
|
||||
'depends': [
|
||||
'account_payment_sale',
|
||||
'account_banking_mandate',
|
||||
],
|
||||
'data': [
|
||||
'views/sale_order.xml',
|
||||
],
|
||||
'installable': True,
|
||||
}
|
||||
3
account_banking_mandate_sale/models/__init__.py
Normal file
3
account_banking_mandate_sale/models/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import sale_order
|
||||
38
account_banking_mandate_sale/models/sale_order.py
Normal file
38
account_banking_mandate_sale/models/sale_order.py
Normal file
@@ -0,0 +1,38 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2014-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from openerp import models, fields, api
|
||||
|
||||
|
||||
class SaleOrder(models.Model):
|
||||
_inherit = "sale.order"
|
||||
|
||||
# This field commercial_partner_id should be moved
|
||||
# in an OCA base module named for example sale_commercial_partner
|
||||
commercial_partner_id = fields.Many2one(
|
||||
related='partner_id.commercial_partner_id', string='Commercial Entity',
|
||||
store=True, readonly=True)
|
||||
mandate_id = fields.Many2one(
|
||||
'account.banking.mandate', string='Direct Debit Mandate',
|
||||
ondelete='restrict', readonly=True,
|
||||
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]})
|
||||
|
||||
@api.multi
|
||||
def _prepare_invoice(self):
|
||||
"""Copy mandate from sale order to invoice"""
|
||||
vals = super(SaleOrder, self)._prepare_invoice()
|
||||
vals['mandate_id'] = self.mandate_id.id
|
||||
return vals
|
||||
|
||||
@api.onchange('payment_mode_id')
|
||||
def payment_mode_change(self):
|
||||
"""Select by default the first valid mandate of the partner"""
|
||||
if (
|
||||
self.payment_mode_id.payment_method_id.mandate_required and
|
||||
self.partner_id):
|
||||
mandates = self.env['account.banking.mandate'].search([
|
||||
('state', '=', 'valid'),
|
||||
('partner_id', '=', self.commercial_partner_id.id),
|
||||
])
|
||||
self.mandate_id = mandates[0]
|
||||
27
account_banking_mandate_sale/views/sale_order.xml
Normal file
27
account_banking_mandate_sale/views/sale_order.xml
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2016 Akretion (http://www.akretion.com/)
|
||||
@author Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
|
||||
<record id="view_order_form" model="ir.ui.view">
|
||||
<field name="name">account_banking_mandate_sale.sale_order.form</field>
|
||||
<field name="model">sale.order</field>
|
||||
<field name="inherit_id" ref="account_payment_sale.view_order_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="payment_mode_id" position="after">
|
||||
<field name="commercial_partner_id" invisible="1"/>
|
||||
<field name="mandate_id"
|
||||
domain="[('partner_id', '=', commercial_partner_id), ('state', 'in', ('draft', 'valid'))]"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
3
account_banking_mandate_sale/wizard/__init__.py
Normal file
3
account_banking_mandate_sale/wizard/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import sale_make_invoice_advance
|
||||
@@ -0,0 +1,18 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from openerp import models, api
|
||||
|
||||
|
||||
class SaleAdvancePaymentInv(models.TransientModel):
|
||||
_inherit = 'sale.advance.payment.inv'
|
||||
|
||||
@api.multi
|
||||
def _create_invoice(self, order, so_line, amount):
|
||||
"""Copy mandate from sale order to invoice"""
|
||||
inv = super(SaleAdvancePaymentInv, self)._create_invoice(
|
||||
order, so_line, amount)
|
||||
if order.mandate_id:
|
||||
inv.mandate_id = order.mandate_id.id
|
||||
return inv
|
||||
@@ -1,6 +1,7 @@
|
||||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
|
||||
:alt: License: AGPL-3
|
||||
|
||||
================================
|
||||
Account Banking PAIN Base Module
|
||||
================================
|
||||
|
||||
@@ -16,7 +17,8 @@ Installation
|
||||
============
|
||||
|
||||
This module depends on :
|
||||
- account_banking_payment_export
|
||||
|
||||
- account_payment_order
|
||||
|
||||
This module is part of the OCA/bank-payment suite.
|
||||
|
||||
@@ -30,23 +32,22 @@ Usage
|
||||
|
||||
See 'readme' files of the OCA/bank-payment suite.
|
||||
|
||||
|
||||
For further information, please visit:
|
||||
|
||||
* https://www.odoo.com/forum/help-1
|
||||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
|
||||
:alt: Try me on Runbot
|
||||
:target: https://runbot.odoo-community.org/runbot/173/9.0
|
||||
|
||||
Known issues / Roadmap
|
||||
======================
|
||||
|
||||
* no known issues
|
||||
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/bank-payment/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
|
||||
`here <https://github.com/OCA/bank-payment/issues/new?body=module:%20account_banking_pain_base%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
Bugs are tracked on `GitHub Issues
|
||||
<https://github.com/OCA/bank-payment/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.
|
||||
|
||||
Credits
|
||||
=======
|
||||
@@ -54,14 +55,15 @@ Credits
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* Alexis de Lattre
|
||||
* Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
* Pedro M. Baeza
|
||||
* Stéphane Bidoul <stephane.bidoul@acsone.eu>
|
||||
* Stéphane Bidoul <stephane.bidoul@acsone.eu>
|
||||
* Ignacio Ibeas - Acysos S.L.
|
||||
* Alexandre Fayolle
|
||||
* Raphaël Valyi
|
||||
* Sandy Carter
|
||||
* Stefan Rijnhart (Therp)
|
||||
* Antonio Espinosa <antonioea@antiun.com>
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# PAIN Base module for Odoo
|
||||
# Copyright (C) 2013 Akretion (http://www.akretion.com)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2013 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from . import models
|
||||
from .post_install import set_default_initiating_party
|
||||
|
||||
@@ -1,45 +1,34 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# PAIN base module for Odoo
|
||||
# Copyright (C) 2013-2015 Akretion (http://www.akretion.com)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2013-2016 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
|
||||
# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
{
|
||||
'name': 'Account Banking PAIN Base Module',
|
||||
'summary': 'Base module for PAIN file generation',
|
||||
'version': '8.0.0.2.0',
|
||||
'version': '9.0.1.0.0',
|
||||
'license': 'AGPL-3',
|
||||
'author': "Akretion, "
|
||||
"Noviat, "
|
||||
"Serv. Tecnol. Avanzados - Pedro M. Baeza, "
|
||||
"Antiun Ingeniería S.L., "
|
||||
"Odoo Community Association (OCA)",
|
||||
'website': 'https://github.com/OCA/bank-payment',
|
||||
'contributors': ['Pedro M. Baeza <pedro.baeza@serviciosbaeza.com>'],
|
||||
'category': 'Hidden',
|
||||
'depends': ['account_banking_payment_export'],
|
||||
'depends': ['account_payment_order'],
|
||||
'external_dependencies': {
|
||||
'python': ['unidecode', 'lxml'],
|
||||
},
|
||||
'data': [
|
||||
'views/payment_line_view.xml',
|
||||
'views/payment_mode_view.xml',
|
||||
'views/account_payment_line.xml',
|
||||
'views/account_payment_order.xml',
|
||||
'views/bank_payment_line_view.xml',
|
||||
'views/account_payment_mode.xml',
|
||||
'views/res_company_view.xml',
|
||||
'views/account_payment_method.xml',
|
||||
],
|
||||
'post_init_hook': 'set_default_initiating_party',
|
||||
'installable': False,
|
||||
'installable': True,
|
||||
}
|
||||
|
||||
@@ -1,28 +1,40 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_pain_base
|
||||
#
|
||||
# * account_banking_pain_base
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 8.0\n"
|
||||
"Project-Id-Version: bank-payment (8.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-10-31 22:52+0000\n"
|
||||
"PO-Revision-Date: 2014-10-31 22:52+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"POT-Creation-Date: 2016-04-08 00:46+0000\n"
|
||||
"PO-Revision-Date: 2016-04-06 00:14+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:74
|
||||
#: model:ir.model,name:account_banking_pain_base.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr "Cuentas de banco"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_bank_payment_line
|
||||
msgid "Bank Payment Lines"
|
||||
msgstr "Líneas de pago bancario"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:62
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s' of the Payment Line with reference '%s'."
|
||||
msgstr "No se puede procesar el campo '%s' de la línea de pago con referencia '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:80
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:67
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s'."
|
||||
msgstr "No se puede procesar el campo '%s'."
|
||||
@@ -38,23 +50,11 @@ msgid "Convert to ASCII"
|
||||
msgstr "Convertir a ASCII"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:47
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:73
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:79
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:89
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:124
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:303
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:385
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:282
|
||||
#, python-format
|
||||
msgid "Error:"
|
||||
msgstr "Error:"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:83
|
||||
#, python-format
|
||||
msgid "Field type error:"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "High"
|
||||
@@ -67,18 +67,37 @@ msgstr "ID"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,convert_to_ascii:0
|
||||
msgid "If active, Odoo will convert each accented caracter to the corresponding unaccented caracter, so that only ASCII caracters are used in the generated PAIN file."
|
||||
msgid ""
|
||||
"If active, Odoo will convert each accented caracter to the corresponding "
|
||||
"unaccented caracter, so that only ASCII caracters are used in the generated "
|
||||
"PAIN file."
|
||||
msgstr "Si está marcado, Odoo convertirá cada carácter acentuado en el correspondiente carácter no acentuado, para que sólo se usen caracteres ASCII en el archivo PAIN generado."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,initiating_party_identifier:0
|
||||
#: field:res.company,initiating_party_identifier:0
|
||||
msgid "Initiating Party Identifier"
|
||||
msgstr "Identificador del iniciador de la transacción"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,initiating_party_issuer:0
|
||||
#: field:res.company,initiating_party_issuer:0
|
||||
msgid "Initiating Party Issuer"
|
||||
msgstr "Emisor de la transacción"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:386
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:256
|
||||
#, python-format
|
||||
msgid "Missing 'Structured Communication Type' on payment line with reference '%s'."
|
||||
msgid ""
|
||||
"Missing 'Initiating Party Issuer' and/or 'Initiating Party Identifier' for "
|
||||
"the company '%s'. Both fields must have a value."
|
||||
msgstr "Falta el 'Emisor de la transacción' y/o 'Identificador del iniciador de la transacción' para la compañía '%s'. Ambos campos deben tener un valor."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:358
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Missing 'Structured Communication Type' on payment line with reference '%s'."
|
||||
msgstr "Falta el campo 'Tipo de comunicación estructurada' en la línea de pago con referencia '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
@@ -106,48 +125,95 @@ msgstr "Modo de pago"
|
||||
msgid "Priority"
|
||||
msgstr "Prioridad"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:131
|
||||
#, python-format
|
||||
msgid "SEPA File"
|
||||
msgstr "Archivo SEPA"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: view:payment.mode:account_banking_pain_base.view_payment_mode_form_inherit
|
||||
msgid "SEPA identifiers"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.line,struct_communication_type:0
|
||||
msgid "Structured Communication Type"
|
||||
msgstr "Tipo de comunicación estructurada"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:90
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:75
|
||||
#, python-format
|
||||
msgid "The '%s' is empty or 0. It should have a non-null value."
|
||||
msgstr "'%s' está vacío o es 0. Debería tener un valor no nulo."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:304
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:283
|
||||
#, python-format
|
||||
msgid "The bank account with IBAN '%s' of partner '%s' must have an associated BIC because it is a cross-border SEPA operation."
|
||||
msgid ""
|
||||
"The bank account with IBAN '%s' of partner '%s' must have an associated BIC "
|
||||
"because it is a cross-border SEPA operation."
|
||||
msgstr "La cuenta bancaria con IBAN '%s' de la empresa '%s' debe tener un BIC asociado, porque es una operación SEPA transfronteriza."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:125
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:96
|
||||
#, python-format
|
||||
msgid "The generated XML file is not valid against the official XML Schema Definition. The generated 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"
|
||||
msgid ""
|
||||
"The generated XML file is not valid against the official XML Schema "
|
||||
"Definition. The generated 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 "El archivo XML generado no se puede validar contra la definición de esquema XML oficial. El archivo XML generado el error completo se ha escrito en los registros del servidor. Aquí está el error, que le puede dar una idea de la causa del problema : %s"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:84
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:70
|
||||
#, python-format
|
||||
msgid "The type of the field '%s' is %s. It should be a string or unicode."
|
||||
msgstr "El tipo del campo '%s' es %s. Debería ser una cadena o unicode."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:47
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:35
|
||||
#, python-format
|
||||
msgid "This IBAN is not valid : %s"
|
||||
msgstr "Este IBAN no es válido: %s"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.line,priority:0
|
||||
msgid "This field will be used as the 'Instruction Priority' in the generated PAIN file."
|
||||
msgid ""
|
||||
"This field will be used as the 'Instruction Priority' in the generated PAIN "
|
||||
"file."
|
||||
msgstr "Este campo se usará como 'Prioridad de instrucción' en el archivo PAIN generado."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:res.company,initiating_party_identifier:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Identifier' in the PAIN files "
|
||||
"generated by Odoo."
|
||||
msgstr "Esto se usará como el 'Identificador del iniciador de la transacción' en los archivos PAIN generados por Odoo."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,initiating_party_identifier:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Identifier' in the PAIN files generated by Odoo. If not defined, Initiating Party Identifier from company will be used.\n"
|
||||
"Common format (13): \n"
|
||||
"- Country code (2, optional)\n"
|
||||
"- Company idenfier (N, VAT)\n"
|
||||
"- Service suffix (N, issued by bank)"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:res.company,initiating_party_issuer:0
|
||||
msgid "This will be used as the 'Initiating Party Issuer' in the PAIN files generated by Odoo."
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Issuer' in the PAIN files "
|
||||
"generated by Odoo."
|
||||
msgstr "Este campo se usará como 'Emisor de la transacción' en los archivos PAIN generados por Odoo."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,initiating_party_issuer:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Issuer' in the PAIN files generated by Odoo. If not defined, Initiating Party Issuer from company will be used.\n"
|
||||
"Common format (13): \n"
|
||||
"- Country code (2, optional)\n"
|
||||
"- Company idenfier (N, VAT)\n"
|
||||
"- Service suffix (N, issued by bank)"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,44 +1,114 @@
|
||||
# Translation of OpenERP Server.
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_pain_base
|
||||
#
|
||||
# * account_banking_pain_base
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 7.0\n"
|
||||
"Project-Id-Version: bank-payment (8.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-12-23 21:26+0000\n"
|
||||
"PO-Revision-Date: 2014-02-01 04:48+0000\n"
|
||||
"Last-Translator: Alexis de Lattre <alexis@via.ecp.fr>\n"
|
||||
"Language-Team: \n"
|
||||
"POT-Creation-Date: 2016-04-08 00:46+0000\n"
|
||||
"PO-Revision-Date: 2016-04-06 00:14+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
|
||||
"Language-Team: French (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n"
|
||||
"X-Generator: Launchpad (build 17031)\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_bank_payment_line
|
||||
msgid "Bank Payment Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:62
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s' of the Payment Line with reference '%s'."
|
||||
msgstr "Impossible de calculer le '%s' de la ligne de paiement ayant la référence '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:67
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s'."
|
||||
msgstr "Impossible de calculer le '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Sociétés"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,convert_to_ascii:0
|
||||
msgid "Convert to ASCII"
|
||||
msgstr "Convertir en ASCII"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:282
|
||||
#, python-format
|
||||
msgid "Error:"
|
||||
msgstr "Erreur :"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "High"
|
||||
msgstr "Élevé"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:banking.export.pain,id:0
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,convert_to_ascii:0
|
||||
msgid ""
|
||||
"If active, Odoo will convert each accented caracter to the corresponding "
|
||||
"unaccented caracter, so that only ASCII caracters are used in the generated "
|
||||
"PAIN file."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,initiating_party_identifier:0
|
||||
#: field:res.company,initiating_party_identifier:0
|
||||
msgid "Initiating Party Identifier"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,initiating_party_issuer:0
|
||||
#: field:res.company,initiating_party_issuer:0
|
||||
msgid "Initiating Party Issuer"
|
||||
msgstr "Initiating Party Issuer"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:122
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:256
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The generated XML file is not valid against the official XML Schema "
|
||||
"Definition. The generated 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"
|
||||
"Missing 'Initiating Party Issuer' and/or 'Initiating Party Identifier' for "
|
||||
"the company '%s'. Both fields must have a value."
|
||||
msgstr ""
|
||||
"Le fichier XML généré n'est pas valide par rapport à la Définition du Schéma "
|
||||
"XML officiel. Le fichier XML généré et le message d'erreur complet ont été "
|
||||
"écrits dans les logs du serveur. Voici l'erreur, qui vous donnera peut-être "
|
||||
"une idée sur la cause du problème : %s"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.line,priority:0
|
||||
msgid "Priority"
|
||||
msgstr "Priorité"
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:358
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Missing 'Structured Communication Type' on payment line with reference '%s'."
|
||||
msgstr "Le 'Type de communication structuré' n'est pas renseigné sur la ligne de paiement ayant la référence '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "Normal"
|
||||
msgstr "Normal"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: view:res.company:account_banking_pain_base.view_company_form
|
||||
msgid "Payment Initiation"
|
||||
msgstr "Payment Initiation"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_payment_line
|
||||
@@ -51,76 +121,20 @@ msgid "Payment Mode"
|
||||
msgstr "Mode de paiement"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:res.company,initiating_party_issuer:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Issuer' in the PAIN files "
|
||||
"generated by OpenERP."
|
||||
#: field:payment.line,priority:0
|
||||
msgid "Priority"
|
||||
msgstr "Priorité"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:131
|
||||
#, python-format
|
||||
msgid "SEPA File"
|
||||
msgstr ""
|
||||
"Ce champ sera le 'Initiating Party Issuer' dans les fichiers PAIN générés "
|
||||
"par OpenERP."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:351
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Missing 'Structured Communication Type' on payment line with reference '%s'."
|
||||
#: view:payment.mode:account_banking_pain_base.view_payment_mode_form_inherit
|
||||
msgid "SEPA identifiers"
|
||||
msgstr ""
|
||||
"Le 'Type de communication structuré' n'est pas renseigné sur la ligne de "
|
||||
"paiement ayant la référence '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "Normal"
|
||||
msgstr "Normal"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:70
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s' of the Payment Line with reference '%s'."
|
||||
msgstr ""
|
||||
"Impossible de calculer le '%s' de la ligne de paiement ayant la référence "
|
||||
"'%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:77
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s'."
|
||||
msgstr "Impossible de calculer le '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:81
|
||||
#, python-format
|
||||
msgid "The type of the field '%s' is %s. It should be a string or unicode."
|
||||
msgstr ""
|
||||
"Le type du champ '%s' est %s. Il devrait être de type string ou unicode."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:47
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:69
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:76
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:86
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:121
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:350
|
||||
#, python-format
|
||||
msgid "Error:"
|
||||
msgstr "Erreur :"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Sociétés"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:47
|
||||
#, python-format
|
||||
msgid "This IBAN is not valid : %s"
|
||||
msgstr "Cet IBAN n'est pas valide : %s"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:80
|
||||
#, python-format
|
||||
msgid "Field type error:"
|
||||
msgstr "Erreur dans le type de champ :"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.line,struct_communication_type:0
|
||||
@@ -128,26 +142,40 @@ msgid "Structured Communication Type"
|
||||
msgstr "Type de communication structurée"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:87
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:75
|
||||
#, python-format
|
||||
msgid "The '%s' is empty or 0. It should have a non-null value."
|
||||
msgstr "Le '%s' est vide ou égal à 0. Il devrait avoir une valeur non-nulle."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_banking_export_pain
|
||||
msgid "banking.export.pain"
|
||||
msgstr "banking.export.pain"
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:283
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The bank account with IBAN '%s' of partner '%s' must have an associated BIC "
|
||||
"because it is a cross-border SEPA operation."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,convert_to_ascii:0
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:96
|
||||
#, python-format
|
||||
msgid ""
|
||||
"If active, OpenERP will convert each accented caracter to the corresponding "
|
||||
"unaccented caracter, so that only ASCII caracters are used in the generated "
|
||||
"PAIN file."
|
||||
msgstr ""
|
||||
"Si actif, OpenERP convertira chaque caractère accentué en son équivalent non "
|
||||
"accentué, de telle façon que seuls des caractères ASCII soient utilisés dans "
|
||||
"le fichier PAIN généré."
|
||||
"The generated XML file is not valid against the official XML Schema "
|
||||
"Definition. The generated 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 "Le fichier XML généré n'est pas valide par rapport à la Définition du Schéma XML officiel. Le fichier XML généré et le message d'erreur complet ont été écrits dans les logs du serveur. Voici l'erreur, qui vous donnera peut-être une idée sur la cause du problème : %s"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:70
|
||||
#, python-format
|
||||
msgid "The type of the field '%s' is %s. It should be a string or unicode."
|
||||
msgstr "Le type du champ '%s' est %s. Il devrait être de type string ou unicode."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:35
|
||||
#, python-format
|
||||
msgid "This IBAN is not valid : %s"
|
||||
msgstr "Cet IBAN n'est pas valide : %s"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.line,priority:0
|
||||
@@ -157,16 +185,35 @@ msgid ""
|
||||
msgstr "Ce champ sera le 'Instruction Priority' dans le fichier PAIN généré."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: view:res.company:0
|
||||
msgid "Payment Initiation"
|
||||
msgstr "Payment Initiation"
|
||||
#: help:res.company,initiating_party_identifier:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Identifier' in the PAIN files "
|
||||
"generated by Odoo."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "High"
|
||||
msgstr "Élevé"
|
||||
#: help:payment.mode,initiating_party_identifier:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Identifier' in the PAIN files generated by Odoo. If not defined, Initiating Party Identifier from company will be used.\n"
|
||||
"Common format (13): \n"
|
||||
"- Country code (2, optional)\n"
|
||||
"- Company idenfier (N, VAT)\n"
|
||||
"- Service suffix (N, issued by bank)"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,convert_to_ascii:0
|
||||
msgid "Convert to ASCII"
|
||||
msgstr "Convertir en ASCII"
|
||||
#: help:res.company,initiating_party_issuer:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Issuer' in the PAIN files "
|
||||
"generated by Odoo."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,initiating_party_issuer:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Issuer' in the PAIN files generated by Odoo. If not defined, Initiating Party Issuer from company will be used.\n"
|
||||
"Common format (13): \n"
|
||||
"- Country code (2, optional)\n"
|
||||
"- Company idenfier (N, VAT)\n"
|
||||
"- Service suffix (N, issued by bank)"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,45 +1,115 @@
|
||||
# Dutch translation for banking-addons
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the banking-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_pain_base
|
||||
#
|
||||
# Translators:
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: banking-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2013-12-23 21:26+0000\n"
|
||||
"PO-Revision-Date: 2014-02-11 08:32+0000\n"
|
||||
"Last-Translator: Erwin van der Ploeg (BAS Solutions) <Unknown>\n"
|
||||
"Language-Team: Dutch <nl@li.org>\n"
|
||||
"Project-Id-Version: bank-payment (8.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-04-08 00:46+0000\n"
|
||||
"PO-Revision-Date: 2016-04-06 00:14+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
|
||||
"Language-Team: Dutch (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n"
|
||||
"X-Generator: Launchpad (build 17031)\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: nl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_bank_payment_line
|
||||
msgid "Bank Payment Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:62
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s' of the Payment Line with reference '%s'."
|
||||
msgstr "Kan de '%s' niet berekenen van de betaalregel met referentie '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:67
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s'."
|
||||
msgstr "Kan de '%s' niet berekenen."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Bedrijven"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,convert_to_ascii:0
|
||||
msgid "Convert to ASCII"
|
||||
msgstr "Converteer naar ASCII"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:282
|
||||
#, python-format
|
||||
msgid "Error:"
|
||||
msgstr "Fout:"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "High"
|
||||
msgstr "Hoog"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:banking.export.pain,id:0
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,convert_to_ascii:0
|
||||
msgid ""
|
||||
"If active, Odoo will convert each accented caracter to the corresponding "
|
||||
"unaccented caracter, so that only ASCII caracters are used in the generated "
|
||||
"PAIN file."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,initiating_party_identifier:0
|
||||
#: field:res.company,initiating_party_identifier:0
|
||||
msgid "Initiating Party Identifier"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,initiating_party_issuer:0
|
||||
#: field:res.company,initiating_party_issuer:0
|
||||
msgid "Initiating Party Issuer"
|
||||
msgstr "Initiating Party Issuer"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:122
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:256
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The generated XML file is not valid against the official XML Schema "
|
||||
"Definition. The generated 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"
|
||||
"Missing 'Initiating Party Issuer' and/or 'Initiating Party Identifier' for "
|
||||
"the company '%s'. Both fields must have a value."
|
||||
msgstr ""
|
||||
"Het gegenereerde XML bestand is niet geldig volgens de officiële XML schema "
|
||||
"definities. Het gegenereerde XML bestand en de volledige fout zijn "
|
||||
"weggeschreven in de server log bestanden. Hier is de fout, wat u een idee "
|
||||
"kunt geven over de oorzaak van het probleem: %s\""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.line,priority:0
|
||||
msgid "Priority"
|
||||
msgstr "Prioriteit"
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:358
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Missing 'Structured Communication Type' on payment line with reference '%s'."
|
||||
msgstr "Ontbrekende 'Structured Communication Type' op betaalregel met referentie '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "Normal"
|
||||
msgstr "Normaal"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: view:res.company:account_banking_pain_base.view_company_form
|
||||
msgid "Payment Initiation"
|
||||
msgstr "Payment Initiation"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_payment_line
|
||||
@@ -52,73 +122,20 @@ msgid "Payment Mode"
|
||||
msgstr "Betaalwijze"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:res.company,initiating_party_issuer:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Issuer' in the PAIN files "
|
||||
"generated by OpenERP."
|
||||
#: field:payment.line,priority:0
|
||||
msgid "Priority"
|
||||
msgstr "Prioriteit"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:131
|
||||
#, python-format
|
||||
msgid "SEPA File"
|
||||
msgstr ""
|
||||
"Dit wordt gebruikt als de 'Initiating Party Issuer' in de PAIN bestanden "
|
||||
"gegenereerd door OpenERP."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:351
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Missing 'Structured Communication Type' on payment line with reference '%s'."
|
||||
#: view:payment.mode:account_banking_pain_base.view_payment_mode_form_inherit
|
||||
msgid "SEPA identifiers"
|
||||
msgstr ""
|
||||
"Ontbrekende 'Structured Communication Type' op betaalregel met referentie "
|
||||
"'%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "Normal"
|
||||
msgstr "Normaal"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:70
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s' of the Payment Line with reference '%s'."
|
||||
msgstr "Kan de '%s' niet berekenen van de betaalregel met referentie '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:77
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s'."
|
||||
msgstr "Kan de '%s' niet berekenen."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:81
|
||||
#, python-format
|
||||
msgid "The type of the field '%s' is %s. It should be a string or unicode."
|
||||
msgstr "Het type van veld '%s' is %s. Dit moet een string of unicode zijn."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:47
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:69
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:76
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:86
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:121
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:350
|
||||
#, python-format
|
||||
msgid "Error:"
|
||||
msgstr "Fout:"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Bedrijven"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:47
|
||||
#, python-format
|
||||
msgid "This IBAN is not valid : %s"
|
||||
msgstr "Deze IBAN is niet geldig : %s"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:80
|
||||
#, python-format
|
||||
msgid "Field type error:"
|
||||
msgstr "Veld type fout:"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.line,struct_communication_type:0
|
||||
@@ -126,47 +143,78 @@ msgid "Structured Communication Type"
|
||||
msgstr "Structured Communication Type"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/banking_export_pain.py:87
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:75
|
||||
#, python-format
|
||||
msgid "The '%s' is empty or 0. It should have a non-null value."
|
||||
msgstr "De '%s' is leeg of 0. Deze waarde zou niet nul moeten zijn."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_banking_export_pain
|
||||
msgid "banking.export.pain"
|
||||
msgstr "banking.export.pain"
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:283
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The bank account with IBAN '%s' of partner '%s' must have an associated BIC "
|
||||
"because it is a cross-border SEPA operation."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,convert_to_ascii:0
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:96
|
||||
#, python-format
|
||||
msgid ""
|
||||
"If active, OpenERP will convert each accented caracter to the corresponding "
|
||||
"unaccented caracter, so that only ASCII caracters are used in the generated "
|
||||
"PAIN file."
|
||||
msgstr ""
|
||||
"Indien aangevinkt, zal OpenERP elk geaccentueerde karakter omzetten in een "
|
||||
"overeenkomstige ongeaccentueerde karakter, zodat alleen ASCII karakters "
|
||||
"worden gebruikt in het gegenereerde PAIN bestand."
|
||||
"The generated XML file is not valid against the official XML Schema "
|
||||
"Definition. The generated 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 "Het gegenereerde XML bestand is niet geldig volgens de officiële XML schema definities. Het gegenereerde XML bestand en de volledige fout zijn weggeschreven in de server log bestanden. Hier is de fout, wat u een idee kunt geven over de oorzaak van het probleem: %s\""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:70
|
||||
#, python-format
|
||||
msgid "The type of the field '%s' is %s. It should be a string or unicode."
|
||||
msgstr "Het type van veld '%s' is %s. Dit moet een string of unicode zijn."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:35
|
||||
#, python-format
|
||||
msgid "This IBAN is not valid : %s"
|
||||
msgstr "Deze IBAN is niet geldig : %s"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.line,priority:0
|
||||
msgid ""
|
||||
"This field will be used as the 'Instruction Priority' in the generated PAIN "
|
||||
"file."
|
||||
msgstr "Dit veld wordt gebruikt als de 'Instruction Priority' in het gegenereerde PAIN bestand."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:res.company,initiating_party_identifier:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Identifier' in the PAIN files "
|
||||
"generated by Odoo."
|
||||
msgstr ""
|
||||
"Dit veld wordt gebruikt als de 'Instruction Priority' in het gegenereerde "
|
||||
"PAIN bestand."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: view:res.company:0
|
||||
msgid "Payment Initiation"
|
||||
msgstr "Payment Initiation"
|
||||
#: help:payment.mode,initiating_party_identifier:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Identifier' in the PAIN files generated by Odoo. If not defined, Initiating Party Identifier from company will be used.\n"
|
||||
"Common format (13): \n"
|
||||
"- Country code (2, optional)\n"
|
||||
"- Company idenfier (N, VAT)\n"
|
||||
"- Service suffix (N, issued by bank)"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "High"
|
||||
msgstr "Hoog"
|
||||
#: help:res.company,initiating_party_issuer:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Issuer' in the PAIN files "
|
||||
"generated by Odoo."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,convert_to_ascii:0
|
||||
msgid "Convert to ASCII"
|
||||
msgstr "Converteer naar ASCII"
|
||||
#: help:payment.mode,initiating_party_issuer:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Issuer' in the PAIN files generated by Odoo. If not defined, Initiating Party Issuer from company will be used.\n"
|
||||
"Common format (13): \n"
|
||||
"- Country code (2, optional)\n"
|
||||
"- Company idenfier (N, VAT)\n"
|
||||
"- Service suffix (N, issued by bank)"
|
||||
msgstr ""
|
||||
|
||||
220
account_banking_pain_base/i18n/pt_BR.po
Normal file
220
account_banking_pain_base/i18n/pt_BR.po
Normal file
@@ -0,0 +1,220 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_pain_base
|
||||
#
|
||||
# Translators:
|
||||
# danimaribeiro <danimaribeiro@gmail.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bank-payment (8.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-04-08 00:46+0000\n"
|
||||
"PO-Revision-Date: 2016-04-06 01:03+0000\n"
|
||||
"Last-Translator: danimaribeiro <danimaribeiro@gmail.com>\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr "Contas bancárias"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_bank_payment_line
|
||||
msgid "Bank Payment Lines"
|
||||
msgstr "Linhas de pagamento bancária"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:62
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s' of the Payment Line with reference '%s'."
|
||||
msgstr "Não foi possível calcular a '%s' da linha de pagamento com referência '%s'"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:67
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s'."
|
||||
msgstr "Não foi possível computar o '%s'"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Empresas"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,convert_to_ascii:0
|
||||
msgid "Convert to ASCII"
|
||||
msgstr "Converter para ASCII"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:282
|
||||
#, python-format
|
||||
msgid "Error:"
|
||||
msgstr "Erro:"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "High"
|
||||
msgstr "Alto"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:banking.export.pain,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,convert_to_ascii:0
|
||||
msgid ""
|
||||
"If active, Odoo will convert each accented caracter to the corresponding "
|
||||
"unaccented caracter, so that only ASCII caracters are used in the generated "
|
||||
"PAIN file."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,initiating_party_identifier:0
|
||||
#: field:res.company,initiating_party_identifier:0
|
||||
msgid "Initiating Party Identifier"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,initiating_party_issuer:0
|
||||
#: field:res.company,initiating_party_issuer:0
|
||||
msgid "Initiating Party Issuer"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:256
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Missing 'Initiating Party Issuer' and/or 'Initiating Party Identifier' for "
|
||||
"the company '%s'. Both fields must have a value."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:358
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Missing 'Structured Communication Type' on payment line with reference '%s'."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "Normal"
|
||||
msgstr "Normal"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: view:res.company:account_banking_pain_base.view_company_form
|
||||
msgid "Payment Initiation"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_payment_line
|
||||
msgid "Payment Line"
|
||||
msgstr "Linha de Pagamento"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_payment_mode
|
||||
msgid "Payment Mode"
|
||||
msgstr "Modo de pagamento"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.line,priority:0
|
||||
msgid "Priority"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:131
|
||||
#, python-format
|
||||
msgid "SEPA File"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: view:payment.mode:account_banking_pain_base.view_payment_mode_form_inherit
|
||||
msgid "SEPA identifiers"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.line,struct_communication_type:0
|
||||
msgid "Structured Communication Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:75
|
||||
#, python-format
|
||||
msgid "The '%s' is empty or 0. It should have a non-null value."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:283
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The bank account with IBAN '%s' of partner '%s' must have an associated BIC "
|
||||
"because it is a cross-border SEPA operation."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:96
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The generated XML file is not valid against the official XML Schema "
|
||||
"Definition. The generated 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: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:70
|
||||
#, python-format
|
||||
msgid "The type of the field '%s' is %s. It should be a string or unicode."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:35
|
||||
#, python-format
|
||||
msgid "This IBAN is not valid : %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.line,priority:0
|
||||
msgid ""
|
||||
"This field will be used as the 'Instruction Priority' in the generated PAIN "
|
||||
"file."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:res.company,initiating_party_identifier:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Identifier' in the PAIN files "
|
||||
"generated by Odoo."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,initiating_party_identifier:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Identifier' in the PAIN files generated by Odoo. If not defined, Initiating Party Identifier from company will be used.\n"
|
||||
"Common format (13): \n"
|
||||
"- Country code (2, optional)\n"
|
||||
"- Company idenfier (N, VAT)\n"
|
||||
"- Service suffix (N, issued by bank)"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:res.company,initiating_party_issuer:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Issuer' in the PAIN files "
|
||||
"generated by Odoo."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,initiating_party_issuer:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Issuer' in the PAIN files generated by Odoo. If not defined, Initiating Party Issuer from company will be used.\n"
|
||||
"Common format (13): \n"
|
||||
"- Country code (2, optional)\n"
|
||||
"- Company idenfier (N, VAT)\n"
|
||||
"- Service suffix (N, issued by bank)"
|
||||
msgstr ""
|
||||
220
account_banking_pain_base/i18n/sl.po
Normal file
220
account_banking_pain_base/i18n/sl.po
Normal file
@@ -0,0 +1,220 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_pain_base
|
||||
#
|
||||
# Translators:
|
||||
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: bank-payment (8.0)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-04-09 06:21+0000\n"
|
||||
"PO-Revision-Date: 2016-04-15 11:04+0000\n"
|
||||
"Last-Translator: Matjaž Mozetič <m.mozetic@matmoz.si>\n"
|
||||
"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-bank-payment-8-0/language/sl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: sl\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr "Bančni računi"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_bank_payment_line
|
||||
msgid "Bank Payment Lines"
|
||||
msgstr "Postavke bančnih plačil"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:62
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s' of the Payment Line with reference '%s'."
|
||||
msgstr "Ne morem izračunati '%s' plačilne postavke s sklicem '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:67
|
||||
#, python-format
|
||||
msgid "Cannot compute the '%s'."
|
||||
msgstr "Ne morem izračunati '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Družbe"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,convert_to_ascii:0
|
||||
msgid "Convert to ASCII"
|
||||
msgstr "Pretvori v ASCII"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:282
|
||||
#, python-format
|
||||
msgid "Error:"
|
||||
msgstr "Napaka:"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "High"
|
||||
msgstr "Visoka"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:banking.export.pain,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,convert_to_ascii:0
|
||||
msgid ""
|
||||
"If active, Odoo will convert each accented caracter to the corresponding "
|
||||
"unaccented caracter, so that only ASCII caracters are used in the generated "
|
||||
"PAIN file."
|
||||
msgstr "Če aktivno, Odoo pretvori vsak naglašen znak v ustrezen nenaglašen znak, tako, da se uporabi le ASCII znake v ustvarjeni PAIN datoteki."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,initiating_party_identifier:0
|
||||
#: field:res.company,initiating_party_identifier:0
|
||||
msgid "Initiating Party Identifier"
|
||||
msgstr "Identifikator začetne stranke"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.mode,initiating_party_issuer:0
|
||||
#: field:res.company,initiating_party_issuer:0
|
||||
msgid "Initiating Party Issuer"
|
||||
msgstr "Izdajatelj začetne stranke"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:256
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Missing 'Initiating Party Issuer' and/or 'Initiating Party Identifier' for "
|
||||
"the company '%s'. Both fields must have a value."
|
||||
msgstr "Manjkajoči 'Izdajatelj začetne stranke' in/ali 'Identifikator začetne stranke' pri družbi '%s'. Obe polji morata vsebovati vrednost."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:358
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Missing 'Structured Communication Type' on payment line with reference '%s'."
|
||||
msgstr "Manjkajoč 'Tip strukturirane komunikacije' pri plačilni postavki s sklicem '%s'."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: selection:payment.line,priority:0
|
||||
msgid "Normal"
|
||||
msgstr "Običajna"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: view:res.company:account_banking_pain_base.view_company_form
|
||||
msgid "Payment Initiation"
|
||||
msgstr "Začetek plačil"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_payment_line
|
||||
msgid "Payment Line"
|
||||
msgstr "Plačilna postavka"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: model:ir.model,name:account_banking_pain_base.model_payment_mode
|
||||
msgid "Payment Mode"
|
||||
msgstr "Metoda plačila"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.line,priority:0
|
||||
msgid "Priority"
|
||||
msgstr "Prioriteta"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:131
|
||||
#, python-format
|
||||
msgid "SEPA File"
|
||||
msgstr "SEPA datoteka"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: view:payment.mode:account_banking_pain_base.view_payment_mode_form_inherit
|
||||
msgid "SEPA identifiers"
|
||||
msgstr "SEPA identifikatorji"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: field:payment.line,struct_communication_type:0
|
||||
msgid "Structured Communication Type"
|
||||
msgstr "Tip strukturirane komunikacije"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:75
|
||||
#, python-format
|
||||
msgid "The '%s' is empty or 0. It should have a non-null value."
|
||||
msgstr "'%s' je prazno ali 0. Vsebovati bi moralo ne ničelno vrednost."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:283
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The bank account with IBAN '%s' of partner '%s' must have an associated BIC "
|
||||
"because it is a cross-border SEPA operation."
|
||||
msgstr "Bančni račun z IBAN '%s' partnerja '%s' mora vsebovati povezani BIC, ker gre za čezmejno SEPA operacijo."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:96
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The generated XML file is not valid against the official XML Schema "
|
||||
"Definition. The generated 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 "Ustvarjena XML datoteka ni v skladu z uradno definicijo XML sheme. Ustvarjena XML datoteka in celotna napaka sta zapisani v strežniške dnevnike. Tu je napaka, ki bi lahko razjasnila, v čem je vzrok težave : %s"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:70
|
||||
#, python-format
|
||||
msgid "The type of the field '%s' is %s. It should be a string or unicode."
|
||||
msgstr "Tip polja '%s' je %s. Moral bi biti niz ali unicode."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: code:addons/account_banking_pain_base/models/banking_export_pain.py:35
|
||||
#, python-format
|
||||
msgid "This IBAN is not valid : %s"
|
||||
msgstr "Ta IBAN ni veljaven : %s"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.line,priority:0
|
||||
msgid ""
|
||||
"This field will be used as the 'Instruction Priority' in the generated PAIN "
|
||||
"file."
|
||||
msgstr "To polje bo uporabljeno kot 'Prioriteta navodil' v ustvarjeni PAIN datoteki."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:res.company,initiating_party_identifier:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Identifier' in the PAIN files "
|
||||
"generated by Odoo."
|
||||
msgstr "To se uporabi kot 'Identifikator začetne stranke' v PAIN datotekah, ki jih ustvari Odoo."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,initiating_party_identifier:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Identifier' in the PAIN files generated by Odoo. If not defined, Initiating Party Identifier from company will be used.\n"
|
||||
"Common format (13): \n"
|
||||
"- Country code (2, optional)\n"
|
||||
"- Company idenfier (N, VAT)\n"
|
||||
"- Service suffix (N, issued by bank)"
|
||||
msgstr "To bo uporabljeno kot 'Identifikator začetne stranke' v PAIN datotekah, ki jih ustvari Odoo. Če ni določeno, se uporabi 'Identifikator začetne stranke' iz obrazca družbe.\nObičajni format (13): \n- Koda države (2, optional)\n- Identifikator družbe (ID za DDV)\n- Pripona storitve (številka, ki jo poda banka)"
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:res.company,initiating_party_issuer:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Issuer' in the PAIN files "
|
||||
"generated by Odoo."
|
||||
msgstr "To se uporabi kot 'Izdajatelj začetne stranke' v PAIN datotekah, ki jih ustvari Odoo."
|
||||
|
||||
#. module: account_banking_pain_base
|
||||
#: help:payment.mode,initiating_party_issuer:0
|
||||
msgid ""
|
||||
"This will be used as the 'Initiating Party Issuer' in the PAIN files generated by Odoo. If not defined, Initiating Party Issuer from company will be used.\n"
|
||||
"Common format (13): \n"
|
||||
"- Country code (2, optional)\n"
|
||||
"- Company idenfier (N, VAT)\n"
|
||||
"- Service suffix (N, issued by bank)"
|
||||
msgstr "To bo uporabljeno kot 'Izdajatelj začetne stranke' v PAIN datotekah, ki jih ustvari Odoo. Če ni določeno, se uporabi 'Identifikator začetne stranke' iz obrazca družbe.\nObičajni format (13): \n- Koda države (2, optional)\n- Identifikator družbe (ID za DDV)\n- Pripona storitve (številka, ki jo poda banka)"
|
||||
@@ -1,23 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (C) 2015 Akretion (http://www.akretion.com/)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
# © 2015 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp.addons.account_banking_pain_base.post_install\
|
||||
import set_default_initiating_party
|
||||
|
||||
@@ -1,27 +1,10 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# PAIN Base module for Odoo
|
||||
# Copyright (C) 2013 Akretion (http://www.akretion.com)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2013-2016 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from . import payment_line
|
||||
from . import payment_mode
|
||||
from . import account_payment_line
|
||||
from . import account_payment_order
|
||||
from . import bank_payment_line
|
||||
from . import account_payment_mode
|
||||
from . import res_company
|
||||
from . import banking_export_pain
|
||||
from . import res_partner_bank
|
||||
from . import account_payment_method
|
||||
|
||||
27
account_banking_pain_base/models/account_payment_line.py
Normal file
27
account_banking_pain_base/models/account_payment_line.py
Normal file
@@ -0,0 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2013-2016 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields
|
||||
|
||||
|
||||
class AccountPaymentLine(models.Model):
|
||||
_inherit = 'account.payment.line'
|
||||
|
||||
priority = fields.Selection([
|
||||
('NORM', 'Normal'),
|
||||
('HIGH', 'High')],
|
||||
string='Priority', default='NORM',
|
||||
help="This field will be used as 'Instruction Priority' in "
|
||||
"the generated PAIN file.")
|
||||
# local_instrument is used in some countries, for example
|
||||
# switzerland, cf l10n_ch_sepa that adds some entries in
|
||||
# the selection field
|
||||
local_instrument = fields.Selection([], string='Local Instrument')
|
||||
# PAIN allows 140 characters
|
||||
communication = fields.Char(size=140)
|
||||
# The field struct_communication_type has been dropped in v9
|
||||
# We now use communication_type ; you should add an option
|
||||
# in communication_type with selection_add=[]
|
||||
communication_type = fields.Selection(selection_add=[('ISO', 'ISO')])
|
||||
24
account_banking_pain_base/models/account_payment_method.py
Normal file
24
account_banking_pain_base/models/account_payment_method.py
Normal file
@@ -0,0 +1,24 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields, api, _
|
||||
from openerp.exceptions import UserError
|
||||
|
||||
|
||||
class AccountPaymentMethod(models.Model):
|
||||
_inherit = 'account.payment.method'
|
||||
|
||||
pain_version = fields.Selection([], string='PAIN Version')
|
||||
convert_to_ascii = fields.Boolean(
|
||||
string='Convert to ASCII', default=True,
|
||||
help="If active, Odoo will convert each accented character to "
|
||||
"the corresponding unaccented character, so that only ASCII "
|
||||
"characters are used in the generated PAIN file.")
|
||||
|
||||
@api.multi
|
||||
def get_xsd_file_path(self):
|
||||
"""This method is designed to be inherited in the SEPA modules"""
|
||||
self.ensure_one()
|
||||
raise UserError(_(
|
||||
"No XSD file path found for payment method '%s'") % self.name)
|
||||
30
account_banking_pain_base/models/account_payment_mode.py
Normal file
30
account_banking_pain_base/models/account_payment_mode.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2013-2016 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
|
||||
# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields
|
||||
|
||||
|
||||
class AccountPaymentMode(models.Model):
|
||||
_inherit = 'account.payment.mode'
|
||||
|
||||
initiating_party_issuer = fields.Char(
|
||||
string='Initiating Party Issuer', size=35,
|
||||
help="This will be used as the 'Initiating Party Issuer' in the "
|
||||
"PAIN files generated by Odoo. If not defined, Initiating Party "
|
||||
"Issuer from company will be used.\n"
|
||||
"Common format (13): \n"
|
||||
"- Country code (2, optional)\n"
|
||||
"- Company idenfier (N, VAT)\n"
|
||||
"- Service suffix (N, issued by bank)")
|
||||
initiating_party_identifier = fields.Char(
|
||||
string='Initiating Party Identifier', size=35,
|
||||
help="This will be used as the 'Initiating Party Identifier' in "
|
||||
"the PAIN files generated by Odoo. If not defined, Initiating Party "
|
||||
"Identifier from company will be used.\n"
|
||||
"Common format (13): \n"
|
||||
"- Country code (2, optional)\n"
|
||||
"- Company idenfier (N, VAT)\n"
|
||||
"- Service suffix (N, issued by bank)")
|
||||
483
account_banking_pain_base/models/account_payment_order.py
Normal file
483
account_banking_pain_base/models/account_payment_order.py
Normal file
@@ -0,0 +1,483 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2013-2016 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
|
||||
# © 2016 Antiun Ingenieria S.L. - Antonio Espinosa
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields, api, _
|
||||
from openerp.exceptions import UserError
|
||||
from openerp.tools.safe_eval import safe_eval
|
||||
from datetime import datetime
|
||||
from lxml import etree
|
||||
from openerp import tools
|
||||
import logging
|
||||
|
||||
|
||||
try:
|
||||
from unidecode import unidecode
|
||||
except ImportError:
|
||||
unidecode = None
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class AccountPaymentOrder(models.Model):
|
||||
_inherit = 'account.payment.order'
|
||||
|
||||
sepa = fields.Boolean(
|
||||
compute='compute_sepa', readonly=True, string="SEPA Payment")
|
||||
charge_bearer = fields.Selection([
|
||||
('SLEV', 'Following Service Level'),
|
||||
('SHAR', 'Shared'),
|
||||
('CRED', 'Borne by Creditor'),
|
||||
('DEBT', 'Borne by Debtor')], string='Charge Bearer',
|
||||
default='SLEV', readonly=True,
|
||||
states={'draft': [('readonly', False)], 'open': [('readonly', False)]},
|
||||
track_visibility='onchange',
|
||||
help="Following service level : transaction charges are to be "
|
||||
"applied following the rules agreed in the service level "
|
||||
"and/or scheme (SEPA Core messages must use this). Shared : "
|
||||
"transaction charges on the debtor side are to be borne by "
|
||||
"the debtor, transaction charges on the creditor side are to "
|
||||
"be borne by the creditor. Borne by creditor : all "
|
||||
"transaction charges are to be borne by the creditor. Borne "
|
||||
"by debtor : all transaction charges are to be borne by the "
|
||||
"debtor.")
|
||||
batch_booking = fields.Boolean(
|
||||
string='Batch Booking', readonly=True,
|
||||
states={'draft': [('readonly', False)], 'open': [('readonly', False)]},
|
||||
track_visibility='onchange',
|
||||
help="If true, the bank statement will display only one debit "
|
||||
"line for all the wire transfers of the SEPA XML file ; if "
|
||||
"false, the bank statement will display one debit line per wire "
|
||||
"transfer of the SEPA XML file.")
|
||||
|
||||
@api.multi
|
||||
@api.depends(
|
||||
'company_partner_bank_id.acc_type',
|
||||
'payment_line_ids.currency_id',
|
||||
'payment_line_ids.partner_bank_id.acc_type')
|
||||
def compute_sepa(self):
|
||||
eur = self.env.ref('base.EUR')
|
||||
for order in self:
|
||||
sepa = True
|
||||
if order.company_partner_bank_id.acc_type != 'iban':
|
||||
sepa = False
|
||||
for pline in order.payment_line_ids:
|
||||
if pline.currency_id != eur:
|
||||
sepa = False
|
||||
break
|
||||
if pline.partner_bank_id.acc_type != 'iban':
|
||||
sepa = False
|
||||
break
|
||||
sepa = order.compute_sepa_final_hook(sepa)
|
||||
self.sepa = sepa
|
||||
|
||||
@api.multi
|
||||
def compute_sepa_final_hook(self, sepa):
|
||||
self.ensure_one()
|
||||
return sepa
|
||||
|
||||
@api.model
|
||||
def _prepare_field(self, field_name, field_value, eval_ctx,
|
||||
max_size=0, gen_args=None):
|
||||
"""This function is designed to be inherited !"""
|
||||
if gen_args is None:
|
||||
gen_args = {}
|
||||
assert isinstance(eval_ctx, dict), 'eval_ctx must contain a dict'
|
||||
try:
|
||||
value = safe_eval(field_value, eval_ctx)
|
||||
# SEPA uses XML ; XML = UTF-8 ; UTF-8 = support for all characters
|
||||
# But we are dealing with banks...
|
||||
# and many banks don't want non-ASCCI characters !
|
||||
# cf section 1.4 "Character set" of the SEPA Credit Transfer
|
||||
# Scheme Customer-to-bank guidelines
|
||||
if gen_args.get('convert_to_ascii'):
|
||||
value = unidecode(value)
|
||||
unallowed_ascii_chars = [
|
||||
'"', '#', '$', '%', '&', '*', ';', '<', '>', '=', '@',
|
||||
'[', ']', '^', '_', '`', '{', '}', '|', '~', '\\', '!']
|
||||
for unallowed_ascii_char in unallowed_ascii_chars:
|
||||
value = value.replace(unallowed_ascii_char, '-')
|
||||
except:
|
||||
line = eval_ctx.get('line')
|
||||
if line:
|
||||
raise UserError(
|
||||
_("Cannot compute the '%s' of the Payment Line with "
|
||||
"reference '%s'.")
|
||||
% (field_name, line.name))
|
||||
else:
|
||||
raise UserError(
|
||||
_("Cannot compute the '%s'.") % field_name)
|
||||
if not isinstance(value, (str, unicode)):
|
||||
raise UserError(
|
||||
_("The type of the field '%s' is %s. It should be a string "
|
||||
"or unicode.")
|
||||
% (field_name, type(value)))
|
||||
if not value:
|
||||
raise UserError(
|
||||
_("The '%s' is empty or 0. It should have a non-null value.")
|
||||
% field_name)
|
||||
if max_size and len(value) > max_size:
|
||||
value = value[0:max_size]
|
||||
return value
|
||||
|
||||
@api.model
|
||||
def _validate_xml(self, xml_string, gen_args):
|
||||
xsd_etree_obj = etree.parse(
|
||||
tools.file_open(gen_args['pain_xsd_file']))
|
||||
official_pain_schema = etree.XMLSchema(xsd_etree_obj)
|
||||
|
||||
try:
|
||||
root_to_validate = etree.fromstring(xml_string)
|
||||
official_pain_schema.assertValid(root_to_validate)
|
||||
except Exception, e:
|
||||
logger.warning(
|
||||
"The XML file is invalid against the XML Schema Definition")
|
||||
logger.warning(xml_string)
|
||||
logger.warning(e)
|
||||
raise UserError(
|
||||
_("The generated XML file is not valid against the official "
|
||||
"XML Schema Definition. The generated 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")
|
||||
% unicode(e))
|
||||
return True
|
||||
|
||||
@api.multi
|
||||
def finalize_sepa_file_creation(self, xml_root, gen_args):
|
||||
xml_string = etree.tostring(
|
||||
xml_root, pretty_print=True, encoding='UTF-8',
|
||||
xml_declaration=True)
|
||||
logger.debug(
|
||||
"Generated SEPA XML file in format %s below"
|
||||
% gen_args['pain_flavor'])
|
||||
logger.debug(xml_string)
|
||||
self._validate_xml(xml_string, gen_args)
|
||||
|
||||
filename = '%s%s.xml' % (gen_args['file_prefix'], self.name)
|
||||
return (xml_string, filename)
|
||||
|
||||
@api.multi
|
||||
def generate_pain_nsmap(self):
|
||||
self.ensure_one()
|
||||
pain_flavor = self.payment_mode_id.payment_method_id.pain_version
|
||||
nsmap = {
|
||||
'xsi': 'http://www.w3.org/2001/XMLSchema-instance',
|
||||
None: 'urn:iso:std:iso:20022:tech:xsd:%s' % pain_flavor,
|
||||
}
|
||||
return nsmap
|
||||
|
||||
@api.multi
|
||||
def generate_pain_attrib(self):
|
||||
self.ensure_one()
|
||||
return {}
|
||||
|
||||
@api.model
|
||||
def generate_group_header_block(self, parent_node, gen_args):
|
||||
group_header = etree.SubElement(parent_node, 'GrpHdr')
|
||||
message_identification = etree.SubElement(
|
||||
group_header, 'MsgId')
|
||||
message_identification.text = self._prepare_field(
|
||||
'Message Identification',
|
||||
'self.name',
|
||||
{'self': self}, 35, gen_args=gen_args)
|
||||
creation_date_time = etree.SubElement(group_header, 'CreDtTm')
|
||||
creation_date_time.text = datetime.strftime(
|
||||
datetime.today(), '%Y-%m-%dT%H:%M:%S')
|
||||
if gen_args.get('pain_flavor') == 'pain.001.001.02':
|
||||
# batch_booking is in "Group header" with pain.001.001.02
|
||||
# and in "Payment info" in pain.001.001.03/04
|
||||
batch_booking = etree.SubElement(group_header, 'BtchBookg')
|
||||
batch_booking.text = unicode(self.batch_booking).lower()
|
||||
nb_of_transactions = etree.SubElement(
|
||||
group_header, 'NbOfTxs')
|
||||
control_sum = etree.SubElement(group_header, 'CtrlSum')
|
||||
# Grpg removed in pain.001.001.03
|
||||
if gen_args.get('pain_flavor') == 'pain.001.001.02':
|
||||
grouping = etree.SubElement(group_header, 'Grpg')
|
||||
grouping.text = 'GRPD'
|
||||
self.generate_initiating_party_block(group_header, gen_args)
|
||||
return group_header, nb_of_transactions, control_sum
|
||||
|
||||
@api.model
|
||||
def generate_start_payment_info_block(
|
||||
self, parent_node, payment_info_ident,
|
||||
priority, local_instrument, sequence_type, requested_date,
|
||||
eval_ctx, gen_args):
|
||||
payment_info = etree.SubElement(parent_node, 'PmtInf')
|
||||
payment_info_identification = etree.SubElement(
|
||||
payment_info, 'PmtInfId')
|
||||
payment_info_identification.text = self._prepare_field(
|
||||
'Payment Information Identification',
|
||||
payment_info_ident, eval_ctx, 35, gen_args=gen_args)
|
||||
payment_method = etree.SubElement(payment_info, 'PmtMtd')
|
||||
payment_method.text = gen_args['payment_method']
|
||||
nb_of_transactions = False
|
||||
control_sum = False
|
||||
if gen_args.get('pain_flavor') != 'pain.001.001.02':
|
||||
batch_booking = etree.SubElement(payment_info, 'BtchBookg')
|
||||
batch_booking.text = unicode(self.batch_booking).lower()
|
||||
# The "SEPA Customer-to-bank
|
||||
# Implementation guidelines" for SCT and SDD says that control sum
|
||||
# and nb_of_transactions should be present
|
||||
# at both "group header" level and "payment info" level
|
||||
nb_of_transactions = etree.SubElement(
|
||||
payment_info, 'NbOfTxs')
|
||||
control_sum = etree.SubElement(payment_info, 'CtrlSum')
|
||||
payment_type_info = etree.SubElement(
|
||||
payment_info, 'PmtTpInf')
|
||||
if priority and gen_args['payment_method'] != 'DD':
|
||||
instruction_priority = etree.SubElement(
|
||||
payment_type_info, 'InstrPrty')
|
||||
instruction_priority.text = priority
|
||||
if self.sepa:
|
||||
service_level = etree.SubElement(payment_type_info, 'SvcLvl')
|
||||
service_level_code = etree.SubElement(service_level, 'Cd')
|
||||
service_level_code.text = 'SEPA'
|
||||
if local_instrument:
|
||||
local_instrument_root = etree.SubElement(
|
||||
payment_type_info, 'LclInstrm')
|
||||
if gen_args.get('local_instrument_type') == 'proprietary':
|
||||
local_instr_value = etree.SubElement(
|
||||
local_instrument_root, 'Prtry')
|
||||
else:
|
||||
local_instr_value = etree.SubElement(
|
||||
local_instrument_root, 'Cd')
|
||||
local_instr_value.text = local_instrument
|
||||
if sequence_type:
|
||||
sequence_type_node = etree.SubElement(
|
||||
payment_type_info, 'SeqTp')
|
||||
sequence_type_node.text = sequence_type
|
||||
|
||||
if gen_args['payment_method'] == 'DD':
|
||||
request_date_tag = 'ReqdColltnDt'
|
||||
else:
|
||||
request_date_tag = 'ReqdExctnDt'
|
||||
requested_date_node = etree.SubElement(
|
||||
payment_info, request_date_tag)
|
||||
requested_date_node.text = requested_date
|
||||
return payment_info, nb_of_transactions, control_sum
|
||||
|
||||
@api.model
|
||||
def _must_have_initiating_party(self, gen_args):
|
||||
'''This method is designed to be inherited in localization modules for
|
||||
countries in which the initiating party is required'''
|
||||
return False
|
||||
|
||||
@api.model
|
||||
def generate_initiating_party_block(self, parent_node, gen_args):
|
||||
my_company_name = self._prepare_field(
|
||||
'Company Name',
|
||||
'self.company_partner_bank_id.partner_id.name',
|
||||
{'self': self}, gen_args.get('name_maxsize'), gen_args=gen_args)
|
||||
initiating_party = etree.SubElement(parent_node, 'InitgPty')
|
||||
initiating_party_name = etree.SubElement(initiating_party, 'Nm')
|
||||
initiating_party_name.text = my_company_name
|
||||
initiating_party_identifier = (
|
||||
self.payment_mode_id.initiating_party_identifier or
|
||||
self.payment_mode_id.company_id.initiating_party_identifier)
|
||||
initiating_party_issuer = (
|
||||
self.payment_mode_id.initiating_party_issuer or
|
||||
self.payment_mode_id.company_id.initiating_party_issuer)
|
||||
# in pain.008.001.02.ch.01.xsd files they use
|
||||
# initiating_party_identifier but not initiating_party_issuer
|
||||
if initiating_party_identifier:
|
||||
iniparty_id = etree.SubElement(initiating_party, 'Id')
|
||||
iniparty_org_id = etree.SubElement(iniparty_id, 'OrgId')
|
||||
iniparty_org_other = etree.SubElement(iniparty_org_id, 'Othr')
|
||||
iniparty_org_other_id = etree.SubElement(iniparty_org_other, 'Id')
|
||||
iniparty_org_other_id.text = initiating_party_identifier
|
||||
if initiating_party_issuer:
|
||||
iniparty_org_other_issuer = etree.SubElement(
|
||||
iniparty_org_other, 'Issr')
|
||||
iniparty_org_other_issuer.text = initiating_party_issuer
|
||||
elif self._must_have_initiating_party(gen_args):
|
||||
raise UserError(
|
||||
_("Missing 'Initiating Party Issuer' and/or "
|
||||
"'Initiating Party Identifier' for the company '%s'. "
|
||||
"Both fields must have a value.")
|
||||
% self.company_id.name)
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def generate_party_agent(
|
||||
self, parent_node, party_type, order, partner_bank, gen_args,
|
||||
bank_line=None):
|
||||
"""Generate the piece of the XML file corresponding to BIC
|
||||
This code is mutualized between TRF and DD
|
||||
Starting from Feb 1st 2016, we should be able to do
|
||||
cross-border SEPA transfers without BIC, cf
|
||||
http://www.europeanpaymentscouncil.eu/index.cfm/
|
||||
sepa-credit-transfer/iban-and-bic/
|
||||
In some localization (l10n_ch_sepa for example), they need the
|
||||
bank_line argument"""
|
||||
assert order in ('B', 'C'), "Order can be 'B' or 'C'"
|
||||
if partner_bank.bank_bic:
|
||||
party_agent = etree.SubElement(parent_node, '%sAgt' % party_type)
|
||||
party_agent_institution = etree.SubElement(
|
||||
party_agent, 'FinInstnId')
|
||||
party_agent_bic = etree.SubElement(
|
||||
party_agent_institution, gen_args.get('bic_xml_tag'))
|
||||
party_agent_bic.text = partner_bank.bank_bic
|
||||
else:
|
||||
if order == 'B' or (
|
||||
order == 'C' and gen_args['payment_method'] == 'DD'):
|
||||
party_agent = etree.SubElement(
|
||||
parent_node, '%sAgt' % party_type)
|
||||
party_agent_institution = etree.SubElement(
|
||||
party_agent, 'FinInstnId')
|
||||
party_agent_other = etree.SubElement(
|
||||
party_agent_institution, 'Othr')
|
||||
party_agent_other_identification = etree.SubElement(
|
||||
party_agent_other, 'Id')
|
||||
party_agent_other_identification.text = 'NOTPROVIDED'
|
||||
# for Credit Transfers, in the 'C' block, if BIC is not provided,
|
||||
# we should not put the 'Creditor Agent' block at all,
|
||||
# as per the guidelines of the EPC
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def generate_party_acc_number(
|
||||
self, parent_node, party_type, order, partner_bank, gen_args,
|
||||
bank_line=None):
|
||||
party_account = etree.SubElement(
|
||||
parent_node, '%sAcct' % party_type)
|
||||
party_account_id = etree.SubElement(party_account, 'Id')
|
||||
if partner_bank.acc_type == 'iban':
|
||||
party_account_iban = etree.SubElement(
|
||||
party_account_id, 'IBAN')
|
||||
party_account_iban.text = partner_bank.sanitized_acc_number
|
||||
else:
|
||||
party_account_other = etree.SubElement(
|
||||
party_account_id, 'Othr')
|
||||
party_account_other_id = etree.SubElement(
|
||||
party_account_other, 'Id')
|
||||
party_account_other_id.text = partner_bank.sanitized_acc_number
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def generate_party_block(
|
||||
self, parent_node, party_type, order, partner_bank, gen_args,
|
||||
bank_line=None):
|
||||
"""Generate the piece of the XML file corresponding to Name+IBAN+BIC
|
||||
This code is mutualized between TRF and DD
|
||||
In some localization (l10n_ch_sepa for example), they need the
|
||||
bank_line argument"""
|
||||
assert order in ('B', 'C'), "Order can be 'B' or 'C'"
|
||||
if party_type == 'Cdtr':
|
||||
party_type_label = 'Creditor'
|
||||
elif party_type == 'Dbtr':
|
||||
party_type_label = 'Debtor'
|
||||
name = 'partner_bank.partner_id.name'
|
||||
eval_ctx = {'partner_bank': partner_bank}
|
||||
party_name = self._prepare_field(
|
||||
'%s Name' % party_type_label, name, eval_ctx,
|
||||
gen_args.get('name_maxsize'), gen_args=gen_args)
|
||||
# At C level, the order is : BIC, Name, IBAN
|
||||
# At B level, the order is : Name, IBAN, BIC
|
||||
if order == 'C':
|
||||
self.generate_party_agent(
|
||||
parent_node, party_type, order, partner_bank, gen_args,
|
||||
bank_line=bank_line)
|
||||
party = etree.SubElement(parent_node, party_type)
|
||||
party_nm = etree.SubElement(party, 'Nm')
|
||||
party_nm.text = party_name
|
||||
partner = partner_bank.partner_id
|
||||
if partner.country_id:
|
||||
postal_address = etree.SubElement(party, 'PstlAdr')
|
||||
country = etree.SubElement(postal_address, 'Ctry')
|
||||
country.text = self._prepare_field(
|
||||
'Country', 'partner.country_id.code',
|
||||
{'partner': partner}, 2, gen_args=gen_args)
|
||||
if partner.street:
|
||||
adrline1 = etree.SubElement(postal_address, 'AdrLine')
|
||||
adrline1.text = self._prepare_field(
|
||||
'Adress Line1', 'partner.street',
|
||||
{'partner': partner}, 70, gen_args=gen_args)
|
||||
if partner.city and partner.zip:
|
||||
adrline2 = etree.SubElement(postal_address, 'AdrLine')
|
||||
adrline2.text = self._prepare_field(
|
||||
'Address Line2', "partner.zip + ' ' + partner.city",
|
||||
{'partner': partner}, 70, gen_args=gen_args)
|
||||
|
||||
self.generate_party_acc_number(
|
||||
parent_node, party_type, order, partner_bank, gen_args,
|
||||
bank_line=bank_line)
|
||||
|
||||
if order == 'B':
|
||||
self.generate_party_agent(
|
||||
parent_node, party_type, order, partner_bank, gen_args,
|
||||
bank_line=bank_line)
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def generate_remittance_info_block(self, parent_node, line, gen_args):
|
||||
remittance_info = etree.SubElement(
|
||||
parent_node, 'RmtInf')
|
||||
if line.communication_type == 'normal':
|
||||
remittance_info_unstructured = etree.SubElement(
|
||||
remittance_info, 'Ustrd')
|
||||
remittance_info_unstructured.text = \
|
||||
self._prepare_field(
|
||||
'Remittance Unstructured Information',
|
||||
'line.communication', {'line': line}, 140,
|
||||
gen_args=gen_args)
|
||||
else:
|
||||
remittance_info_structured = etree.SubElement(
|
||||
remittance_info, 'Strd')
|
||||
creditor_ref_information = etree.SubElement(
|
||||
remittance_info_structured, 'CdtrRefInf')
|
||||
if gen_args.get('pain_flavor') == 'pain.001.001.02':
|
||||
creditor_ref_info_type = etree.SubElement(
|
||||
creditor_ref_information, 'CdtrRefTp')
|
||||
creditor_ref_info_type_code = etree.SubElement(
|
||||
creditor_ref_info_type, 'Cd')
|
||||
creditor_ref_info_type_code.text = 'SCOR'
|
||||
# SCOR means "Structured Communication Reference"
|
||||
creditor_ref_info_type_issuer = etree.SubElement(
|
||||
creditor_ref_info_type, 'Issr')
|
||||
creditor_ref_info_type_issuer.text = \
|
||||
line.communication_type
|
||||
creditor_reference = etree.SubElement(
|
||||
creditor_ref_information, 'CdtrRef')
|
||||
else:
|
||||
if gen_args.get('structured_remittance_issuer', True):
|
||||
creditor_ref_info_type = etree.SubElement(
|
||||
creditor_ref_information, 'Tp')
|
||||
creditor_ref_info_type_or = etree.SubElement(
|
||||
creditor_ref_info_type, 'CdOrPrtry')
|
||||
creditor_ref_info_type_code = etree.SubElement(
|
||||
creditor_ref_info_type_or, 'Cd')
|
||||
creditor_ref_info_type_code.text = 'SCOR'
|
||||
creditor_ref_info_type_issuer = etree.SubElement(
|
||||
creditor_ref_info_type, 'Issr')
|
||||
creditor_ref_info_type_issuer.text = \
|
||||
line.communication_type
|
||||
|
||||
creditor_reference = etree.SubElement(
|
||||
creditor_ref_information, 'Ref')
|
||||
|
||||
creditor_reference.text = \
|
||||
self._prepare_field(
|
||||
'Creditor Structured Reference',
|
||||
'line.communication', {'line': line}, 35,
|
||||
gen_args=gen_args)
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def generate_creditor_scheme_identification(
|
||||
self, parent_node, identification, identification_label,
|
||||
eval_ctx, scheme_name_proprietary, gen_args):
|
||||
csi_id = etree.SubElement(parent_node, 'Id')
|
||||
csi_privateid = etree.SubElement(csi_id, 'PrvtId')
|
||||
csi_other = etree.SubElement(csi_privateid, 'Othr')
|
||||
csi_other_id = etree.SubElement(csi_other, 'Id')
|
||||
csi_other_id.text = self._prepare_field(
|
||||
identification_label, identification, eval_ctx, gen_args=gen_args)
|
||||
csi_scheme_name = etree.SubElement(csi_other, 'SchmeNm')
|
||||
csi_scheme_name_proprietary = etree.SubElement(
|
||||
csi_scheme_name, 'Prtry')
|
||||
csi_scheme_name_proprietary.text = scheme_name_proprietary
|
||||
return True
|
||||
22
account_banking_pain_base/models/bank_payment_line.py
Normal file
22
account_banking_pain_base/models/bank_payment_line.py
Normal file
@@ -0,0 +1,22 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2013-2015 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields, api
|
||||
|
||||
|
||||
class BankPaymentLine(models.Model):
|
||||
_inherit = 'bank.payment.line'
|
||||
|
||||
priority = fields.Selection(
|
||||
related='payment_line_ids.priority', string='Priority')
|
||||
local_instrument = fields.Selection(
|
||||
related='payment_line_ids.local_instrument',
|
||||
string='Local Instrument')
|
||||
|
||||
@api.model
|
||||
def same_fields_payment_line_and_bank_payment_line(self):
|
||||
res = super(BankPaymentLine, self).\
|
||||
same_fields_payment_line_and_bank_payment_line()
|
||||
res += ['priority', 'local_instrument']
|
||||
return res
|
||||
@@ -1,425 +0,0 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# PAIN Base module for Odoo
|
||||
# Copyright (C) 2013-2015 Akretion (http://www.akretion.com)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, api, _
|
||||
from openerp.exceptions import Warning
|
||||
from openerp.tools.safe_eval import safe_eval
|
||||
from datetime import datetime
|
||||
from lxml import etree
|
||||
from openerp import tools
|
||||
import logging
|
||||
import base64
|
||||
|
||||
|
||||
try:
|
||||
from unidecode import unidecode
|
||||
except ImportError:
|
||||
unidecode = None
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class BankingExportPain(models.AbstractModel):
|
||||
_name = 'banking.export.pain'
|
||||
|
||||
@api.model
|
||||
def _validate_iban(self, iban):
|
||||
"""if IBAN is valid, returns IBAN
|
||||
if IBAN is NOT valid, raises an error message"""
|
||||
if self.env['res.partner.bank'].is_iban_valid(iban):
|
||||
return iban.replace(' ', '')
|
||||
else:
|
||||
raise Warning(_("This IBAN is not valid : %s") % iban)
|
||||
|
||||
@api.model
|
||||
def _prepare_field(self, field_name, field_value, eval_ctx,
|
||||
max_size=0, gen_args=None):
|
||||
"""This function is designed to be inherited !"""
|
||||
if gen_args is None:
|
||||
gen_args = {}
|
||||
assert isinstance(eval_ctx, dict), 'eval_ctx must contain a dict'
|
||||
try:
|
||||
value = safe_eval(field_value, eval_ctx)
|
||||
# SEPA uses XML ; XML = UTF-8 ; UTF-8 = support for all characters
|
||||
# But we are dealing with banks...
|
||||
# and many banks don't want non-ASCCI characters !
|
||||
# cf section 1.4 "Character set" of the SEPA Credit Transfer
|
||||
# Scheme Customer-to-bank guidelines
|
||||
if gen_args.get('convert_to_ascii'):
|
||||
value = unidecode(value)
|
||||
unallowed_ascii_chars = [
|
||||
'"', '#', '$', '%', '&', '*', ';', '<', '>', '=', '@',
|
||||
'[', ']', '^', '_', '`', '{', '}', '|', '~', '\\', '!']
|
||||
for unallowed_ascii_char in unallowed_ascii_chars:
|
||||
value = value.replace(unallowed_ascii_char, '-')
|
||||
except:
|
||||
line = eval_ctx.get('line')
|
||||
if line:
|
||||
raise Warning(
|
||||
_("Cannot compute the '%s' of the Payment Line with "
|
||||
"reference '%s'.")
|
||||
% (field_name, line.name))
|
||||
else:
|
||||
raise Warning(
|
||||
_("Cannot compute the '%s'.") % field_name)
|
||||
if not isinstance(value, (str, unicode)):
|
||||
raise Warning(
|
||||
_("The type of the field '%s' is %s. It should be a string "
|
||||
"or unicode.")
|
||||
% (field_name, type(value)))
|
||||
if not value:
|
||||
raise Warning(
|
||||
_("The '%s' is empty or 0. It should have a non-null value.")
|
||||
% field_name)
|
||||
if max_size and len(value) > max_size:
|
||||
value = value[0:max_size]
|
||||
return value
|
||||
|
||||
@api.model
|
||||
def _validate_xml(self, xml_string, gen_args):
|
||||
xsd_etree_obj = etree.parse(
|
||||
tools.file_open(gen_args['pain_xsd_file']))
|
||||
official_pain_schema = etree.XMLSchema(xsd_etree_obj)
|
||||
|
||||
try:
|
||||
root_to_validate = etree.fromstring(xml_string)
|
||||
official_pain_schema.assertValid(root_to_validate)
|
||||
except Exception, e:
|
||||
logger.warning(
|
||||
"The XML file is invalid against the XML Schema Definition")
|
||||
logger.warning(xml_string)
|
||||
logger.warning(e)
|
||||
raise Warning(
|
||||
_("The generated XML file is not valid against the official "
|
||||
"XML Schema Definition. The generated 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")
|
||||
% unicode(e))
|
||||
return True
|
||||
|
||||
@api.multi
|
||||
def finalize_sepa_file_creation(
|
||||
self, xml_root, total_amount, transactions_count, gen_args):
|
||||
xml_string = etree.tostring(
|
||||
xml_root, pretty_print=True, encoding='UTF-8',
|
||||
xml_declaration=True)
|
||||
logger.debug(
|
||||
"Generated SEPA XML file in format %s below"
|
||||
% gen_args['pain_flavor'])
|
||||
logger.debug(xml_string)
|
||||
self._validate_xml(xml_string, gen_args)
|
||||
|
||||
order_ref = []
|
||||
for order in self.payment_order_ids:
|
||||
if order.reference:
|
||||
order_ref.append(order.reference.replace('/', '-'))
|
||||
filename = '%s%s.xml' % (gen_args['file_prefix'], '-'.join(order_ref))
|
||||
|
||||
self.write({
|
||||
'nb_transactions': transactions_count,
|
||||
'total_amount': total_amount,
|
||||
'filename': filename,
|
||||
'file': base64.encodestring(xml_string),
|
||||
'state': 'finish',
|
||||
})
|
||||
|
||||
action = {
|
||||
'name': _('SEPA File'),
|
||||
'type': 'ir.actions.act_window',
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form,tree',
|
||||
'res_model': self._name,
|
||||
'res_id': self.ids[0],
|
||||
'target': 'new',
|
||||
}
|
||||
return action
|
||||
|
||||
@api.model
|
||||
def generate_group_header_block(self, parent_node, gen_args):
|
||||
group_header_1_0 = etree.SubElement(parent_node, 'GrpHdr')
|
||||
message_identification_1_1 = etree.SubElement(
|
||||
group_header_1_0, 'MsgId')
|
||||
message_identification_1_1.text = self._prepare_field(
|
||||
'Message Identification',
|
||||
'self.payment_order_ids[0].reference',
|
||||
{'self': self}, 35, gen_args=gen_args)
|
||||
creation_date_time_1_2 = etree.SubElement(group_header_1_0, 'CreDtTm')
|
||||
creation_date_time_1_2.text = datetime.strftime(
|
||||
datetime.today(), '%Y-%m-%dT%H:%M:%S')
|
||||
if gen_args.get('pain_flavor') == 'pain.001.001.02':
|
||||
# batch_booking is in "Group header" with pain.001.001.02
|
||||
# and in "Payment info" in pain.001.001.03/04
|
||||
batch_booking = etree.SubElement(group_header_1_0, 'BtchBookg')
|
||||
batch_booking.text = unicode(self.batch_booking).lower()
|
||||
nb_of_transactions_1_6 = etree.SubElement(
|
||||
group_header_1_0, 'NbOfTxs')
|
||||
control_sum_1_7 = etree.SubElement(group_header_1_0, 'CtrlSum')
|
||||
# Grpg removed in pain.001.001.03
|
||||
if gen_args.get('pain_flavor') == 'pain.001.001.02':
|
||||
grouping = etree.SubElement(group_header_1_0, 'Grpg')
|
||||
grouping.text = 'GRPD'
|
||||
self.generate_initiating_party_block(group_header_1_0, gen_args)
|
||||
return group_header_1_0, nb_of_transactions_1_6, control_sum_1_7
|
||||
|
||||
@api.model
|
||||
def generate_start_payment_info_block(
|
||||
self, parent_node, payment_info_ident,
|
||||
priority, local_instrument, sequence_type, requested_date,
|
||||
eval_ctx, gen_args):
|
||||
payment_info_2_0 = etree.SubElement(parent_node, 'PmtInf')
|
||||
payment_info_identification_2_1 = etree.SubElement(
|
||||
payment_info_2_0, 'PmtInfId')
|
||||
payment_info_identification_2_1.text = self._prepare_field(
|
||||
'Payment Information Identification',
|
||||
payment_info_ident, eval_ctx, 35, gen_args=gen_args)
|
||||
payment_method_2_2 = etree.SubElement(payment_info_2_0, 'PmtMtd')
|
||||
payment_method_2_2.text = gen_args['payment_method']
|
||||
nb_of_transactions_2_4 = False
|
||||
control_sum_2_5 = False
|
||||
if gen_args.get('pain_flavor') != 'pain.001.001.02':
|
||||
batch_booking_2_3 = etree.SubElement(payment_info_2_0, 'BtchBookg')
|
||||
batch_booking_2_3.text = unicode(self.batch_booking).lower()
|
||||
# The "SEPA Customer-to-bank
|
||||
# Implementation guidelines" for SCT and SDD says that control sum
|
||||
# and nb_of_transactions should be present
|
||||
# at both "group header" level and "payment info" level
|
||||
nb_of_transactions_2_4 = etree.SubElement(
|
||||
payment_info_2_0, 'NbOfTxs')
|
||||
control_sum_2_5 = etree.SubElement(payment_info_2_0, 'CtrlSum')
|
||||
payment_type_info_2_6 = etree.SubElement(
|
||||
payment_info_2_0, 'PmtTpInf')
|
||||
if priority and gen_args['payment_method'] != 'DD':
|
||||
instruction_priority_2_7 = etree.SubElement(
|
||||
payment_type_info_2_6, 'InstrPrty')
|
||||
instruction_priority_2_7.text = priority
|
||||
service_level_2_8 = etree.SubElement(
|
||||
payment_type_info_2_6, 'SvcLvl')
|
||||
service_level_code_2_9 = etree.SubElement(service_level_2_8, 'Cd')
|
||||
service_level_code_2_9.text = 'SEPA'
|
||||
if local_instrument:
|
||||
local_instrument_2_11 = etree.SubElement(
|
||||
payment_type_info_2_6, 'LclInstrm')
|
||||
local_instr_code_2_12 = etree.SubElement(
|
||||
local_instrument_2_11, 'Cd')
|
||||
local_instr_code_2_12.text = local_instrument
|
||||
if sequence_type:
|
||||
sequence_type_2_14 = etree.SubElement(
|
||||
payment_type_info_2_6, 'SeqTp')
|
||||
sequence_type_2_14.text = sequence_type
|
||||
|
||||
if gen_args['payment_method'] == 'DD':
|
||||
request_date_tag = 'ReqdColltnDt'
|
||||
else:
|
||||
request_date_tag = 'ReqdExctnDt'
|
||||
requested_date_2_17 = etree.SubElement(
|
||||
payment_info_2_0, request_date_tag)
|
||||
requested_date_2_17.text = requested_date
|
||||
return payment_info_2_0, nb_of_transactions_2_4, control_sum_2_5
|
||||
|
||||
@api.model
|
||||
def _must_have_initiating_party(self, gen_args):
|
||||
'''This method is designed to be inherited in localization modules for
|
||||
countries in which the initiating party is required'''
|
||||
return False
|
||||
|
||||
@api.model
|
||||
def generate_initiating_party_block(self, parent_node, gen_args):
|
||||
my_company_name = self._prepare_field(
|
||||
'Company Name',
|
||||
'self.payment_order_ids[0].mode.bank_id.partner_id.name',
|
||||
{'self': self}, gen_args.get('name_maxsize'), gen_args=gen_args)
|
||||
initiating_party_1_8 = etree.SubElement(parent_node, 'InitgPty')
|
||||
initiating_party_name = etree.SubElement(initiating_party_1_8, 'Nm')
|
||||
initiating_party_name.text = my_company_name
|
||||
initiating_party_identifier =\
|
||||
self.payment_order_ids[0].company_id.\
|
||||
initiating_party_identifier
|
||||
initiating_party_issuer =\
|
||||
self.payment_order_ids[0].company_id.\
|
||||
initiating_party_issuer
|
||||
if initiating_party_identifier and initiating_party_issuer:
|
||||
iniparty_id = etree.SubElement(initiating_party_1_8, 'Id')
|
||||
iniparty_org_id = etree.SubElement(iniparty_id, 'OrgId')
|
||||
iniparty_org_other = etree.SubElement(iniparty_org_id, 'Othr')
|
||||
iniparty_org_other_id = etree.SubElement(iniparty_org_other, 'Id')
|
||||
iniparty_org_other_id.text = initiating_party_identifier
|
||||
iniparty_org_other_issuer = etree.SubElement(
|
||||
iniparty_org_other, 'Issr')
|
||||
iniparty_org_other_issuer.text = initiating_party_issuer
|
||||
elif self._must_have_initiating_party(gen_args):
|
||||
raise Warning(
|
||||
_("Missing 'Initiating Party Issuer' and/or "
|
||||
"'Initiating Party Identifier' for the company '%s'. "
|
||||
"Both fields must have a value.")
|
||||
% self.payment_order_ids[0].company_id.name)
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def generate_party_agent(
|
||||
self, parent_node, party_type, party_type_label,
|
||||
order, party_name, iban, bic, eval_ctx, gen_args):
|
||||
"""Generate the piece of the XML file corresponding to BIC
|
||||
This code is mutualized between TRF and DD"""
|
||||
assert order in ('B', 'C'), "Order can be 'B' or 'C'"
|
||||
try:
|
||||
bic = self._prepare_field(
|
||||
'%s BIC' % party_type_label, bic, eval_ctx, gen_args=gen_args)
|
||||
party_agent = etree.SubElement(parent_node, '%sAgt' % party_type)
|
||||
party_agent_institution = etree.SubElement(
|
||||
party_agent, 'FinInstnId')
|
||||
party_agent_bic = etree.SubElement(
|
||||
party_agent_institution, gen_args.get('bic_xml_tag'))
|
||||
party_agent_bic.text = bic
|
||||
except Warning:
|
||||
if order == 'C':
|
||||
if iban[0:2] != gen_args['initiating_party_country_code']:
|
||||
raise Warning(
|
||||
_('Error:'),
|
||||
_("The bank account with IBAN '%s' of partner '%s' "
|
||||
"must have an associated BIC because it is a "
|
||||
"cross-border SEPA operation.")
|
||||
% (iban, party_name))
|
||||
if order == 'B' or (
|
||||
order == 'C' and gen_args['payment_method'] == 'DD'):
|
||||
party_agent = etree.SubElement(
|
||||
parent_node, '%sAgt' % party_type)
|
||||
party_agent_institution = etree.SubElement(
|
||||
party_agent, 'FinInstnId')
|
||||
party_agent_other = etree.SubElement(
|
||||
party_agent_institution, 'Othr')
|
||||
party_agent_other_identification = etree.SubElement(
|
||||
party_agent_other, 'Id')
|
||||
party_agent_other_identification.text = 'NOTPROVIDED'
|
||||
# for Credit Transfers, in the 'C' block, if BIC is not provided,
|
||||
# we should not put the 'Creditor Agent' block at all,
|
||||
# as per the guidelines of the EPC
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def generate_party_block(
|
||||
self, parent_node, party_type, order, name, iban, bic,
|
||||
eval_ctx, gen_args):
|
||||
"""Generate the piece of the XML file corresponding to Name+IBAN+BIC
|
||||
This code is mutualized between TRF and DD"""
|
||||
assert order in ('B', 'C'), "Order can be 'B' or 'C'"
|
||||
if party_type == 'Cdtr':
|
||||
party_type_label = 'Creditor'
|
||||
elif party_type == 'Dbtr':
|
||||
party_type_label = 'Debtor'
|
||||
party_name = self._prepare_field(
|
||||
'%s Name' % party_type_label, name, eval_ctx,
|
||||
gen_args.get('name_maxsize'), gen_args=gen_args)
|
||||
piban = self._prepare_field(
|
||||
'%s IBAN' % party_type_label, iban, eval_ctx, gen_args=gen_args)
|
||||
viban = self._validate_iban(piban)
|
||||
# At C level, the order is : BIC, Name, IBAN
|
||||
# At B level, the order is : Name, IBAN, BIC
|
||||
if order == 'B':
|
||||
gen_args['initiating_party_country_code'] = viban[0:2]
|
||||
elif order == 'C':
|
||||
self.generate_party_agent(
|
||||
parent_node, party_type, party_type_label,
|
||||
order, party_name, viban, bic, eval_ctx, gen_args)
|
||||
party = etree.SubElement(parent_node, party_type)
|
||||
party_nm = etree.SubElement(party, 'Nm')
|
||||
party_nm.text = party_name
|
||||
party_account = etree.SubElement(
|
||||
parent_node, '%sAcct' % party_type)
|
||||
party_account_id = etree.SubElement(party_account, 'Id')
|
||||
party_account_iban = etree.SubElement(
|
||||
party_account_id, 'IBAN')
|
||||
party_account_iban.text = viban
|
||||
if order == 'B':
|
||||
self.generate_party_agent(
|
||||
parent_node, party_type, party_type_label,
|
||||
order, party_name, viban, bic, eval_ctx, gen_args)
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def generate_remittance_info_block(self, parent_node, line, gen_args):
|
||||
remittance_info_2_91 = etree.SubElement(
|
||||
parent_node, 'RmtInf')
|
||||
if line.state == 'normal':
|
||||
remittance_info_unstructured_2_99 = etree.SubElement(
|
||||
remittance_info_2_91, 'Ustrd')
|
||||
remittance_info_unstructured_2_99.text = \
|
||||
self._prepare_field(
|
||||
'Remittance Unstructured Information',
|
||||
'line.communication', {'line': line}, 140,
|
||||
gen_args=gen_args)
|
||||
else:
|
||||
if not line.struct_communication_type:
|
||||
raise Warning(
|
||||
_("Missing 'Structured Communication Type' on payment "
|
||||
"line with reference '%s'.")
|
||||
% line.name)
|
||||
remittance_info_structured_2_100 = etree.SubElement(
|
||||
remittance_info_2_91, 'Strd')
|
||||
creditor_ref_information_2_120 = etree.SubElement(
|
||||
remittance_info_structured_2_100, 'CdtrRefInf')
|
||||
if gen_args.get('pain_flavor') == 'pain.001.001.02':
|
||||
creditor_ref_info_type_2_121 = etree.SubElement(
|
||||
creditor_ref_information_2_120, 'CdtrRefTp')
|
||||
creditor_ref_info_type_code_2_123 = etree.SubElement(
|
||||
creditor_ref_info_type_2_121, 'Cd')
|
||||
creditor_ref_info_type_issuer_2_125 = etree.SubElement(
|
||||
creditor_ref_info_type_2_121, 'Issr')
|
||||
creditor_reference_2_126 = etree.SubElement(
|
||||
creditor_ref_information_2_120, 'CdtrRef')
|
||||
else:
|
||||
creditor_ref_info_type_2_121 = etree.SubElement(
|
||||
creditor_ref_information_2_120, 'Tp')
|
||||
creditor_ref_info_type_or_2_122 = etree.SubElement(
|
||||
creditor_ref_info_type_2_121, 'CdOrPrtry')
|
||||
creditor_ref_info_type_code_2_123 = etree.SubElement(
|
||||
creditor_ref_info_type_or_2_122, 'Cd')
|
||||
creditor_ref_info_type_issuer_2_125 = etree.SubElement(
|
||||
creditor_ref_info_type_2_121, 'Issr')
|
||||
creditor_reference_2_126 = etree.SubElement(
|
||||
creditor_ref_information_2_120, 'Ref')
|
||||
|
||||
creditor_ref_info_type_code_2_123.text = 'SCOR'
|
||||
creditor_ref_info_type_issuer_2_125.text = \
|
||||
line.struct_communication_type
|
||||
creditor_reference_2_126.text = \
|
||||
self._prepare_field(
|
||||
'Creditor Structured Reference',
|
||||
'line.communication', {'line': line}, 35,
|
||||
gen_args=gen_args)
|
||||
return True
|
||||
|
||||
@api.model
|
||||
def generate_creditor_scheme_identification(
|
||||
self, parent_node, identification, identification_label,
|
||||
eval_ctx, scheme_name_proprietary, gen_args):
|
||||
csi_id = etree.SubElement(parent_node, 'Id')
|
||||
csi_privateid = etree.SubElement(csi_id, 'PrvtId')
|
||||
csi_other = etree.SubElement(csi_privateid, 'Othr')
|
||||
csi_other_id = etree.SubElement(csi_other, 'Id')
|
||||
csi_other_id.text = self._prepare_field(
|
||||
identification_label, identification, eval_ctx, gen_args=gen_args)
|
||||
csi_scheme_name = etree.SubElement(csi_other, 'SchmeNm')
|
||||
csi_scheme_name_proprietary = etree.SubElement(
|
||||
csi_scheme_name, 'Prtry')
|
||||
csi_scheme_name_proprietary.text = scheme_name_proprietary
|
||||
return True
|
||||
@@ -1,43 +0,0 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# PAIN Base module for Odoo
|
||||
# Copyright (C) 2013-2015 Akretion (http://www.akretion.com)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, fields, api
|
||||
|
||||
|
||||
class PaymentLine(models.Model):
|
||||
_inherit = 'payment.line'
|
||||
|
||||
@api.model
|
||||
def _get_struct_communication_types(self):
|
||||
return [('ISO', 'ISO')]
|
||||
|
||||
priority = fields.Selection([
|
||||
('NORM', 'Normal'),
|
||||
('HIGH', 'High')],
|
||||
string='Priority', default='NORM',
|
||||
help="This field will be used as the 'Instruction Priority' in "
|
||||
"the generated PAIN file.")
|
||||
# Update size from 64 to 140, because PAIN allows 140 caracters
|
||||
communication = fields.Char(size=140)
|
||||
struct_communication_type = fields.Selection(
|
||||
'_get_struct_communication_types',
|
||||
string='Structured Communication Type', default='ISO')
|
||||
@@ -1,33 +0,0 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# PAIN Base module for Odoo
|
||||
# Copyright (C) 2013-2015 Akretion (http://www.akretion.com)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, fields
|
||||
|
||||
|
||||
class PaymentMode(models.Model):
|
||||
_inherit = 'payment.mode'
|
||||
|
||||
convert_to_ascii = fields.Boolean(
|
||||
string='Convert to ASCII', default=True,
|
||||
help="If active, Odoo will convert each accented caracter to "
|
||||
"the corresponding unaccented caracter, so that only ASCII "
|
||||
"caracters are used in the generated PAIN file.")
|
||||
@@ -1,26 +1,8 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# PAIN Base module for Odoo
|
||||
# Copyright (C) 2013-2015 Akretion (http://www.akretion.com)
|
||||
# Copyright (C) 2013 Noviat (http://www.noviat.com)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# @author: Luc de Meyer (Noviat)
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2013-2015 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# © 2013 Noviat (http://www.noviat.com) - Luc de Meyer
|
||||
# © 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import models, fields, api
|
||||
import logging
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (c) ACSONE SA/NV (<http://acsone.eu>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, fields
|
||||
|
||||
|
||||
class ResPartnerBank(models.Model):
|
||||
_inherit = 'res.partner.bank'
|
||||
|
||||
bank = fields.Many2one(help="If this field is set and the related bank "
|
||||
"has a 'Bank Identifier Code', then this BIC "
|
||||
"will be used to generate the credit "
|
||||
"transfers and direct debits files.")
|
||||
bank_bic = fields.Char(help="In the generation of credit transfer and "
|
||||
"direct debit files, this BIC will be used "
|
||||
"only when the 'Bank' field is empty, or "
|
||||
"has a value but the field 'Bank Identifier "
|
||||
"Code' is not set on the related bank.")
|
||||
@@ -1,24 +1,7 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# PAIN Base module for Odoo
|
||||
# Copyright (C) 2015 Akretion (http://www.akretion.com)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2015-2016 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
|
||||
from openerp import SUPERUSER_ID
|
||||
|
||||
|
||||
23
account_banking_pain_base/views/account_payment_line.xml
Normal file
23
account_banking_pain_base/views/account_payment_line.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2013-2016 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="account_payment_line_form" model="ir.ui.view">
|
||||
<field name="name">pain.base.account.payment.line</field>
|
||||
<field name="model">account.payment.line</field>
|
||||
<field name="inherit_id" ref="account_payment_order.account_payment_line_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="communication_type" position="before">
|
||||
<field name="priority"/>
|
||||
<field name="local_instrument" invisible="1"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
32
account_banking_pain_base/views/account_payment_method.xml
Normal file
32
account_banking_pain_base/views/account_payment_method.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
|
||||
<record id="account_payment_method_form" model="ir.ui.view">
|
||||
<field name="name">pain_base.account_payment_method.form</field>
|
||||
<field name="model">account.payment.method</field>
|
||||
<field name="inherit_id" ref="account_payment_mode.account_payment_method_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="payment_type" position="after">
|
||||
<field name="pain_version"/>
|
||||
<field name="convert_to_ascii"
|
||||
attrs="{'invisible': [('pain_version', '=', False)]}"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="account_payment_method_tree" model="ir.ui.view">
|
||||
<field name="name">pain_base.account_payment_method.tree</field>
|
||||
<field name="model">account.payment.method</field>
|
||||
<field name="inherit_id" ref="account_payment_mode.account_payment_method_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="payment_type" position="after">
|
||||
<field name="pain_version"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
27
account_banking_pain_base/views/account_payment_mode.xml
Normal file
27
account_banking_pain_base/views/account_payment_mode.xml
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2013-2016 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
© 2015 Antiun Ingenieria S.L. - Antonio Espinosa
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
|
||||
<record id="account_payment_mode_form" model="ir.ui.view">
|
||||
<field name="name">pain_base.account.payment.mode.form</field>
|
||||
<field name="model">account.payment.mode</field>
|
||||
<field name="inherit_id" ref="account_payment_order.account_payment_mode_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<group name="main" position="inside">
|
||||
<!-- To be set visible in the localisation modules that need it -->
|
||||
<field name="initiating_party_identifier" invisible="1"/>
|
||||
<field name="initiating_party_issuer" invisible="1"/>
|
||||
</group>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
24
account_banking_pain_base/views/account_payment_order.xml
Normal file
24
account_banking_pain_base/views/account_payment_order.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2016 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="account_payment_order_form" model="ir.ui.view">
|
||||
<field name="name">pain.base.account.payment.order.form</field>
|
||||
<field name="model">account.payment.order</field>
|
||||
<field name="inherit_id" ref="account_payment_order.account_payment_order_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="company_partner_bank_id" position="after">
|
||||
<field name="sepa"/>
|
||||
<field name="batch_booking"/>
|
||||
<field name="charge_bearer" attrs="{'invisible': [('sepa', '=', True)]}"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
23
account_banking_pain_base/views/bank_payment_line_view.xml
Normal file
23
account_banking_pain_base/views/bank_payment_line_view.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2015-2016 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="bank_payment_line_form" model="ir.ui.view">
|
||||
<field name="name">pain.base.bank.payment.line.form</field>
|
||||
<field name="model">bank.payment.line</field>
|
||||
<field name="inherit_id" ref="account_payment_order.bank_payment_line_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_bank_id" position="after">
|
||||
<field name="priority"/>
|
||||
<field name="local_instrument" invisible="1"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2013 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_payment_line_form" model="ir.ui.view">
|
||||
<field name="name">pain.base.payment.line.form</field>
|
||||
<field name="model">payment.line</field>
|
||||
<field name="inherit_id" ref="account_payment.view_payment_line_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="bank_id" position="after">
|
||||
<field name="priority"/>
|
||||
<newline />
|
||||
</field>
|
||||
<field name="state" position="after">
|
||||
<field name="struct_communication_type" attrs="{'invisible': [('state', '!=', 'structured')], 'required': [('state', '=', 'structured')]}"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_payment_order_form" model="ir.ui.view">
|
||||
<field name="name">pain.base.payment.line.inside.order.form</field>
|
||||
<field name="model">payment.order</field>
|
||||
<field name="inherit_id" ref="account_payment.view_payment_order_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='line_ids']/form//field[@name='bank_id']" position="after">
|
||||
<field name="priority"/>
|
||||
<newline />
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='line_ids']/form//field[@name='state']" position="after">
|
||||
<field name="struct_communication_type" attrs="{'invisible': [('state', '!=', 'structured')], 'required': [('state', '=', 'structured')]}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2013 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_payment_mode_form_inherit" model="ir.ui.view">
|
||||
<field name="name">add.convert_to_ascii.in.payment.mode.form</field>
|
||||
<field name="model">payment.mode</field>
|
||||
<field name="inherit_id" ref="account_banking_payment_export.view_payment_mode_form_inherit"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="type" position="after">
|
||||
<field name="convert_to_ascii"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,94 +0,0 @@
|
||||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
|
||||
:alt: License: AGPL-3
|
||||
|
||||
Account Banking - Payments Export Infrastructure
|
||||
================================================
|
||||
|
||||
This module provide an infrastructure to export payment orders.
|
||||
It includes some bug fixes and obvious enhancements to payment orders that will hopefully land in offical addons one
|
||||
day.
|
||||
This technical module provides the base infrastructure to export payment orders
|
||||
for electronic banking. It provides the following technical features:
|
||||
|
||||
* a new payment.mode.type model
|
||||
* payment.mode now has a mandatory type
|
||||
* a better implementation of payment_mode.suitable_bank_types() based on
|
||||
payment.mode.type
|
||||
* the "make payment" button launches a wizard depending on the
|
||||
payment.mode.type
|
||||
* a manual payment mode type is provided as an example, with a default "do
|
||||
nothing" wizard
|
||||
|
||||
To enable the use of payment order to collect money for customers,
|
||||
it adds a payment_order_type (payment|debit) as a basis of direct debit support
|
||||
(this field becomes visible when account_direct_debit is installed).
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
This module depends on:
|
||||
|
||||
* account_payment
|
||||
* base_iban
|
||||
|
||||
This modules is part of the OCA/bank-payment suite.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
No configuration required.
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
This module provides a menu to configure payment order types : Accounting > Configuration > Miscellaneous > Payment Export Types
|
||||
|
||||
For further information, please visit:
|
||||
|
||||
* https://www.odoo.com/forum/help-1
|
||||
|
||||
Known issues / Roadmap
|
||||
======================
|
||||
|
||||
* no known issues
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/bank-payment/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
|
||||
`here <https://github.com/OCA/bank-payment/issues/new?body=module:%20account_banking_payment_export%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* Stéphane Bidoul <stephane.bidoul@acsone.eu>
|
||||
* Alexis de Lattre
|
||||
* Pedro M. Baeza
|
||||
* Adrien Peiffer <adrien.peiffer@acsone.eu>
|
||||
* Stefan Rijnhart
|
||||
* Laurent Mignon <laurent.mignon@acsone.eu>
|
||||
* Alexandre Fayolle
|
||||
* Danimar Ribeiro
|
||||
* Erwin van der Ploeg
|
||||
* Raphaël Valyi
|
||||
* Sandy Carter
|
||||
* Angel Moya <angel.moya@domatix.com>
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
.. image:: http://odoo-community.org/logo.png
|
||||
:alt: Odoo Community Association
|
||||
:target: http://odoo-community.org
|
||||
|
||||
This module is maintained by the OCA.
|
||||
|
||||
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.
|
||||
|
||||
To contribute to this module, please visit http://odoo-community.org.
|
||||
@@ -1,52 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
|
||||
# (C) 2011 - 2013 Therp BV (<http://therp.nl>).
|
||||
# (C) 2013 - 2014 ACSONE SA (<http://acsone.eu>).
|
||||
#
|
||||
# All other contributions are (C) by their respective contributors
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
{
|
||||
'name': 'Account Banking - Payments Export Infrastructure',
|
||||
'version': '8.0.0.1.165',
|
||||
'license': 'AGPL-3',
|
||||
'author': "ACSONE SA/NV, "
|
||||
"Therp BV, "
|
||||
"Serv. Tecnol. Avanzados - Pedro M. Baeza, "
|
||||
"Odoo Community Association (OCA)",
|
||||
'website': 'https://github.com/OCA/bank-payment',
|
||||
'category': 'Banking addons',
|
||||
'depends': [
|
||||
'account_payment',
|
||||
'base_iban', # for manual_bank_tranfer
|
||||
'document', # to see the attachments on payment.order
|
||||
],
|
||||
'data': [
|
||||
'views/account_payment.xml',
|
||||
'views/payment_mode.xml',
|
||||
'views/payment_mode_type.xml',
|
||||
'wizard/bank_payment_manual.xml',
|
||||
'wizard/payment_order_create_view.xml',
|
||||
'data/payment_mode_type.xml',
|
||||
'workflow/account_payment.xml',
|
||||
'security/ir.model.access.csv',
|
||||
],
|
||||
'demo': ['demo/banking_demo.xml'],
|
||||
'installable': False,
|
||||
}
|
||||
@@ -1,102 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="bank_fortuneo" model="res.bank">
|
||||
<field name="name">Fortuneo Banque</field>
|
||||
<field name="bic">FTNOFRP1XXX</field>
|
||||
<field name="street">26 avenue des Champs Elysées</field>
|
||||
<field name="zip">75008</field>
|
||||
<field name="city">Paris</field>
|
||||
<field name="country" ref="base.fr"/>
|
||||
</record>
|
||||
|
||||
<record id="bank_la_banque_postale" model="res.bank">
|
||||
<field name="name">La Banque Postale</field>
|
||||
<field name="bic">PSSTFRPPXXX</field>
|
||||
<field name="street">115 rue de Sèvres</field>
|
||||
<field name="zip">75007</field>
|
||||
<field name="city">Paris</field>
|
||||
<field name="country" ref="base.fr"/>
|
||||
</record>
|
||||
|
||||
<record id="bank_societe_generale" model="res.bank">
|
||||
<field name="name">Société Générale</field>
|
||||
<field name="bic">SOGEFRPPXXX</field>
|
||||
<field name="street">1 avenue du Roi Fabien 1er</field>
|
||||
<field name="zip">75008</field>
|
||||
<field name="city">Paris</field>
|
||||
<field name="country" ref="base.fr"/>
|
||||
</record>
|
||||
|
||||
<record id="bank_fortis" model="res.bank">
|
||||
<field name="name">BNP Paribas Fortis Charleroi</field>
|
||||
<field name="bic">GEBABEBB03A</field>
|
||||
<field name="city">Charleroi</field>
|
||||
<field name="country" ref="base.be"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="main_company_iban" model="res.partner.bank">
|
||||
<field name="acc_number">FR76 4242 4242 4242 4242 4242 424</field>
|
||||
<field name="state">iban</field>
|
||||
<field name="bank" ref="bank_la_banque_postale"/>
|
||||
<field name="partner_id" ref="base.main_partner" />
|
||||
<field name="bank_name">La Banque Postale</field>
|
||||
<field name="bank_bic">PSSTFRPPXXX</field>
|
||||
</record>
|
||||
|
||||
<record id="main_company_iban2" model="res.partner.bank">
|
||||
<field name="acc_number">FR20 1242 1242 1242 1242 1242 124</field>
|
||||
<field name="state">iban</field>
|
||||
<field name="bank" ref="bank_societe_generale"/>
|
||||
<field name="partner_id" ref="base.main_partner" />
|
||||
<field name="bank_name">Société Générale</field>
|
||||
<field name="bank_bic">SOGEFRPPXXX</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_12_iban" model="res.partner.bank">
|
||||
<field name="acc_number">FR66 1212 1212 1212 1212 1212 121</field>
|
||||
<field name="state">iban</field>
|
||||
<field name="bank" ref="bank_fortuneo"/>
|
||||
<field name="partner_id" ref="base.res_partner_12" />
|
||||
<field name="bank_name">Fortuneo Banque</field>
|
||||
<field name="bank_bic">FTNOFRP1XXX</field>
|
||||
</record>
|
||||
|
||||
<record id="res_partner_2_iban" model="res.partner.bank">
|
||||
<field name="acc_number">BE96 9988 7766 5544</field>
|
||||
<field name="state">iban</field>
|
||||
<field name="bank" ref="bank_fortis"/>
|
||||
<field name="partner_id" ref="base.res_partner_2" />
|
||||
<field name="bank_name">BNP Paribas Fortis Charleroi</field>
|
||||
<field name="bank_bic">GEBABEBB03A</field>
|
||||
</record>
|
||||
|
||||
<record id="account_payment.payment_mode_1" model="payment.mode">
|
||||
<field name="type" ref="account_banking_payment_export.manual_bank_tranfer"/>
|
||||
<field name="sale_ok" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_mode_2" model="payment.mode">
|
||||
<field name="name">Credit Trf Banque Postale</field>
|
||||
<field name="journal" ref="account.bank_journal"/>
|
||||
<field name="bank_id" ref="main_company_iban"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="type" ref="account_banking_payment_export.manual_bank_tranfer"/>
|
||||
<field name="sale_ok" eval="False"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_mode_3" model="payment.mode">
|
||||
<field name="name">Credit Trf Société Générale</field>
|
||||
<field name="journal" ref="account.bank_journal"/>
|
||||
<field name="bank_id" ref="main_company_iban2"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="type" ref="account_banking_payment_export.manual_bank_tranfer"/>
|
||||
<field name="sale_ok" eval="False"/>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,276 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_payment_export
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 8.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-07-02 10:51+0000\n"
|
||||
"PO-Revision-Date: 2015-07-02 10:51+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: account_banking_payment_export
|
||||
#: field:payment.mode,active:0
|
||||
#: field:payment.mode.type,active:0
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:account_banking_payment_export.view_payment_manual_form
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,code:0
|
||||
msgid "Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,create_uid:0
|
||||
#: field:payment.mode.type,create_uid:0
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,create_date:0
|
||||
#: field:payment.mode.type,create_date:0
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: selection:payment.mode.type,payment_order_type:0
|
||||
msgid "Debit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: selection:payment.order,payment_order_type:0
|
||||
msgid "Direct debit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/wizard/payment_order_create.py:121
|
||||
#, python-format
|
||||
msgid "Entry Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/models/account_payment.py:68
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode,type:0
|
||||
msgid "Export type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,id:0
|
||||
#: field:payment.mode.type,id:0
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:account.move.line:account_banking_payment_export.payment_order_populate_view_move_line_tree
|
||||
msgid "Journal Entry"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:account.move.line:account_banking_payment_export.payment_order_populate_view_move_line_tree
|
||||
#: model:ir.model,name:account_banking_payment_export.model_account_move_line
|
||||
msgid "Journal Items"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,write_uid:0
|
||||
#: field:payment.mode.type,write_uid:0
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,write_date:0
|
||||
#: field:payment.mode.type,write_date:0
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:account_banking_payment_export.view_payment_manual_form
|
||||
msgid "Manual payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.mode:account_banking_payment_export.view_payment_mode_form_inherit
|
||||
#: field:payment.mode,note:0
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,payment_order_type:0
|
||||
msgid "Order type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: selection:payment.mode.type,payment_order_type:0
|
||||
#: selection:payment.order,payment_order_type:0
|
||||
msgid "Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.actions.act_window,name:account_banking_payment_export.action_payment_mode_type
|
||||
#: model:ir.ui.menu,name:account_banking_payment_export.menu_payment_mode_type
|
||||
msgid "Payment Export Types"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_mode
|
||||
msgid "Payment Mode"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_mode_type
|
||||
msgid "Payment Mode Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_order
|
||||
msgid "Payment Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/models/account_payment.py:53
|
||||
#, python-format
|
||||
msgid "Payment Order Export"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/wizard/payment_order_create.py:213
|
||||
#, python-format
|
||||
msgid "Payment Orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.mode.type:account_banking_payment_export.view_payment_mode_type_form
|
||||
#: help:payment.mode.type,name:0
|
||||
msgid "Payment Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.mode.type:account_banking_payment_export.view_payment_mode_type_tree
|
||||
msgid "Payment Types"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.order,payment_order_type:0
|
||||
msgid "Payment order type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,ir_model_id:0
|
||||
msgid "Payment wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:account_banking_payment_export.view_payment_manual_form
|
||||
msgid "Please execute payment order manually, and click OK when succesfully sent."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.order.create,populate_results:0
|
||||
msgid "Populate results directly"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode,type:0
|
||||
msgid "Select the Export Payment Type for the Payment Mode."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode.type,ir_model_id:0
|
||||
msgid "Select the Payment Wizard for payments of this type. Leave empty for manual processing"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode,purchase_ok:0
|
||||
msgid "Selectable on purchase operations"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode,sale_ok:0
|
||||
msgid "Selectable on sale operations"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_manual
|
||||
msgid "Send payment order(s) manually"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode.type,code:0
|
||||
msgid "Specify the Code for Payment Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/models/account_invoice.py:34
|
||||
#, python-format
|
||||
msgid "Structured Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.mode.type:account_banking_payment_export.view_payment_mode_type_form
|
||||
#: field:payment.mode.type,suitable_bank_types:0
|
||||
msgid "Suitable bank types"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode.type,payment_order_type:0
|
||||
msgid "This field determines if this type applies to customers (Debit) or suppliers (Payment)"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:account.move.line:account_banking_payment_export.payment_order_populate_view_move_line_tree
|
||||
msgid "Total Credit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:account.move.line:account_banking_payment_export.payment_order_populate_view_move_line_tree
|
||||
msgid "Total Debit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/models/account_payment.py:69
|
||||
#, python-format
|
||||
msgid "You can only combine payment orders of the same type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.order:account_banking_payment_export.view_banking_payment_order_form_1
|
||||
msgid "launch_wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.order:account_banking_payment_export.view_banking_payment_order_form_1
|
||||
msgid "{\n"
|
||||
" 'invisible': [('state', '!=', 'draft')]}"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.order.create:account_banking_payment_export.view_create_payment_order_lines
|
||||
msgid "{'display_credit': context.get('display_credit', False),'display_debit': context.get('display_debit', False),'journal_type': 'sale', 'tree_view_ref' : 'account_banking_payment_export.payment_order_populate_view_move_line_tree'}"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,277 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_payment_export
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 8.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-07-02 10:49+0000\n"
|
||||
"PO-Revision-Date: 2015-07-02 10:49+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: account_banking_payment_export
|
||||
#: field:payment.mode,active:0
|
||||
#: field:payment.mode.type,active:0
|
||||
msgid "Active"
|
||||
msgstr "Activo"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:account_banking_payment_export.view_payment_manual_form
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,code:0
|
||||
msgid "Code"
|
||||
msgstr "Código"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,create_uid:0
|
||||
#: field:payment.mode.type,create_uid:0
|
||||
msgid "Created by"
|
||||
msgstr "Creado por"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,create_date:0
|
||||
#: field:payment.mode.type,create_date:0
|
||||
msgid "Created on"
|
||||
msgstr "Creado en"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: selection:payment.mode.type,payment_order_type:0
|
||||
msgid "Debit"
|
||||
msgstr "Cobro"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: selection:payment.order,payment_order_type:0
|
||||
msgid "Direct debit"
|
||||
msgstr "Adeudo directo (cobro)"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/wizard/payment_order_create.py:121
|
||||
#, python-format
|
||||
msgid "Entry Lines"
|
||||
msgstr "Líneas de pago"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/models/account_payment.py:68
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode,type:0
|
||||
msgid "Export type"
|
||||
msgstr "Tipo de exportación"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,id:0
|
||||
#: field:payment.mode.type,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_account_invoice
|
||||
msgid "Invoice"
|
||||
msgstr "Factura"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:account.move.line:account_banking_payment_export.payment_order_populate_view_move_line_tree
|
||||
msgid "Journal Entry"
|
||||
msgstr "Asiento contable"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:account.move.line:account_banking_payment_export.payment_order_populate_view_move_line_tree
|
||||
#: model:ir.model,name:account_banking_payment_export.model_account_move_line
|
||||
msgid "Journal Items"
|
||||
msgstr "Apuntes contables"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,write_uid:0
|
||||
#: field:payment.mode.type,write_uid:0
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última actualización por"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,write_date:0
|
||||
#: field:payment.mode.type,write_date:0
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última actualización en"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:account_banking_payment_export.view_payment_manual_form
|
||||
msgid "Manual payment"
|
||||
msgstr "Pago manual"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,name:0
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.mode:account_banking_payment_export.view_payment_mode_form_inherit
|
||||
#: field:payment.mode,note:0
|
||||
msgid "Note"
|
||||
msgstr "Descripción"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,payment_order_type:0
|
||||
msgid "Order type"
|
||||
msgstr "Tipo de orden"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: selection:payment.mode.type,payment_order_type:0
|
||||
#: selection:payment.order,payment_order_type:0
|
||||
msgid "Payment"
|
||||
msgstr "Pago"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.actions.act_window,name:account_banking_payment_export.action_payment_mode_type
|
||||
#: model:ir.ui.menu,name:account_banking_payment_export.menu_payment_mode_type
|
||||
msgid "Payment Export Types"
|
||||
msgstr "Tipos de exportación de pagos"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_mode
|
||||
msgid "Payment Mode"
|
||||
msgstr "Modo de pago"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_mode_type
|
||||
msgid "Payment Mode Type"
|
||||
msgstr "Tipo del modo de pago"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_order
|
||||
msgid "Payment Order"
|
||||
msgstr "Orden de pago"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/models/account_payment.py:53
|
||||
#, python-format
|
||||
msgid "Payment Order Export"
|
||||
msgstr "Exportación de la orden de pago"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/wizard/payment_order_create.py:213
|
||||
#, python-format
|
||||
msgid "Payment Orders"
|
||||
msgstr "Órdenes de pago"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.mode.type:account_banking_payment_export.view_payment_mode_type_form
|
||||
#: help:payment.mode.type,name:0
|
||||
msgid "Payment Type"
|
||||
msgstr "Tipo de pago"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.mode.type:account_banking_payment_export.view_payment_mode_type_tree
|
||||
msgid "Payment Types"
|
||||
msgstr "Tipos de pago"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.order,payment_order_type:0
|
||||
msgid "Payment order type"
|
||||
msgstr "Tipo de la orden de pago"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,ir_model_id:0
|
||||
msgid "Payment wizard"
|
||||
msgstr "Asistente de pago"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:account_banking_payment_export.view_payment_manual_form
|
||||
msgid "Please execute payment order manually, and click OK when succesfully sent."
|
||||
msgstr "Ejecute la orden de pago manualmente (fuera del sistema), y pulse en Aceptar cuando la haya tramitado correctamente."
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.order.create,populate_results:0
|
||||
msgid "Populate results directly"
|
||||
msgstr "Incluir directamente los resultados"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode,type:0
|
||||
msgid "Select the Export Payment Type for the Payment Mode."
|
||||
msgstr "Seleccione el tipo de exportación de pago para el modo de pago."
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode.type,ir_model_id:0
|
||||
msgid "Select the Payment Wizard for payments of this type. Leave empty for manual processing"
|
||||
msgstr "Seleccione el asistente de pago para los pagos de este tipo. Déjelo vacío para un procesado manual."
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode,purchase_ok:0
|
||||
msgid "Selectable on purchase operations"
|
||||
msgstr "Seleccionable en operaciones de compra"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode,sale_ok:0
|
||||
msgid "Selectable on sale operations"
|
||||
msgstr "Seleccionable en operaciones de venta"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_manual
|
||||
msgid "Send payment order(s) manually"
|
||||
msgstr "Enviar la(s) orden(es) de pago manualmente"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode.type,code:0
|
||||
msgid "Specify the Code for Payment Type"
|
||||
msgstr "Especifica el código para el tipo de pago"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/models/account_invoice.py:34
|
||||
#, python-format
|
||||
msgid "Structured Reference"
|
||||
msgstr "Referencia esctructurada"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.mode.type:account_banking_payment_export.view_payment_mode_type_form
|
||||
#: field:payment.mode.type,suitable_bank_types:0
|
||||
msgid "Suitable bank types"
|
||||
msgstr "Tipos de cuentas bancarias adecuadas"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode.type,payment_order_type:0
|
||||
msgid "This field determines if this type applies to customers (Debit) or suppliers (Payment)"
|
||||
msgstr "Este campo determina si este tipo aplica a clientes (Cobro) o a proveedores (Pago)"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:account.move.line:account_banking_payment_export.payment_order_populate_view_move_line_tree
|
||||
msgid "Total Credit"
|
||||
msgstr "Total haber"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:account.move.line:account_banking_payment_export.payment_order_populate_view_move_line_tree
|
||||
msgid "Total Debit"
|
||||
msgstr "Total debe"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/models/account_payment.py:69
|
||||
#, python-format
|
||||
msgid "You can only combine payment orders of the same type"
|
||||
msgstr "Sólo puede combinar órdenes de pago del mismo tipo"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.order:account_banking_payment_export.view_banking_payment_order_form_1
|
||||
msgid "launch_wizard"
|
||||
msgstr "Asistente"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.order:account_banking_payment_export.view_banking_payment_order_form_1
|
||||
msgid "{\n"
|
||||
" 'invisible': [('state', '!=', 'draft')]}"
|
||||
msgstr "{\n"
|
||||
" 'invisible': [('state', '!=', 'draft')]}"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.order.create:account_banking_payment_export.view_create_payment_order_lines
|
||||
msgid "{'display_credit': context.get('display_credit', False),'display_debit': context.get('display_debit', False),'journal_type': 'sale', 'tree_view_ref' : 'account_banking_payment_export.payment_order_populate_view_move_line_tree'}"
|
||||
msgstr "{'display_credit': context.get('display_credit', False),'display_debit': context.get('display_debit', False),'journal_type': 'sale', 'tree_view_ref' : 'account_banking_payment_export.payment_order_populate_view_move_line_tree'}"
|
||||
|
||||
@@ -1,151 +0,0 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_payment_export
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 7.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-10-25 15:58+0000\n"
|
||||
"PO-Revision-Date: 2013-12-03 11:49+0000\n"
|
||||
"Last-Translator: Erwin van der Ploeg (BAS Solutions) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n"
|
||||
"X-Generator: Launchpad (build 17031)\n"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode.type,name:0
|
||||
msgid "Payment Type"
|
||||
msgstr "Betaalwijze"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_order
|
||||
msgid "Payment Order"
|
||||
msgstr "Betalingsopdracht"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:0
|
||||
msgid ""
|
||||
"Please execute payment order manually, and click OK when succesfully sent."
|
||||
msgstr ""
|
||||
"Voer de betaalopdracht handmatig uit en klik OK, wanneer succesvol verzonden."
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_mode
|
||||
msgid "Payment Mode"
|
||||
msgstr "Betaalwijze"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/model/account_payment.py:69
|
||||
#, python-format
|
||||
msgid "You can only combine payment orders of the same type"
|
||||
msgstr "U kunt alleen betalingsopdrachten van dezelfde soort combineren"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_mode_type
|
||||
msgid "Payment Mode Type"
|
||||
msgstr "Betaalwijze soort"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_account_move_line
|
||||
msgid "Journal Items"
|
||||
msgstr "Boekingen"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_manual
|
||||
msgid "Send payment order(s) manually"
|
||||
msgstr "Verzend betaalopdrachten handmatig"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,name:0
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode.type,ir_model_id:0
|
||||
msgid ""
|
||||
"Select the Payment Wizard for payments of this type. Leave empty for manual "
|
||||
"processing"
|
||||
msgstr ""
|
||||
"Selecteer de wizard voor het verwerken van betalingen van dit type. Laat "
|
||||
"leeg voor handmatige verwerking."
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:0
|
||||
msgid "Manual payment"
|
||||
msgstr "Handmatige betaling"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,payment_order_ids:0
|
||||
msgid "Payment orders"
|
||||
msgstr "Betaalopdrachten"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/model/account_payment.py:52
|
||||
#, python-format
|
||||
msgid "Payment Order Export"
|
||||
msgstr "Betaalopdracht export"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode,type:0
|
||||
msgid "Select the Payment Type for the Payment Mode."
|
||||
msgstr "Selecteer het type van de betaalmodus."
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.order:0
|
||||
msgid "launch_wizard"
|
||||
msgstr "launch_wizard"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode.type,code:0
|
||||
msgid "Specify the Code for Payment Type"
|
||||
msgstr "Geef de code op voor het betaaltype"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_order_create
|
||||
msgid "payment.order.create"
|
||||
msgstr "payment.order.create"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/model/account_payment.py:68
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr "Fout"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,ir_model_id:0
|
||||
msgid "Payment wizard"
|
||||
msgstr "Betaalwizard"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode,type:0
|
||||
msgid "Payment type"
|
||||
msgstr "Betaaltype"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,code:0
|
||||
msgid "Code"
|
||||
msgstr "Code"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:0
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.mode.type:0
|
||||
msgid "Payment mode"
|
||||
msgstr "Betaalwijze"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:0
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,suitable_bank_types:0
|
||||
msgid "Suitable bank types"
|
||||
msgstr "Geschikte banktypen"
|
||||
@@ -1,236 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_payment_export
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 8.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-10-31 22:52+0000\n"
|
||||
"PO-Revision-Date: 2014-10-31 22:52+0000\n"
|
||||
"Last-Translator: Danimar Ribeiro<danimaribeiro@gmail.com>\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: account_banking_payment_export
|
||||
#: field:payment.mode,active:0
|
||||
#: field:payment.mode.type,active:0
|
||||
msgid "Active"
|
||||
msgstr "Ativo"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode,sale_ok:0
|
||||
msgid "Selectable on sale operations"
|
||||
msgstr "Selecionável em operações de venda"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode,purchase_ok:0
|
||||
msgid "Selectable on purchase operations"
|
||||
msgstr "Selecionável em operações de compra"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:account.move.line,amount_to_pay:0
|
||||
msgid "Amount to pay"
|
||||
msgstr "Valor a pagar"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:account_banking_payment_export.view_payment_manual_form
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,code:0
|
||||
msgid "Code"
|
||||
msgstr "Código"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,create_uid:0
|
||||
#: field:payment.mode.type,create_uid:0
|
||||
msgid "Created by"
|
||||
msgstr "Criado por"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,create_date:0
|
||||
#: field:payment.mode.type,create_date:0
|
||||
msgid "Created on"
|
||||
msgstr "Criado em"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: selection:payment.mode.type,payment_order_type:0
|
||||
msgid "Debit"
|
||||
msgstr "Débito"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: selection:payment.order,payment_order_type:0
|
||||
msgid "Direct debit"
|
||||
msgstr "Débito direto"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/wizard/payment_order_create.py:77
|
||||
#, python-format
|
||||
msgid "Entry Lines"
|
||||
msgstr "Linhas de pagamento"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/models/account_payment.py:68
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr "Erro"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode,type:0
|
||||
msgid "Export type"
|
||||
msgstr "Tipo de exportação"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,id:0
|
||||
#: field:payment.mode.type,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_account_move_line
|
||||
msgid "Journal Items"
|
||||
msgstr "Itens de Diário"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,write_uid:0
|
||||
#: field:payment.mode.type,write_uid:0
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última Atualização por"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.manual,write_date:0
|
||||
#: field:payment.mode.type,write_date:0
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última Atualização em"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:account_banking_payment_export.view_payment_manual_form
|
||||
msgid "Manual payment"
|
||||
msgstr "Pagamento manual"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,name:0
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,payment_order_type:0
|
||||
msgid "Order type"
|
||||
msgstr "Tipo de ordem"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: selection:payment.mode.type,payment_order_type:0
|
||||
#: selection:payment.order,payment_order_type:0
|
||||
msgid "Payment"
|
||||
msgstr "Pagamento"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.actions.act_window,name:account_banking_payment_export.action_payment_mode_type
|
||||
#: model:ir.ui.menu,name:account_banking_payment_export.menu_payment_mode_type
|
||||
msgid "Payment Export Types"
|
||||
msgstr "Tipos de exportação dos Pagamentos"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_mode
|
||||
msgid "Payment Mode"
|
||||
msgstr "Modo de pagamento"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_mode_type
|
||||
msgid "Payment Mode Type"
|
||||
msgstr "Tipo do Modo de Pagamento"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_order
|
||||
msgid "Payment Order"
|
||||
msgstr "Ordem de Pagamento"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/models/account_payment.py:53
|
||||
#, python-format
|
||||
msgid "Payment Order Export"
|
||||
msgstr "Exportação da Ordem de Pagamento"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/wizard/payment_order_create.py:169
|
||||
#, python-format
|
||||
msgid "Payment Orders"
|
||||
msgstr "Ordens de Pagamento"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.mode.type:account_banking_payment_export.view_payment_mode_type_form
|
||||
#: help:payment.mode.type,name:0
|
||||
msgid "Payment Type"
|
||||
msgstr "Tipo de pagamento"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.mode.type:account_banking_payment_export.view_payment_mode_type_tree
|
||||
msgid "Payment Types"
|
||||
msgstr "Tipos de pagamento"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.order,payment_order_type:0
|
||||
msgid "Payment order type"
|
||||
msgstr "Tipo da ordem de pagamento"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.mode.type,ir_model_id:0
|
||||
msgid "Payment wizard"
|
||||
msgstr "Assistente para Pagamentos"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.manual:account_banking_payment_export.view_payment_manual_form
|
||||
msgid "Please execute payment order manually, and click OK when succesfully sent."
|
||||
msgstr "Por favor execute a ordem de pagamento manualmente, e clique OK quando terminar de enviar."
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: field:payment.order.create,populate_results:0
|
||||
msgid "Populate results directly"
|
||||
msgstr "Incluir diretamente os resultados"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode,type:0
|
||||
msgid "Select the Export Payment Type for the Payment Mode."
|
||||
msgstr "Selecione os tipos de pagamento que permitem exportação para o Modo de Pagamento."
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode.type,ir_model_id:0
|
||||
msgid "Select the Payment Wizard for payments of this type. Leave empty for manual processing"
|
||||
msgstr "Selecione o Assistente de Pagamento para pagamentos deste tipo. Deixe vazio para processamento manual"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: model:ir.model,name:account_banking_payment_export.model_payment_manual
|
||||
msgid "Send payment order(s) manually"
|
||||
msgstr "Enviar a(s) ordem(s) de pagamento manualmente"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode.type,code:0
|
||||
msgid "Specify the Code for Payment Type"
|
||||
msgstr "Especifique o código para o Tipo de Pagamento"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.mode.type:account_banking_payment_export.view_payment_mode_type_form
|
||||
#: field:payment.mode.type,suitable_bank_types:0
|
||||
msgid "Suitable bank types"
|
||||
msgstr "Tipos de contas bancárias adequadas"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: help:payment.mode.type,payment_order_type:0
|
||||
msgid "This field determines if this type applies to customers (Debit) or suppliers (Payment)"
|
||||
msgstr "Este campo determina se este tipo se aplica a clientes (Cobrança) ou a fornecedores (Pagamentos)"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: code:addons/account_banking_payment_export/models/account_payment.py:69
|
||||
#, python-format
|
||||
msgid "You can only combine payment orders of the same type"
|
||||
msgstr "Você pode combinar ordens de pagamento do mesmo tipo"
|
||||
|
||||
#. module: account_banking_payment_export
|
||||
#: view:payment.order:account_banking_payment_export.view_banking_payment_order_form_1
|
||||
msgid "launch_wizard"
|
||||
msgstr "launch_wizard"
|
||||
@@ -1,8 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from . import account_payment
|
||||
# important: import payment_mode_type before payment_mode
|
||||
# to let the _auto_init work properly
|
||||
from . import payment_mode_type
|
||||
from . import payment_mode
|
||||
from . import account_move_line
|
||||
from . import account_invoice
|
||||
@@ -1,52 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (C) 2004-2014 OpenERP S.A. (http://www.openerp.com/)
|
||||
# (C) 2014 Akretion (http://www.akretion.com/)
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, fields, api
|
||||
|
||||
|
||||
class AccountMoveLine(models.Model):
|
||||
_inherit = 'account.move.line'
|
||||
|
||||
@api.one
|
||||
def _get_journal_entry_ref(self):
|
||||
if self.move_id.state == 'draft':
|
||||
if self.invoice.id:
|
||||
self.journal_entry_ref = self.invoice.number
|
||||
else:
|
||||
self.journal_entry_ref = '*' + str(self.move_id.id)
|
||||
else:
|
||||
self.journal_entry_ref = self.move_id.name
|
||||
|
||||
journal_entry_ref = fields.Char(compute=_get_journal_entry_ref,
|
||||
string='Journal Entry Ref')
|
||||
|
||||
@api.multi
|
||||
def get_balance(self):
|
||||
"""
|
||||
Return the balance of any set of move lines.
|
||||
|
||||
Not to be confused with the 'balance' field on this model, which
|
||||
returns the account balance that the move line applies to.
|
||||
"""
|
||||
total = 0.0
|
||||
for line in self:
|
||||
total += (line.debit or 0.0) - (line.credit or 0.0)
|
||||
return total
|
||||
@@ -1,89 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
|
||||
# (C) 2011 - 2013 Therp BV (<http://therp.nl>).
|
||||
#
|
||||
# All other contributions are (C) by their respective contributors
|
||||
#
|
||||
# All Rights Reserved
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, fields, api, exceptions, workflow, _
|
||||
|
||||
|
||||
class PaymentOrder(models.Model):
|
||||
_inherit = 'payment.order'
|
||||
|
||||
payment_order_type = fields.Selection(
|
||||
[('payment', 'Payment'), ('debit', 'Direct debit')],
|
||||
'Payment order type', required=True, default='payment',
|
||||
readonly=True, states={'draft': [('readonly', False)]})
|
||||
mode_type = fields.Many2one('payment.mode.type', related='mode.type',
|
||||
string='Payment Type')
|
||||
total = fields.Float(compute='_compute_total', store=True)
|
||||
|
||||
@api.depends('line_ids', 'line_ids.amount')
|
||||
@api.one
|
||||
def _compute_total(self):
|
||||
self.total = sum(self.mapped('line_ids.amount') or [0.0])
|
||||
|
||||
@api.multi
|
||||
def launch_wizard(self):
|
||||
"""Search for a wizard to launch according to the type.
|
||||
If type is manual. just confirm the order.
|
||||
Previously (pre-v6) in account_payment/wizard/wizard_pay.py
|
||||
"""
|
||||
context = self.env.context.copy()
|
||||
order = self[0]
|
||||
# check if a wizard is defined for the first order
|
||||
if order.mode.type and order.mode.type.ir_model_id:
|
||||
context['active_ids'] = self.ids
|
||||
wizard_model = order.mode.type.ir_model_id.model
|
||||
wizard_obj = self.env[wizard_model]
|
||||
return {
|
||||
'name': wizard_obj._description or _('Payment Order Export'),
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form',
|
||||
'res_model': wizard_model,
|
||||
'domain': [],
|
||||
'context': context,
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
'nodestroy': True,
|
||||
}
|
||||
else:
|
||||
# should all be manual orders without type or wizard model
|
||||
for order in self[1:]:
|
||||
if order.mode.type and order.mode.type.ir_model_id:
|
||||
raise exceptions.Warning(
|
||||
_('Error'),
|
||||
_('You can only combine payment orders of the same '
|
||||
'type'))
|
||||
# process manual payments
|
||||
for order_id in self.ids:
|
||||
workflow.trg_validate(self.env.uid, 'payment.order',
|
||||
order_id, 'done', self.env.cr)
|
||||
return {}
|
||||
|
||||
@api.multi
|
||||
def action_done(self):
|
||||
self.write({
|
||||
'date_done': fields.Date.context_today(self),
|
||||
'state': 'done',
|
||||
})
|
||||
return True
|
||||
@@ -1,110 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
|
||||
# (C) 2011 - 2013 Therp BV (<http://therp.nl>).
|
||||
#
|
||||
# All other contributions are (C) by their respective contributors
|
||||
#
|
||||
# All Rights Reserved
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, fields, api, SUPERUSER_ID
|
||||
|
||||
|
||||
class PaymentMode(models.Model):
|
||||
"""Restoring the payment type from version 5,
|
||||
used to select the export wizard (if any)
|
||||
"""
|
||||
_inherit = "payment.mode"
|
||||
|
||||
def _get_manual_bank_transfer(self, cr, uid, context=None):
|
||||
""" hack: pre-create the manual bank transfer that is also
|
||||
defined in the data directory, so we have an id in to use
|
||||
in _auto_init """
|
||||
model_data = self.pool['ir.model.data']
|
||||
try:
|
||||
_, res = model_data.get_object_reference(
|
||||
cr, uid,
|
||||
'account_banking_payment_export',
|
||||
'manual_bank_tranfer')
|
||||
except ValueError:
|
||||
payment_mode_type = self.pool['payment.mode.type']
|
||||
res = payment_mode_type.create(
|
||||
cr, uid,
|
||||
{'name': 'Manual Bank Transfer',
|
||||
'code': 'BANKMAN'})
|
||||
model_data.create(
|
||||
cr, uid,
|
||||
{'module': 'account_banking_payment_export',
|
||||
'model': 'payment.mode.type',
|
||||
'name': 'manual_bank_tranfer',
|
||||
'res_id': res,
|
||||
'noupdate': False})
|
||||
return res
|
||||
|
||||
def _auto_init(self, cr, context=None):
|
||||
""" hack: pre-create and initialize the type column so that the
|
||||
constraint setting will not fail, this is a hack, made necessary
|
||||
because Odoo tries to set the not-null constraint before
|
||||
applying default values """
|
||||
self._field_create(cr, context=context)
|
||||
column_data = self._select_column_data(cr)
|
||||
if 'type' not in column_data:
|
||||
default_type = self._get_manual_bank_transfer(
|
||||
cr, SUPERUSER_ID, context=context)
|
||||
if default_type:
|
||||
cr.execute('ALTER TABLE "{table}" ADD COLUMN "type" INTEGER'.
|
||||
format(table=self._table))
|
||||
cr.execute('UPDATE "{table}" SET type=%s'.
|
||||
format(table=self._table),
|
||||
(default_type,))
|
||||
return super(PaymentMode, self)._auto_init(cr, context=context)
|
||||
|
||||
def suitable_bank_types(self, cr, uid, payment_mode_id=None, context=None):
|
||||
""" Reinstates functional code for suitable bank type filtering.
|
||||
Current code in account_payment is disfunctional.
|
||||
"""
|
||||
res = []
|
||||
payment_mode = self.browse(cr, uid, payment_mode_id, context=context)
|
||||
if (payment_mode and payment_mode.type and
|
||||
payment_mode.type.suitable_bank_types):
|
||||
res = [t.code for t in payment_mode.type.suitable_bank_types]
|
||||
return res
|
||||
|
||||
@api.model
|
||||
def _default_type(self):
|
||||
return self.env.ref(
|
||||
'account_banking_payment_export.'
|
||||
'manual_bank_tranfer', raise_if_not_found=False)\
|
||||
or self.env['payment.mode.type']
|
||||
|
||||
type = fields.Many2one(
|
||||
'payment.mode.type', string='Export type', required=True,
|
||||
help='Select the Export Payment Type for the Payment Mode.',
|
||||
default=_default_type)
|
||||
payment_order_type = fields.Selection(
|
||||
related='type.payment_order_type', readonly=True, string="Order Type",
|
||||
selection=[('payment', 'Payment'), ('debit', 'Debit')],
|
||||
help="This field, that comes from export type, determines if this "
|
||||
"mode can be selected for customers or suppliers.")
|
||||
active = fields.Boolean(string='Active', default=True)
|
||||
sale_ok = fields.Boolean(string='Selectable on sale operations',
|
||||
default=True)
|
||||
purchase_ok = fields.Boolean(string='Selectable on purchase operations',
|
||||
default=True)
|
||||
note = fields.Text(string="Note", translate=True)
|
||||
@@ -1,63 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
|
||||
# (C) 2011 - 2013 Therp BV (<http://therp.nl>).
|
||||
#
|
||||
# All other contributions are (C) by their respective contributors
|
||||
#
|
||||
# All Rights Reserved
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, fields
|
||||
|
||||
|
||||
class PaymentModeType(models.Model):
|
||||
_name = 'payment.mode.type'
|
||||
_description = 'Payment Mode Type'
|
||||
|
||||
name = fields.Char('Name', size=64, required=True, help='Payment Type')
|
||||
code = fields.Char('Code', size=64, required=True,
|
||||
help='Specify the Code for Payment Type')
|
||||
suitable_bank_types = fields.Many2many(
|
||||
comodel_name='res.partner.bank.type',
|
||||
relation='bank_type_payment_type_rel', column1='pay_type_id',
|
||||
column2='bank_type_id', string='Suitable bank types', required=True)
|
||||
ir_model_id = fields.Many2one(
|
||||
'ir.model', string='Payment wizard',
|
||||
help='Select the Payment Wizard for payments of this type. Leave '
|
||||
'empty for manual processing',
|
||||
domain=[('osv_memory', '=', True)])
|
||||
payment_order_type = fields.Selection(
|
||||
[('payment', 'Payment'),
|
||||
('debit', 'Debit')],
|
||||
string='Order type', required=True, default='payment',
|
||||
help="This field determines if this type applies to customers "
|
||||
"(Debit) or suppliers (Payment)")
|
||||
active = fields.Boolean(string='Active', default=True)
|
||||
|
||||
def _auto_init(self, cr, context=None):
|
||||
res = super(PaymentModeType, self)._auto_init(cr, context=context)
|
||||
# migrate xmlid from manual_bank_transfer to avoid dependency on
|
||||
# account_banking
|
||||
cr.execute(
|
||||
"""UPDATE ir_model_data
|
||||
SET module='account_banking_payment_export'
|
||||
WHERE module='account_banking' AND
|
||||
name='manual_bank_tranfer' AND
|
||||
model='payment.mode.type'""")
|
||||
return res
|
||||
@@ -1,2 +0,0 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_payment_mode_type","payment.mode.type","model_payment_mode_type","account_payment.group_account_payment",1,1,1,1
|
||||
|
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<!-- restore wizard functionality when making payments
|
||||
-->
|
||||
|
||||
<record id="view_banking_payment_order_form_1" model="ir.ui.view">
|
||||
<field name="name">account.payment.order.form.banking-1</field>
|
||||
<field name="inherit_id" ref="account_payment.view_payment_order_form" />
|
||||
<field name="model">payment.order</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//button[@string='Make Payments']"
|
||||
position="attributes">
|
||||
<attribute name="name">launch_wizard</attribute>
|
||||
</xpath>
|
||||
<field name="mode" position="after">
|
||||
<field name="mode_type" invisible="1"/>
|
||||
</field>
|
||||
<xpath expr="//button[@string='Invoices']" position="attributes">
|
||||
<attribute name="attrs">{
|
||||
'invisible': [('state', '!=', 'draft')]}</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="view_payment_manual_form" model="ir.ui.view">
|
||||
<field name="name">Form for manual payment wizard</field>
|
||||
<field name="model">payment.manual</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Manual payment" version="7.0">
|
||||
<label string="Please execute payment order manually, and click OK when succesfully sent."/>
|
||||
<footer>
|
||||
<button name="button_ok" type="object" string="OK" class="oe_highlight"/>
|
||||
<button special="cancel" string="Cancel" class="oe_link"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!--
|
||||
Add the payment mode type settings
|
||||
-->
|
||||
<record id="view_payment_mode_form_inherit" model="ir.ui.view">
|
||||
<field name="name">payment.mode.form.inherit</field>
|
||||
<field name="model">payment.mode</field>
|
||||
<field name="inherit_id" ref="account_payment.view_payment_mode_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="company_id" position="after">
|
||||
<field name="active"/>
|
||||
<field name="type"/>
|
||||
<field name="purchase_ok"/>
|
||||
<field name="sale_ok"/>
|
||||
</field>
|
||||
<form position="inside">
|
||||
<group string="Note" col="4">
|
||||
<field name="note" nolabel="1"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,66 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_payment_mode_tree_inherit" model="ir.ui.view">
|
||||
<field name="name">payment.mode.tree.inherit</field>
|
||||
<field name="model">payment.mode</field>
|
||||
<field name="inherit_id" ref="account_payment.view_payment_mode_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="company_id" position="after">
|
||||
<field name="type"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- basic view for payment mode type -->
|
||||
<record model="ir.ui.view" id="view_payment_mode_type_form">
|
||||
<field name="name">view.payment.mode.type.form</field>
|
||||
<field name="model">payment.mode.type</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Payment Type" version="7.0">
|
||||
<group name="main">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="ir_model_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Suitable bank types">
|
||||
<field name="suitable_bank_types"
|
||||
nolabel="1"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_payment_mode_type_tree" model="ir.ui.view">
|
||||
<field name="name">view.payment.mode.type.tree</field>
|
||||
<field name="model">payment.mode.type</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Payment Types">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="active"/>
|
||||
<field name="ir_model_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_payment_mode_type" model="ir.actions.act_window">
|
||||
<field name="name">Payment Export Types</field>
|
||||
<field name="res_model">payment.mode.type</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{'active_test': False}</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_payment_mode_type"
|
||||
action="action_payment_mode_type"
|
||||
parent="account.menu_configuration_misc" />
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,3 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from . import payment_order_create
|
||||
from . import bank_payment_manual
|
||||
@@ -1,42 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
|
||||
# (C) 2011 - 2013 Therp BV (<http://therp.nl>).
|
||||
#
|
||||
# All other contributions are (C) by their respective contributors
|
||||
#
|
||||
# All Rights Reserved
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
"""This module contains a single "wizard" for confirming manual
|
||||
bank transfers.
|
||||
"""
|
||||
|
||||
from openerp import models, api, workflow
|
||||
|
||||
|
||||
class PaymentManual(models.TransientModel):
|
||||
_name = 'payment.manual'
|
||||
_description = 'Send payment order(s) manually'
|
||||
|
||||
@api.multi
|
||||
def button_ok(self):
|
||||
for order_id in self.env.context.get('active_ids', []):
|
||||
workflow.trg_validate(self.env.uid, 'payment.order', order_id,
|
||||
'done', self.env.cr)
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="view_payment_manual_form" model="ir.ui.view">
|
||||
<field name="name">Form for manual payment wizard</field>
|
||||
<field name="model">payment.manual</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Manual payment" version="7.0">
|
||||
<label string="Please execute payment order manually, and click OK when succesfully sent."/>
|
||||
<footer>
|
||||
<button name="button_ok" type="object" string="OK" class="oe_highlight"/>
|
||||
<button special="cancel" string="Cancel" class="oe_link"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,217 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
|
||||
# (C) 2011 - 2013 Therp BV (<http://therp.nl>).
|
||||
# (C) 2014 - 2015 ACSONE SA/NV (<http://acsone.eu>).
|
||||
#
|
||||
# All other contributions are (C) by their respective contributors
|
||||
#
|
||||
# All Rights Reserved
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models, fields, api, _
|
||||
|
||||
|
||||
class PaymentOrderCreate(models.TransientModel):
|
||||
_inherit = 'payment.order.create'
|
||||
|
||||
populate_results = fields.Boolean(string="Populate results directly",
|
||||
default=True)
|
||||
|
||||
@api.model
|
||||
def default_get(self, field_list):
|
||||
res = super(PaymentOrderCreate, self).default_get(field_list)
|
||||
context = self.env.context
|
||||
if ('entries' in field_list and context.get('line_ids') and
|
||||
context.get('populate_results')):
|
||||
res.update({'entries': context['line_ids']})
|
||||
return res
|
||||
|
||||
@api.multi
|
||||
def extend_payment_order_domain(self, payment_order, domain):
|
||||
self.ensure_one()
|
||||
if payment_order.payment_order_type == 'payment':
|
||||
# For payables, propose all unreconciled credit lines,
|
||||
# including partially reconciled ones.
|
||||
# If they are partially reconciled with a supplier refund,
|
||||
# the residual will be added to the payment order.
|
||||
#
|
||||
# For receivables, propose all unreconciled credit lines.
|
||||
# (ie customer refunds): they can be refunded with a payment.
|
||||
# Do not propose partially reconciled credit lines,
|
||||
# as they are deducted from a customer invoice, and
|
||||
# will not be refunded with a payment.
|
||||
domain += [('credit', '>', 0),
|
||||
'|',
|
||||
('account_id.type', '=', 'payable'),
|
||||
'&',
|
||||
('account_id.type', '=', 'receivable'),
|
||||
('reconcile_partial_id', '=', False)]
|
||||
|
||||
@api.multi
|
||||
def filter_lines(self, lines):
|
||||
""" Filter move lines before proposing them for inclusion
|
||||
in the payment order.
|
||||
|
||||
This implementation filters out move lines that are already
|
||||
included in draft or open payment orders. This prevents the
|
||||
user to include the same line in two different open payment
|
||||
orders. When the payment order is sent, it is assumed that
|
||||
the move will be reconciled soon (or immediately with
|
||||
account_banking_payment_transfer), so it will not be
|
||||
proposed anymore for payment.
|
||||
|
||||
See also https://github.com/OCA/bank-payment/issues/93.
|
||||
|
||||
:param lines: recordset of move lines
|
||||
:returns: list of move line ids
|
||||
"""
|
||||
self.ensure_one()
|
||||
payment_lines = self.env['payment.line'].\
|
||||
search([('order_id.state', 'in', ('draft', 'open')),
|
||||
('move_line_id', 'in', lines.ids)])
|
||||
to_exclude = set([l.move_line_id.id for l in payment_lines])
|
||||
return [l.id for l in lines if l.id not in to_exclude]
|
||||
|
||||
@api.multi
|
||||
def search_entries(self):
|
||||
"""This method taken from account_payment module.
|
||||
We adapt the domain based on the payment_order_type
|
||||
"""
|
||||
line_obj = self.env['account.move.line']
|
||||
model_data_obj = self.env['ir.model.data']
|
||||
# -- start account_banking_payment --
|
||||
payment = self.env['payment.order'].browse(
|
||||
self.env.context['active_id'])
|
||||
# Search for move line to pay:
|
||||
domain = [('move_id.state', '=', 'posted'),
|
||||
('reconcile_id', '=', False),
|
||||
('company_id', '=', payment.mode.company_id.id),
|
||||
'|',
|
||||
('date_maturity', '<=', self.duedate),
|
||||
('date_maturity', '=', False)]
|
||||
self.extend_payment_order_domain(payment, domain)
|
||||
# -- end account_direct_debit --
|
||||
lines = line_obj.search(domain)
|
||||
context = self.env.context.copy()
|
||||
context['line_ids'] = self.filter_lines(lines)
|
||||
context['populate_results'] = self.populate_results
|
||||
if payment.payment_order_type == 'payment':
|
||||
context['display_credit'] = True
|
||||
context['display_debit'] = False
|
||||
else:
|
||||
context['display_credit'] = False
|
||||
context['display_debit'] = True
|
||||
model_datas = model_data_obj.search(
|
||||
[('model', '=', 'ir.ui.view'),
|
||||
('name', '=', 'view_create_payment_order_lines')])
|
||||
return {'name': _('Entry Lines'),
|
||||
'context': context,
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form',
|
||||
'res_model': 'payment.order.create',
|
||||
'views': [(model_datas[0].res_id, 'form')],
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
}
|
||||
|
||||
@api.multi
|
||||
def _prepare_payment_line(self, payment, line):
|
||||
"""This function is designed to be inherited
|
||||
The resulting dict is passed to the create method of payment.line"""
|
||||
self.ensure_one()
|
||||
_today = fields.Date.context_today(self)
|
||||
date_to_pay = False # no payment date => immediate payment
|
||||
if payment.date_prefered == 'due':
|
||||
# -- account_banking
|
||||
# date_to_pay = line.date_maturity
|
||||
date_to_pay = (
|
||||
line.date_maturity
|
||||
if line.date_maturity and line.date_maturity > _today
|
||||
else False)
|
||||
# -- end account banking
|
||||
elif payment.date_prefered == 'fixed':
|
||||
# -- account_banking
|
||||
# date_to_pay = payment.date_scheduled
|
||||
date_to_pay = (
|
||||
payment.date_scheduled
|
||||
if payment.date_scheduled and payment.date_scheduled > _today
|
||||
else False)
|
||||
# -- end account banking
|
||||
# -- account_banking
|
||||
state = 'normal'
|
||||
communication = line.ref or '-'
|
||||
if line.invoice:
|
||||
if line.invoice.type in ('in_invoice', 'in_refund'):
|
||||
if line.invoice.reference_type == 'structured':
|
||||
state = 'structured'
|
||||
communication = line.invoice.reference
|
||||
else:
|
||||
if line.invoice.reference:
|
||||
communication = line.invoice.reference
|
||||
elif line.invoice.supplier_invoice_number:
|
||||
communication = line.invoice.supplier_invoice_number
|
||||
else:
|
||||
# Make sure that the communication includes the
|
||||
# customer invoice number (in the case of debit order)
|
||||
communication = line.invoice.number.replace('/', '')
|
||||
state = 'structured'
|
||||
amount_currency = line.amount_residual_currency
|
||||
line2bank = line.line2bank(payment.mode.id)
|
||||
# -- end account banking
|
||||
res = {'move_line_id': line.id,
|
||||
'amount_currency': amount_currency,
|
||||
'bank_id': line2bank.get(line.id),
|
||||
'order_id': payment.id,
|
||||
'partner_id': line.partner_id and line.partner_id.id or False,
|
||||
# account banking
|
||||
'communication': communication,
|
||||
'state': state,
|
||||
# end account banking
|
||||
'date': date_to_pay,
|
||||
'currency': (line.invoice and line.invoice.currency_id.id or
|
||||
line.journal_id.currency.id or
|
||||
line.journal_id.company_id.currency_id.id)}
|
||||
return res
|
||||
|
||||
@api.multi
|
||||
def create_payment(self):
|
||||
"""This method is a slightly modified version of the existing method on
|
||||
this model in account_payment.
|
||||
- pass the payment mode to line2bank()
|
||||
- allow invoices to create influence on the payment process: not only
|
||||
'Free' references are allowed, but others as well
|
||||
- check date_to_pay is not in the past.
|
||||
"""
|
||||
if not self.entries:
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
context = self.env.context
|
||||
payment_line_obj = self.env['payment.line']
|
||||
payment = self.env['payment.order'].browse(context['active_id'])
|
||||
# Populate the current payment with new lines:
|
||||
for line in self.entries:
|
||||
vals = self._prepare_payment_line(payment, line)
|
||||
payment_line_obj.create(vals)
|
||||
# Force reload of payment order view as a workaround for lp:1155525
|
||||
return {'name': _('Payment Orders'),
|
||||
'context': context,
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form,tree',
|
||||
'res_model': 'payment.order',
|
||||
'res_id': context['active_id'],
|
||||
'type': 'ir.actions.act_window'}
|
||||
@@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2013 Akretion (http://www.akretion.com)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_create_payment_order" model="ir.ui.view">
|
||||
<field name="name">payment.order.create.form.export</field>
|
||||
<field name="model">payment.order.create</field>
|
||||
<field name="inherit_id" ref="account_payment.view_create_payment_order"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="duedate" position="after">
|
||||
<field name="populate_results"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_create_payment_order_lines" model="ir.ui.view">
|
||||
<field name="name">add.context.to.display.maturity.date</field>
|
||||
<field name="model">payment.order.create</field>
|
||||
<field name="inherit_id" ref="account_payment.view_create_payment_order_lines"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="entries" position="attributes">
|
||||
<attribute name="context">{'display_credit': context.get('display_credit', False),'display_debit': context.get('display_debit', False),'journal_type': 'sale', 'tree_view_ref' : 'account_banking_payment_export.payment_order_populate_view_move_line_tree'}</attribute>
|
||||
<attribute name="nolabel">1</attribute>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="payment_order_populate_view_move_line_tree" model="ir.ui.view">
|
||||
<field name="name">payment.order.populate.account.move.line.tree</field>
|
||||
<field name="model">account.move.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Journal Items">
|
||||
<field name="journal_id" />
|
||||
<field name="date"/>
|
||||
<field name="name"/>
|
||||
<field name="ref"/>
|
||||
<field name="partner_id" />
|
||||
<field name="account_id" />
|
||||
<field name="journal_entry_ref" string="Journal Entry" />
|
||||
<field name="debit" sum="Total Debit" invisible="not context.get('display_debit', False)"/>
|
||||
<field name="credit" sum="Total Credit" invisible="not context.get('display_credit', False)"/>
|
||||
<field name="amount_residual" />
|
||||
<field name="date_maturity" invisible="context.get('journal_type', False) not in ['sale','sale_refund','purchase','purchase_refund']" />
|
||||
<field name="reconcile_ref"/>
|
||||
<field name="amount_currency" invisible="not context.get('currency',False)"/>
|
||||
<field name="currency_id" invisible="not context.get('currency',False)" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2015 Akretion (http://www.akretion.com/)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
The licence is in the file __openerp__.py
|
||||
-->
|
||||
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="account_payment.act_done" model="workflow.activity">
|
||||
<field name="action">action_done()</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -1,78 +0,0 @@
|
||||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
|
||||
:alt: License: AGPL-3
|
||||
|
||||
Account Banking - Payments Transfer Account
|
||||
===========================================
|
||||
|
||||
Payment order reconciliation infrastructure
|
||||
|
||||
This module reconciles invoices as soon as the payment order
|
||||
is sent, by creating a move to a transfer account (aka suspense account).
|
||||
When the moves on the suspense account are reconciled (typically through
|
||||
the bank statement reconciliation, the payment order moves to the done
|
||||
status).
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
This module depends on :
|
||||
* account_banking_payment_export
|
||||
|
||||
This module is part of the OCA/bank-payment suite.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To configure this module, you need to:
|
||||
|
||||
* create a transfer account who allow reconciliation : option "Allow Reconciliation" activated.
|
||||
* configure transfer account on payment mode. Go to the menu Accounting > Configuration > Miscellaneous > Payment Mode and complete the section "Transfer move settings".
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
This module allows to reconcile transfer account and invoice by selecting on a payment order a payment mode with the option "transfer account" activated.
|
||||
|
||||
|
||||
For further information, please visit:
|
||||
|
||||
* https://www.odoo.com/forum/help-1
|
||||
|
||||
Known issues / Roadmap
|
||||
======================
|
||||
|
||||
* No known issues
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/bank-payment/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
|
||||
`here <https://github.com/OCA/bank-payment/issues/new?body=module:%20account_banking_payment_transfer%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* Stéphane Bidoul <stephane.bidoul@acsone.eu>
|
||||
* Adrien Peiffer <adrien.peiffer@acsone.eu>
|
||||
* Alexis de Lattre
|
||||
* Matt Choplin
|
||||
* Alexandre Fayolle
|
||||
* Danimar Ribeiro
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
.. image:: http://odoo-community.org/logo.png
|
||||
:alt: Odoo Community Association
|
||||
:target: http://odoo-community.org
|
||||
|
||||
This module is maintained by the OCA.
|
||||
|
||||
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.
|
||||
|
||||
To contribute to this module, please visit http://odoo-community.org.
|
||||
@@ -1,2 +0,0 @@
|
||||
from . import model
|
||||
from .post_install import set_date_sent
|
||||
@@ -1,53 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# Copyright (C) 2009 EduSense BV (<http://www.edusense.nl>).
|
||||
# (C) 2011 - 2013 Therp BV (<http://therp.nl>).
|
||||
# (C) 2014 ACSONE SA/NV (<http://acsone.eu>).
|
||||
#
|
||||
# All other contributions are (C) by their respective contributors
|
||||
#
|
||||
# All Rights Reserved
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
{
|
||||
'name': 'Account Banking - Payments Transfer Account',
|
||||
'version': '8.0.0.2.0',
|
||||
'license': 'AGPL-3',
|
||||
'author': "Banking addons community,Odoo Community Association (OCA)",
|
||||
'website': 'https://github.com/OCA/banking',
|
||||
'category': 'Banking addons',
|
||||
'post_init_hook': 'set_date_sent',
|
||||
'depends': [
|
||||
'account_banking_payment_export',
|
||||
],
|
||||
'data': [
|
||||
'view/payment_mode.xml',
|
||||
'workflow/account_payment.xml',
|
||||
'view/account_payment.xml',
|
||||
],
|
||||
'test': [
|
||||
'test/data.yml',
|
||||
'test/test_payment_method.yml',
|
||||
'test/test_partial_payment_refunded.yml',
|
||||
'test/test_partial_payment_transfer.yml',
|
||||
|
||||
|
||||
],
|
||||
'auto_install': False,
|
||||
'installable': False,
|
||||
}
|
||||
@@ -1,340 +0,0 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_payment
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 7.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-10-25 15:58+0000\n"
|
||||
"PO-Revision-Date: 2013-10-25 15:58+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: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_order_create
|
||||
msgid "payment.order.create"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: view:payment.order:0
|
||||
msgid "{\n"
|
||||
" 'readonly': [('state', '=', 'normal')]\n"
|
||||
" }"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:204
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:224
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:236
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:240
|
||||
#, python-format
|
||||
msgid "Cannot unreconcile"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.mode,transfer_journal_id:0
|
||||
msgid "Transfer journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_order
|
||||
msgid "Payment Order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.mode.type,payment_order_type:0
|
||||
#: field:payment.order,payment_order_type:0
|
||||
msgid "Payment order type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: help:payment.mode,payment_term_ids:0
|
||||
msgid "Limit selected invoices to invoices with these payment terms"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_line
|
||||
msgid "Payment Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:251
|
||||
#, python-format
|
||||
msgid "No move line provided for line %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_mode
|
||||
msgid "Payment Mode"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:131
|
||||
#, python-format
|
||||
msgid "Can not reconcile"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.line,date_done:0
|
||||
msgid "Date Confirmed"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:179
|
||||
#, python-format
|
||||
msgid "Cannot reconcile"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.transaction.wizard,manual_payment_order_id:0
|
||||
msgid "Match this payment order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:255
|
||||
#, python-format
|
||||
msgid "Move line %s has already been paid/reconciled"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: help:payment.mode,transfer_account_id:0
|
||||
msgid "Pay off lines in sent orders with a move on this account. For debit type modes only. You can only select accounts of type regular that are marked for reconciliation"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: view:payment.order:0
|
||||
msgid "{\n"
|
||||
" 'invisible':[('state','!=','draft')]\n"
|
||||
" }"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:261
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:265
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:284
|
||||
#, python-format
|
||||
msgid "Cannot cancel link with storno"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:237
|
||||
#, python-format
|
||||
msgid "Cannot unreconcile: no payment or direct debit order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:205
|
||||
#, python-format
|
||||
msgid "Cannot unreconcile payment order: Workflow will not allow it."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:241
|
||||
#, python-format
|
||||
msgid "Direct debit order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:154
|
||||
#, python-format
|
||||
msgid "Cannot link with storno"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.import.transaction,payment_order_id:0
|
||||
#: field:banking.transaction.wizard,payment_order_id:0
|
||||
msgid "Payment order to reconcile"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:241
|
||||
#, python-format
|
||||
msgid "Payment orders without transfer move lines cannot be unreconciled this way"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: selection:payment.mode.type,payment_order_type:0
|
||||
#: selection:payment.order,payment_order_type:0
|
||||
msgid "Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.mode,payment_term_ids:0
|
||||
msgid "Payment terms"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: view:payment.mode:0
|
||||
msgid "Transfer move settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: selection:payment.mode.type,payment_order_type:0
|
||||
#: selection:payment.order,payment_order_type:0
|
||||
msgid "Direct debit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_banking_import_transaction
|
||||
msgid "Bank import transaction"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: view:payment.mode:0
|
||||
msgid "Optional filter by payment term"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:136
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:142
|
||||
#, python-format
|
||||
msgid "Move line %s has already been reconciled"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:271
|
||||
#, python-format
|
||||
msgid "%s for %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.import.transaction,payment_order_ids:0
|
||||
msgid "Payment orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:155
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:262
|
||||
#, python-format
|
||||
msgid "No direct debit order item"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:266
|
||||
#, python-format
|
||||
msgid "The direct debit order item is not marked for storno"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:285
|
||||
#, python-format
|
||||
msgid "Line id not found"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_transaction_wizard.py:62
|
||||
#, python-format
|
||||
msgid "When matching a payment order, the amounts have to match exactly"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:250
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:254
|
||||
#: code:addons/account_banking_payment/model/banking_transaction_wizard.py:61
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:135
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:141
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.mode,transfer_account_id:0
|
||||
msgid "Transfer account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:225
|
||||
#, python-format
|
||||
msgid "Cannot unreconcile: this operation is not yet supported for match type 'payment'"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.transaction.wizard,payment_line_id:0
|
||||
msgid "Matching payment or storno"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.order,date_sent:0
|
||||
msgid "Send date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_banking_import_line
|
||||
msgid "Bank import lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/payment_order_create.py:88
|
||||
#, python-format
|
||||
msgid "Entry Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:132
|
||||
#, python-format
|
||||
msgid "No move line for line %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.transaction.wizard,manual_payment_line_id:0
|
||||
msgid "Match this payment line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.transaction.wizard,payment_order_ids:0
|
||||
msgid "Matching payment orders"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.line,transit_move_line_id:0
|
||||
msgid "Debit move line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:240
|
||||
#: field:banking.import.line,payment_order_id:0
|
||||
#, python-format
|
||||
msgid "Payment order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:180
|
||||
#, python-format
|
||||
msgid "Cannot reconcile: no direct debit order"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: help:payment.mode,transfer_journal_id:0
|
||||
msgid "Journal to write payment entries when confirming a debit order of this mode"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_mode_type
|
||||
msgid "Payment Mode Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.import.transaction,payment_line_id:0
|
||||
msgid "Payment line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_banking_transaction_wizard
|
||||
msgid "Match transaction"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: help:payment.line,transit_move_line_id:0
|
||||
msgid "Move line through which the debit order pays the invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.line,msg:0
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,370 +0,0 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_payment
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 7.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-10-25 15:58+0000\n"
|
||||
"PO-Revision-Date: 2014-03-26 14:48+0000\n"
|
||||
"Last-Translator: Erwin van der Ploeg (BAS Solutions) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n"
|
||||
"X-Generator: Launchpad (build 17031)\n"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_order_create
|
||||
msgid "payment.order.create"
|
||||
msgstr "payment.order.create"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: view:payment.order:0
|
||||
msgid ""
|
||||
"{\n"
|
||||
" 'readonly': [('state', '=', 'normal')]\n"
|
||||
" }"
|
||||
msgstr ""
|
||||
"{\n"
|
||||
" 'readonly': [('state', '=', 'normal')]\n"
|
||||
" }"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:204
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:224
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:236
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:240
|
||||
#, python-format
|
||||
msgid "Cannot unreconcile"
|
||||
msgstr "Kan niet afletteren"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.mode,transfer_journal_id:0
|
||||
msgid "Transfer journal"
|
||||
msgstr "Overschrijf dagboek"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_order
|
||||
msgid "Payment Order"
|
||||
msgstr "Betalingsopdracht"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.mode.type,payment_order_type:0
|
||||
#: field:payment.order,payment_order_type:0
|
||||
msgid "Payment order type"
|
||||
msgstr "Type betaalopdracht"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: help:payment.mode,payment_term_ids:0
|
||||
msgid "Limit selected invoices to invoices with these payment terms"
|
||||
msgstr ""
|
||||
"Beperk de geselecteerde facturen tot facturen met deze betaalconditie"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_line
|
||||
msgid "Payment Line"
|
||||
msgstr "Betaalregel"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:251
|
||||
#, python-format
|
||||
msgid "No move line provided for line %s"
|
||||
msgstr "Geen mutatieregel beschikbaar voor regel %s"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_mode
|
||||
msgid "Payment Mode"
|
||||
msgstr "Betaalwijze"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:131
|
||||
#, python-format
|
||||
msgid "Can not reconcile"
|
||||
msgstr "Kan niet afletteren"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.line,date_done:0
|
||||
msgid "Date Confirmed"
|
||||
msgstr "Datum bevestigd"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:179
|
||||
#, python-format
|
||||
msgid "Cannot reconcile"
|
||||
msgstr "Kan niet afletteren"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.transaction.wizard,manual_payment_order_id:0
|
||||
msgid "Match this payment order"
|
||||
msgstr "Match deze betaalopdracht"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:255
|
||||
#, python-format
|
||||
msgid "Move line %s has already been paid/reconciled"
|
||||
msgstr "Mutatie regel %s is al betaald/afgeletterd"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: help:payment.mode,transfer_account_id:0
|
||||
msgid ""
|
||||
"Pay off lines in sent orders with a move on this account. For debit type "
|
||||
"modes only. You can only select accounts of type regular that are marked for "
|
||||
"reconciliation"
|
||||
msgstr ""
|
||||
"Betaalregels in verzonden opdrachten met een mutatie op deze rekening. "
|
||||
"Alleen voor incasso's. U kunt alleen een rekening selecteren van het "
|
||||
"standaard soort, welke zijn gemarkeerd voor afletteren."
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: view:payment.order:0
|
||||
msgid ""
|
||||
"{\n"
|
||||
" 'invisible':[('state','!=','draft')]\n"
|
||||
" }"
|
||||
msgstr ""
|
||||
"{\n"
|
||||
" 'invisible':[('state','!=','draft')]\n"
|
||||
" }"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:261
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:265
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:284
|
||||
#, python-format
|
||||
msgid "Cannot cancel link with storno"
|
||||
msgstr "Niet mogelijk koppeling met storno te annuleren"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:237
|
||||
#, python-format
|
||||
msgid "Cannot unreconcile: no payment or direct debit order"
|
||||
msgstr ""
|
||||
"Alettering ongedaan maken niet mogelijk: Geen betaling of incasso opdracht"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:205
|
||||
#, python-format
|
||||
msgid "Cannot unreconcile payment order: Workflow will not allow it."
|
||||
msgstr ""
|
||||
"Alettering ongedaan maken betaalopdracht niet mogelijk: Workflow staat dit "
|
||||
"niet toe."
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:241
|
||||
#, python-format
|
||||
msgid "Direct debit order"
|
||||
msgstr "Incasso opdracht"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:154
|
||||
#, python-format
|
||||
msgid "Cannot link with storno"
|
||||
msgstr "Kan niet koppelen met een storno"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.import.transaction,payment_order_id:0
|
||||
#: field:banking.transaction.wizard,payment_order_id:0
|
||||
msgid "Payment order to reconcile"
|
||||
msgstr "Betaalopdracht ter aflettering"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:241
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Payment orders without transfer move lines cannot be unreconciled this way"
|
||||
msgstr ""
|
||||
"Van betaalopdrachten zonder een transactie mutatie, kan het afletteren niet "
|
||||
"ongedaan worden gemaakt op deze manier."
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: selection:payment.mode.type,payment_order_type:0
|
||||
#: selection:payment.order,payment_order_type:0
|
||||
msgid "Payment"
|
||||
msgstr "Betaling"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.mode,payment_term_ids:0
|
||||
msgid "Payment terms"
|
||||
msgstr "Betaalcondities"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: view:payment.mode:0
|
||||
msgid "Transfer move settings"
|
||||
msgstr "Overschrijving instellingen"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: selection:payment.mode.type,payment_order_type:0
|
||||
#: selection:payment.order,payment_order_type:0
|
||||
msgid "Direct debit"
|
||||
msgstr "Incasso-opdracht"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_banking_import_transaction
|
||||
msgid "Bank import transaction"
|
||||
msgstr "Geïmporteerde bankmutatie"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: view:payment.mode:0
|
||||
msgid "Optional filter by payment term"
|
||||
msgstr "Optioneel filter op betaalconditie"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:136
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:142
|
||||
#, python-format
|
||||
msgid "Move line %s has already been reconciled"
|
||||
msgstr "Mutatieregel %s is al afgeletterd"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:271
|
||||
#, python-format
|
||||
msgid "%s for %s"
|
||||
msgstr "%s voor %s"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.import.transaction,payment_order_ids:0
|
||||
msgid "Payment orders"
|
||||
msgstr "Betaalopdrachten"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:155
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:262
|
||||
#, python-format
|
||||
msgid "No direct debit order item"
|
||||
msgstr "Geen incasso opdracht item"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:266
|
||||
#, python-format
|
||||
msgid "The direct debit order item is not marked for storno"
|
||||
msgstr "Het incasso opdracht item is niet gemarkeerd voor storno"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:285
|
||||
#, python-format
|
||||
msgid "Line id not found"
|
||||
msgstr "Regel ID niet gevonden"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_transaction_wizard.py:62
|
||||
#, python-format
|
||||
msgid "When matching a payment order, the amounts have to match exactly"
|
||||
msgstr ""
|
||||
"Bij het matchen van een betaalopdracht, dienen de bedragen exact overeen te "
|
||||
"komen."
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:250
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:254
|
||||
#: code:addons/account_banking_payment/model/banking_transaction_wizard.py:61
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:135
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:141
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr "Fout"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.mode,transfer_account_id:0
|
||||
msgid "Transfer account"
|
||||
msgstr "Overschrijf rekening"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:225
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot unreconcile: this operation is not yet supported for match type "
|
||||
"'payment'"
|
||||
msgstr ""
|
||||
"Afletteren ongedaan maken niet mogelijk: deze bewerking wordt nog niet "
|
||||
"ondersteund voor het match type 'betaling'"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.transaction.wizard,payment_line_id:0
|
||||
msgid "Matching payment or storno"
|
||||
msgstr "Gevonden betaling of storno"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.order,date_sent:0
|
||||
msgid "Send date"
|
||||
msgstr "Datum verstuurd"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_banking_import_line
|
||||
msgid "Bank import lines"
|
||||
msgstr "Bankimportregels"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/payment_order_create.py:88
|
||||
#, python-format
|
||||
msgid "Entry Lines"
|
||||
msgstr "Boekingsregels"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:132
|
||||
#, python-format
|
||||
msgid "No move line for line %s"
|
||||
msgstr "Geen boekingsregel voor regel %s"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.transaction.wizard,manual_payment_line_id:0
|
||||
msgid "Match this payment line"
|
||||
msgstr "Match deze betaalregel"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.transaction.wizard,payment_order_ids:0
|
||||
msgid "Matching payment orders"
|
||||
msgstr "Gekoppelde betaalopdrachten"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.line,transit_move_line_id:0
|
||||
msgid "Debit move line"
|
||||
msgstr "Debit regel"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:240
|
||||
#: field:banking.import.line,payment_order_id:0
|
||||
#, python-format
|
||||
msgid "Payment order"
|
||||
msgstr "Betaalopdracht"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:180
|
||||
#, python-format
|
||||
msgid "Cannot reconcile: no direct debit order"
|
||||
msgstr "Alettering niet mogelijk: Geen incasso opdracht"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: help:payment.mode,transfer_journal_id:0
|
||||
msgid ""
|
||||
"Journal to write payment entries when confirming a debit order of this mode"
|
||||
msgstr ""
|
||||
"Dagboek voor het boeken van betalingen bij het bevestigen van een incasso in "
|
||||
"deze mode"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_mode_type
|
||||
msgid "Payment Mode Type"
|
||||
msgstr "Betaalmode soort"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.import.transaction,payment_line_id:0
|
||||
msgid "Payment line"
|
||||
msgstr "Betaling"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_banking_transaction_wizard
|
||||
msgid "Match transaction"
|
||||
msgstr "Match deze mutatie"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: help:payment.line,transit_move_line_id:0
|
||||
msgid "Move line through which the debit order pays the invoice"
|
||||
msgstr "Mutatie waardoor de incasso opdracht de factuur betaald."
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.line,msg:0
|
||||
msgid "Message"
|
||||
msgstr "Bericht"
|
||||
@@ -1,368 +0,0 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * account_banking_payment
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 7.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-10-25 15:58+0000\n"
|
||||
"PO-Revision-Date: 2014-03-26 14:48+0000\n"
|
||||
"Last-Translator: Danimar Ribeiro<danimaribeiro@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-05-31 06:02+0000\n"
|
||||
"X-Generator: Launchpad (build 17031)\n"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_order_create
|
||||
msgid "payment.order.create"
|
||||
msgstr "payment.order.create"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: view:payment.order:0
|
||||
msgid ""
|
||||
"{\n"
|
||||
" 'readonly': [('state', '=', 'normal')]\n"
|
||||
" }"
|
||||
msgstr ""
|
||||
"{\n"
|
||||
" 'readonly': [('state', '=', 'normal')]\n"
|
||||
" }"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:204
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:224
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:236
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:240
|
||||
#, python-format
|
||||
msgid "Cannot unreconcile"
|
||||
msgstr "Não é possível desfazer a reconciliação"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.mode,transfer_journal_id:0
|
||||
msgid "Transfer journal"
|
||||
msgstr "Transferir Diário"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_order
|
||||
msgid "Payment Order"
|
||||
msgstr "Ordem de Pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.mode.type,payment_order_type:0
|
||||
#: field:payment.order,payment_order_type:0
|
||||
msgid "Payment order type"
|
||||
msgstr "Tipo de Ordem de Pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: help:payment.mode,payment_term_ids:0
|
||||
msgid "Limit selected invoices to invoices with these payment terms"
|
||||
msgstr "Limitar as faturas para serem pagas com estas condições de pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_line
|
||||
msgid "Payment Line"
|
||||
msgstr "Linha de Pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:251
|
||||
#, python-format
|
||||
msgid "No move line provided for line %s"
|
||||
msgstr "Nenhuma movimentação fornecida para a linha %s"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_mode
|
||||
msgid "Payment Mode"
|
||||
msgstr "Modo de Pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:131
|
||||
#, python-format
|
||||
msgid "Can not reconcile"
|
||||
msgstr "Não é possível reconciliar"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.line,date_done:0
|
||||
msgid "Date Confirmed"
|
||||
msgstr "Data Confirmada"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:179
|
||||
#, python-format
|
||||
msgid "Cannot reconcile"
|
||||
msgstr "Não é possível reconciliar"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.transaction.wizard,manual_payment_order_id:0
|
||||
msgid "Match this payment order"
|
||||
msgstr "Combinar esta Ordem de Pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:255
|
||||
#, python-format
|
||||
msgid "Move line %s has already been paid/reconciled"
|
||||
msgstr "Esta linha de movimentação %s já foi paga/reconciliada"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: help:payment.mode,transfer_account_id:0
|
||||
msgid ""
|
||||
"Pay off lines in sent orders with a move on this account. For debit type "
|
||||
"modes only. You can only select accounts of type regular that are marked for "
|
||||
"reconciliation"
|
||||
msgstr ""
|
||||
"Pagar os registros nas ordens enviadas com uma movimentação nesta conta. Para modos "
|
||||
"do tipo débito apenas. Você pode selecionar apenas contas do tipo regular que estão marcadas "
|
||||
"para reconciliação."
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: view:payment.order:0
|
||||
msgid ""
|
||||
"{\n"
|
||||
" 'invisible':[('state','!=','draft')]\n"
|
||||
" }"
|
||||
msgstr ""
|
||||
"{\n"
|
||||
" 'invisible':[('state','!=','draft')]\n"
|
||||
" }"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:261
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:265
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:284
|
||||
#, python-format
|
||||
msgid "Cannot cancel link with storno"
|
||||
msgstr "Não é possível cancelar ligação com estorno"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:237
|
||||
#, python-format
|
||||
msgid "Cannot unreconcile: no payment or direct debit order"
|
||||
msgstr ""
|
||||
"Não é possível desconciliar: sem pagamento ou ordem de débito direto"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:205
|
||||
#, python-format
|
||||
msgid "Cannot unreconcile payment order: Workflow will not allow it."
|
||||
msgstr ""
|
||||
"Não pode desconciliar uma ordem de pagamento: o workflow não irá permitir."
|
||||
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:241
|
||||
#, python-format
|
||||
msgid "Direct debit order"
|
||||
msgstr "Ordem de Débito Direto"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:154
|
||||
#, python-format
|
||||
msgid "Cannot link with storno"
|
||||
msgstr "Não é possível ligar com um estorno"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.import.transaction,payment_order_id:0
|
||||
#: field:banking.transaction.wizard,payment_order_id:0
|
||||
msgid "Payment order to reconcile"
|
||||
msgstr "Ordem de pagamento para reconciliar"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:241
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Payment orders without transfer move lines cannot be unreconciled this way"
|
||||
msgstr ""
|
||||
"Ordens de pagamento sem movimentações de transferência não podem ser desconciliadas desta maneira."
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: selection:payment.mode.type,payment_order_type:0
|
||||
#: selection:payment.order,payment_order_type:0
|
||||
msgid "Payment"
|
||||
msgstr "Pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.mode,payment_term_ids:0
|
||||
msgid "Payment terms"
|
||||
msgstr "Condições de Pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: view:payment.mode:0
|
||||
msgid "Transfer move settings"
|
||||
msgstr "Definições de transferência e movimentações"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: selection:payment.mode.type,payment_order_type:0
|
||||
#: selection:payment.order,payment_order_type:0
|
||||
msgid "Direct debit"
|
||||
msgstr "Débito Direto"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_banking_import_transaction
|
||||
msgid "Bank import transaction"
|
||||
msgstr "Transação de importação bancária"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: view:payment.mode:0
|
||||
msgid "Optional filter by payment term"
|
||||
msgstr "Condições de pagamento permitidas"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:136
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:142
|
||||
#, python-format
|
||||
msgid "Move line %s has already been reconciled"
|
||||
msgstr "Esta movimentação %s já foi reconciliada"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:271
|
||||
#, python-format
|
||||
msgid "%s for %s"
|
||||
msgstr "%s para %s"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.import.transaction,payment_order_ids:0
|
||||
msgid "Payment orders"
|
||||
msgstr "Ordens de Pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:155
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:262
|
||||
#, python-format
|
||||
msgid "No direct debit order item"
|
||||
msgstr "Nenhuma Ordem de Débito Direto"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:266
|
||||
#, python-format
|
||||
msgid "The direct debit order item is not marked for storno"
|
||||
msgstr "A Ordem de Débito Direto não está marcada para estorno"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:285
|
||||
#, python-format
|
||||
msgid "Line id not found"
|
||||
msgstr "Id da linha não encontrado"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_transaction_wizard.py:62
|
||||
#, python-format
|
||||
msgid "When matching a payment order, the amounts have to match exactly"
|
||||
msgstr ""
|
||||
"Quando combinando uma ordem de pagamento, os valores devem corresponder exatamente "
|
||||
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:250
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:254
|
||||
#: code:addons/account_banking_payment/model/banking_transaction_wizard.py:61
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:135
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:141
|
||||
#, python-format
|
||||
msgid "Error"
|
||||
msgstr "Erro"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.mode,transfer_account_id:0
|
||||
msgid "Transfer account"
|
||||
msgstr "Conta de Transferência"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:225
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot unreconcile: this operation is not yet supported for match type "
|
||||
"'payment'"
|
||||
msgstr ""
|
||||
"Não pode desfazer reconciliação: esta operação ainda não é suportada para este tipo: "
|
||||
"'pagamento'"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.transaction.wizard,payment_line_id:0
|
||||
msgid "Matching payment or storno"
|
||||
msgstr "Combinando pagamentos ou estornos"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.order,date_sent:0
|
||||
msgid "Send date"
|
||||
msgstr "Data de envio"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_banking_import_line
|
||||
msgid "Bank import lines"
|
||||
msgstr "Linhas de importação bancária"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/payment_order_create.py:88
|
||||
#, python-format
|
||||
msgid "Entry Lines"
|
||||
msgstr "Linhas de entrada"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/payment_line.py:132
|
||||
#, python-format
|
||||
msgid "No move line for line %s"
|
||||
msgstr "Sem movimentações para a linha %s"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.transaction.wizard,manual_payment_line_id:0
|
||||
msgid "Match this payment line"
|
||||
msgstr "Combine esta linha de pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.transaction.wizard,payment_order_ids:0
|
||||
msgid "Matching payment orders"
|
||||
msgstr "Combinando ordens de pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.line,transit_move_line_id:0
|
||||
msgid "Debit move line"
|
||||
msgstr "Movimentação de Débito"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/account_payment.py:240
|
||||
#: field:banking.import.line,payment_order_id:0
|
||||
#, python-format
|
||||
msgid "Payment order"
|
||||
msgstr "Ordem de Pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: code:addons/account_banking_payment/model/banking_import_transaction.py:180
|
||||
#, python-format
|
||||
msgid "Cannot reconcile: no direct debit order"
|
||||
msgstr "Não é possível reconciliar: nenhuma Ordem de Débito Direto"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: help:payment.mode,transfer_journal_id:0
|
||||
msgid ""
|
||||
"Journal to write payment entries when confirming a debit order of this mode"
|
||||
msgstr ""
|
||||
"Entrada de diário para salvar os pagamentos quando confirmar a ordem de pagamento deste modo"
|
||||
"deze mode"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_payment_mode_type
|
||||
msgid "Payment Mode Type"
|
||||
msgstr "Tipo do Modo de Pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:banking.import.transaction,payment_line_id:0
|
||||
msgid "Payment line"
|
||||
msgstr "Linha de Pagamento"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: model:ir.model,name:account_banking_payment.model_banking_transaction_wizard
|
||||
msgid "Match transaction"
|
||||
msgstr "Combine as transações"
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: help:payment.line,transit_move_line_id:0
|
||||
msgid "Move line through which the debit order pays the invoice"
|
||||
msgstr "Movimentação pela qual a ordem de débito paga a fatura."
|
||||
|
||||
#. module: account_banking_payment
|
||||
#: field:payment.line,msg:0
|
||||
msgid "Message"
|
||||
msgstr "Mensagem"
|
||||
@@ -1,4 +0,0 @@
|
||||
from . import account_payment
|
||||
from . import payment_line
|
||||
from . import payment_mode
|
||||
from . import account_move_reconcile
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user