diff --git a/account_ebics/wizards/ebics_xfer.xml b/account_ebics/wizards/ebics_xfer.xml
index 4cf623e..444509e 100644
--- a/account_ebics/wizards/ebics_xfer.xml
+++ b/account_ebics/wizards/ebics_xfer.xml
@@ -48,7 +48,9 @@
+ required="1"
+ readonly="context.get('active_model') == 'account.payment.order'"
+ />
diff --git a/account_ebics_payment_order/README.rst b/account_ebics_payment_order/README.rst
index c6ecb6d..2071aff 100644
--- a/account_ebics_payment_order/README.rst
+++ b/account_ebics_payment_order/README.rst
@@ -16,13 +16,13 @@ This module depends upon the following modules (cf. apps.odoo.com):
- account_ebics
- account_payment_order
+Configuration
+=============
+
+Set the EBICS File Format on your Payment Modes.
+
Usage
=====
Create your Payment Order and generate the bank file.
Upload the generated file via the 'EBICS Upload' button on the payment order.
-
-Known issues / Roadmap
-======================
-
- * Add support for multiple EBICS connections.
diff --git a/account_ebics_payment_order/__manifest__.py b/account_ebics_payment_order/__manifest__.py
index 29e1a81..12d6e74 100644
--- a/account_ebics_payment_order/__manifest__.py
+++ b/account_ebics_payment_order/__manifest__.py
@@ -1,9 +1,9 @@
-# Copyright 2009-2020 Noviat.
+# Copyright 2009-2024 Noviat.
# License LGPL-3 or later (http://www.gnu.org/licenses/lpgl).
{
'name': 'Upload Payment Order via EBICS',
- 'version': '13.0.1.1.0',
+ 'version': '13.0.1.2.0',
'license': 'LGPL-3',
'author': 'Noviat',
'category': 'Accounting & Finance',
@@ -12,6 +12,7 @@
'account_payment_order'],
'data': [
'views/account_payment_order.xml',
+ 'views/account_payment_mode.xml',
],
'installable': True,
"images": ["static/description/cover.png"],
diff --git a/account_ebics_payment_order/models/__init__.py b/account_ebics_payment_order/models/__init__.py
index 429f032..72b2653 100644
--- a/account_ebics_payment_order/models/__init__.py
+++ b/account_ebics_payment_order/models/__init__.py
@@ -1 +1,2 @@
+from . import account_payment_mode
from . import account_payment_order
diff --git a/account_ebics_payment_order/models/account_payment_mode.py b/account_ebics_payment_order/models/account_payment_mode.py
new file mode 100644
index 0000000..3211b38
--- /dev/null
+++ b/account_ebics_payment_order/models/account_payment_mode.py
@@ -0,0 +1,14 @@
+# Copyright 2009-2024 Noviat.
+# License LGPL-3 or later (http://www.gnu.org/licenses/lpgl).
+
+from odoo import fields, models
+
+
+class AccountPaymentMode(models.Model):
+ _inherit = "account.payment.mode"
+
+ ebics_format_id = fields.Many2one(
+ comodel_name="ebics.file.format",
+ string="EBICS File Format",
+ domain="[('type', '=', 'up')]",
+ help="Select EBICS File Format to upload.")
diff --git a/account_ebics_payment_order/models/account_payment_order.py b/account_ebics_payment_order/models/account_payment_order.py
index 3578c25..73e8695 100644
--- a/account_ebics_payment_order/models/account_payment_order.py
+++ b/account_ebics_payment_order/models/account_payment_order.py
@@ -11,6 +11,14 @@ class AccountPaymentOrder(models.Model):
def ebics_upload(self):
self.ensure_one()
ctx = self._context.copy()
+ ebics_format_id = self.payment_mode_id.ebics_format_id
+ if not ebics_format_id:
+ raise UserError(_(
+ "Missing EBICS File Format setting on your Payment Mode."))
+ ctx.update({
+ 'active_model': self._name,
+ 'default_format_id': ebics_format_id.id,
+ })
attach = self.env['ir.attachment'].search(
[('res_model', '=', self._name),
('res_id', '=', self.id)])
diff --git a/account_ebics_payment_order/views/account_payment_mode.xml b/account_ebics_payment_order/views/account_payment_mode.xml
new file mode 100644
index 0000000..3277cb3
--- /dev/null
+++ b/account_ebics_payment_order/views/account_payment_mode.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ account.payment.mode.form
+ account.payment.mode
+
+
+
+
+
+
+
+
+