Add module account_banking_mandate_sale

Add option 'mandate_required' on payment orders
Autoselect first valid mandate on customer invoice that have a payment mode 'mandate_required' = True
Add option on select move lines to pay wizard to allow selection of litigation moves (unchecked by default), in order to integrate the feature of the module account_payment_blocking
This commit is contained in:
Alexis de Lattre
2016-05-07 23:55:46 +02:00
parent 3b10598b36
commit ccb7e9f2a2
29 changed files with 370 additions and 68 deletions

View File

@@ -31,22 +31,26 @@ 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
<https://github.com/OCA/
bank-payment/issues/new?body=module:%20
account_banking_mandate%0Aversion:%20
9.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
=======
@@ -54,11 +58,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
----------

View File

@@ -20,6 +20,7 @@
],
'data': [
'views/account_banking_mandate_view.xml',
'views/account_payment_mode.xml',
'views/account_invoice_view.xml',
'views/account_payment_line.xml',
'views/res_partner_bank_view.xml',

View File

@@ -4,6 +4,8 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import account_banking_mandate
from . import account_payment_mode
from . import account_payment_order
from . import account_invoice
from . import res_partner_bank
from . import account_payment_line

View File

@@ -40,3 +40,17 @@ class AccountInvoice(models.Model):
if invoice.type == 'out_invoice':
vals['mandate_id'] = invoice.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.type in ('out_invoice', 'out_refund') and
self.payment_mode_id.payment_type == 'inbound' and
self.payment_mode_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]

View 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 AccountPaymentMode(models.Model):
_inherit = "account.payment.mode"
mandate_required = fields.Boolean(
string='Mandate Required',
help="Activate this option is this payment mode requires your "
"customer to sign a direct debit mandate with your company.")

View File

@@ -0,0 +1,20 @@
# -*- 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, api, _
from openerp.exceptions import UserError
class AccountPaymentOrder(models.Model):
_inherit = 'account.payment.order'
@api.multi
def draft2open(self):
for order in self:
if order.payment_mode_id.mandate_required:
for line in order.payment_line_ids:
if not line.mandate_id:
raise UserError(_(
"Missing mandate in payment line %s") % line.name)
return super(AccountPaymentOrder, self).draft2open()

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="account_payment_mode_form" model="ir.ui.view">
<field name="name">account_banking_mandate.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="payment_order_options" position="inside">
<field name="mandate_required"
attrs="{'invisible': [('payment_type', '!=', 'inbound')]}"/>
</group>
</field>
</record>
</data>
</openerp>

View File

@@ -0,0 +1,69 @@
.. 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
<https://github.com/OCA/
bank-payment/issues/new?body=module:%20
account_banking_mandate_sale%0Aversion:%20
9.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
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.

View File

@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
from . import models
from . import wizard

View 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,
}

View File

@@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import sale_order

View File

@@ -0,0 +1,36 @@
# -*- 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.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]

View 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>

View File

@@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import sale_make_invoice_advance

View File

@@ -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

View File

@@ -31,6 +31,10 @@ Usage
See 'readme' files of the OCA/bank-payment suite.
.. 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
======================
@@ -39,10 +43,14 @@ Known issues / Roadmap
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:%209.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
<https://github.com/OCA/
bank-payment/issues/new?body=module:%20
account_banking_pain_base%0Aversion:%20
9.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
=======
@@ -52,7 +60,7 @@ Contributors
* 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

View File

@@ -32,12 +32,21 @@ This module is part of the OCA/bank-payment suite.
Configuration
=============
No specific configuration.
Create a Payment Mode dedicated to SEPA Credit Transfer and select
the Payment Method *SEPA Credit Transfer to suppliers* (which is
automatically created upon module installation) and check that this
payment method uses the proper version of PAIN.
Usage
=====
* You need to choose first an SEPA export type on a payment mode.
In the menu *Accounting > Payments > Payment Order*, create a new
payment order and select the Payment Mode dedicated to SEPA Credit
Transfer that you created during the configuration step.
.. 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
======================
@@ -47,10 +56,14 @@ Known issues / Roadmap
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_sepa_credit_transfer%0Aversion:%209.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
<https://github.com/OCA/
bank-payment/issues/new?body=module:%20
account_banking_sepa_credit_transfer%0Aversion:%20
9.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
=======

View File

@@ -24,7 +24,6 @@ Installation
This module depends on :
* account_direct_debit
* account_banking_pain_base
* account_banking_mandate
@@ -33,14 +32,21 @@ This module is part of the OCA/bank-payment suite.
Configuration
=============
To configure this module, you need to:
* Create a payment mode and select an export type related to debit order ( eg. "SEPA direct debit ...")
Create a Payment Mode dedicated to SEPA Direct Debit and select the
Payment Method *SEPA Direct Debit for customers* (which is automatically
created upon module installation) and check that this payment method
uses the proper version of PAIN.
Usage
=====
To use this module, you must select this payment mode on a direct debit order (Menu :Accounting > Payment > Debit Orders)
In the menu *Accounting > Payments > Debit Order*, create a new debit
order and select the Payment Mode dedicated to SEPA Direct Debit that
you created during the configuration step.
.. 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
======================
@@ -50,10 +56,14 @@ Known issues / Roadmap
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_sepa_direct_debit%0Aversion:%209.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
<https://github.com/OCA/
bank-payment/issues/new?body=module:%20
account_banking_sepa_direct_debit%0Aversion:%20
9.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
=======

View File

@@ -9,6 +9,7 @@
<field name="bank_account_link">variable</field>
<field name="payment_method_id" ref="sepa_direct_debit"/>
<field name="default_journal_ids" search="[('type', 'in', ('sale', 'sale_refund'))]"/>
<field name="mandate_required" eval="True"/>
</record>
<record id="base.main_company" model="res.company">

View File

@@ -12,6 +12,7 @@
<field name="company_id" groups="base.group_multi_company"/>
<field name="active"/>
<field name="payment_method_id" widget="selection"/>
<field name="payment_type"/>
<field name="bank_account_link"/>
<field name="fixed_journal_id"
attrs="{'invisible': [('bank_account_link', '!=', 'fixed')], 'required': [('bank_account_link', '=', 'fixed')]}"

View File

@@ -47,19 +47,26 @@ You can create a Debit Order via the menu Accounting > Payments > Debit Orders a
This module also adds a button *Add to Payment Order* on supplier invoices and a button *Add to Debit Order* on customer invoices.
.. 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_payment_export%0Aversion:%209.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
<https://github.com/OCA/
bank-payment/issues/new?body=module:%20
account_payment_order%0Aversion:%20
9.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
=======
@@ -68,8 +75,8 @@ Contributors
------------
* Stéphane Bidoul <stephane.bidoul@acsone.eu>
* Alexis de Lattre
* Pedro M. Baeza
* Alexis de Lattre <alexis.delattre@akretion.com>
* Pedro M. Baeza
* Adrien Peiffer <adrien.peiffer@acsone.eu>
* Stefan Rijnhart
* Laurent Mignon <laurent.mignon@acsone.eu>

View File

@@ -34,7 +34,7 @@ class AccountPaymentOrder(models.Model):
bank_account_link = fields.Selection(
related='payment_mode_id.bank_account_link', readonly=True)
journal_id = fields.Many2one(
'account.journal', string='Bank Journal',
'account.journal', string='Bank Journal', ondelete='restrict',
readonly=True, states={'draft': [('readonly', False)]})
allowed_journal_ids = fields.Many2many(
'account.journal', compute='_compute_allowed_journals', readonly=True,

View File

@@ -20,6 +20,8 @@ class AccountPaymentLineCreate(models.TransientModel):
('posted', 'All Posted Entries'),
('all', 'All Entries'),
], string='Target Moves')
allow_blocked = fields.Boolean(
string='Allow Litigation Move Lines')
invoice = fields.Boolean(
string='Linked to an Invoice or Refund')
date_type = fields.Selection([
@@ -65,6 +67,8 @@ class AccountPaymentLineCreate(models.TransientModel):
('journal_id', 'in', journals.ids)]
if self.target_move == 'posted':
domain += [('move_id.state', '=', 'posted')]
if not self.allow_blocked:
domain += [('blocked', '!=', True)]
if self.date_type == 'due':
domain += [
'|',

View File

@@ -23,6 +23,7 @@
<field name="payment_mode"/>
<field name="target_move" widget="radio"/>
<field name="invoice"/>
<field name="allow_blocked"/>
<label string="Click on Add All Move Lines to auto-select the move lines matching the above criteria or click on Add an item to manually select the move lines filtered by the above criteria." colspan="2"/>
<button name="populate" type="object" string="Add All Move Lines"/>
</group>

View File

@@ -35,18 +35,26 @@ This payment mode is automatically associated to the invoice related to the part
When you create an payment order, only invoices related to chosen payment mode are displayed.
Invoices without any payment mode are displayed to.
.. 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_payment_partner%0Aversion:%209.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
<https://github.com/OCA/
bank-payment/issues/new?body=module:%20
account_payment_partner%0Aversion:%20
9.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
=======

View File

@@ -11,6 +11,7 @@ class AccountInvoice(models.Model):
payment_mode_id = fields.Many2one(
comodel_name='account.payment.mode', string="Payment Mode",
ondelete='restrict',
readonly=True, states={'draft': [('readonly', False)]})
@api.onchange('partner_id', 'company_id', 'type')

View File

@@ -9,5 +9,4 @@ class AccountMoveLine(models.Model):
_inherit = 'account.move.line'
payment_mode_id = fields.Many2one(
'account.payment.mode', string='Payment Mode',
ondelete='restrict')
'account.payment.mode', string='Payment Mode', ondelete='restrict')

View File

@@ -35,6 +35,10 @@ You are able to add a payment mode directly on a partner.
This payment mode is automatically associated to the sale order, then on related invoice.
This default value could be change in a draft sale order or draft 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
======================
@@ -43,10 +47,14 @@ Known issues / Roadmap
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_payment_sale%0Aversion:%209.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
<https://github.com/OCA/
bank-payment/issues/new?body=module:%20
account_payment_sale%0Aversion:%20
9.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Credits
=======

View File

@@ -1,19 +1,3 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# 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 -*-
from . import sale_order