Merge pull request #112 from Noviat/18.0
Syncing from upstream Noviat/account_ebics (18.0)
No files matched your search
@@ -15,12 +15,12 @@ Available addons
|
|||||||
----------------
|
----------------
|
||||||
addon | version | maintainers | summary
|
addon | version | maintainers | summary
|
||||||
--- | --- | --- | ---
|
--- | --- | --- | ---
|
||||||
[account_ebics](account_ebics/) | 18.0.1.2.1 | | EBICS banking protocol
|
[account_ebics](account_ebics/) | 18.0.1.2.1 | | Download bank statements and upload payment files directly from Odoo, using the European EBICS standard
|
||||||
[account_ebics_batch](account_ebics_batch/) | 18.0.1.0.1 | | EBICS Files automated import and processing
|
[account_ebics_batch](account_ebics_batch/) | 18.0.1.0.1 | | Download and process your EBICS files automatically, on a schedule
|
||||||
[account_ebics_batch_payment](account_ebics_batch_payment/) | 18.0.1.2.0 | | Upload Batch Payment via EBICS
|
[account_ebics_batch_payment](account_ebics_batch_payment/) | 18.0.1.2.0 | | Send an Odoo Enterprise batch payment to the bank over EBICS
|
||||||
[account_ebics_oca_statement_import](account_ebics_oca_statement_import/) | 18.0.1.0.1 | | Use OCA Bank Statement Import with account_ebics
|
[account_ebics_oca_statement_import](account_ebics_oca_statement_import/) | 18.0.1.0.1 | | Process EBICS statement files with the OCA bank statement import
|
||||||
[account_ebics_oe](account_ebics_oe/) | 18.0.1.0.0 | | Deploy account_ebics module on Odoo Enterprise
|
[account_ebics_oe](account_ebics_oe/) | 18.0.1.0.0 | | Place the EBICS menus in the Odoo Enterprise accounting application
|
||||||
[account_ebics_payment_order](account_ebics_payment_order/) | 18.0.1.2.0 | | Upload Payment Order via EBICS
|
[account_ebics_payment_order](account_ebics_payment_order/) | 18.0.1.2.0 | | Send an OCA payment order to the bank over EBICS
|
||||||
|
|
||||||
[//]: # (end addons)
|
[//]: # (end addons)
|
||||||
|
|
||||||
|
|||||||
@@ -1,219 +1,265 @@
|
|||||||
.. image:: https://img.shields.io/badge/license-LGPL--3-blue.png
|
|
||||||
:target: https://www.gnu.org/licenses/lgpl
|
|
||||||
:alt: License: LGPL-3
|
|
||||||
|
|
||||||
======================
|
======================
|
||||||
EBICS banking protocol
|
EBICS Banking Protocol
|
||||||
======================
|
======================
|
||||||
|
|
||||||
Implementation of the EBICS banking protocol.
|
**Exchange files directly with your banks from Odoo, with no portal and nobody logging in.**
|
||||||
|
|
||||||
This module facilitates the exchange of files with banks via the EBICS protocol.
|
EBICS, the Electronic Banking Internet Communication Standard, is the channel European
|
||||||
|
banks open to companies that want their software to talk to the bank. Bank statements are
|
||||||
|
downloaded on a schedule and payment files are uploaded from Odoo, authenticated by your
|
||||||
|
own cryptographic keys instead of a login page.
|
||||||
|
|
||||||
|
|
This module implements that protocol in Odoo. It is developed and maintained by
|
||||||
|
Noviat, and follows each new version of Odoo, which matters when a bank connection has to
|
||||||
|
survive your next migration.
|
||||||
|
|
||||||
Installation
|
If you are still working out whether EBICS is the right channel for you, we explain it
|
||||||
|
without the jargon, with screen recordings of the flow in Odoo, on
|
||||||
|
`noviat.com/ebics <https://www.noviat.com/ebics>`_.
|
||||||
|
|
||||||
|
.. image:: https://raw.githubusercontent.com/Noviat/account_ebics/18.0/account_ebics/static/description/ebics_flow.png
|
||||||
|
:alt: Statements come down as camt.053 or camt.052 files, payment files go up as pain.001 or pain.008, and your keys stay on your own server
|
||||||
|
:width: 100%
|
||||||
|
|
||||||
|
What you get
|
||||||
============
|
============
|
||||||
|
|
||||||
The module depends upon
|
- **Statements that arrive on their own.** A scheduled task collects the files your bank
|
||||||
|
publishes, for every account, and processes them into bank statements.
|
||||||
|
- **Payments that leave the same way.** A payment batch or a payment order is uploaded to
|
||||||
|
the bank in the format the bank expects, without exporting a file and re-uploading it
|
||||||
|
somewhere else.
|
||||||
|
- **Several companies, one connection.** Keys are held per bank rather than per company:
|
||||||
|
when fifteen entities bank with the same institution, the bank sends a single daily file
|
||||||
|
carrying fifteen statements and the module puts each statement in the right company.
|
||||||
|
- **No bank credentials in Odoo.** The connection uses your own company keys, generated on
|
||||||
|
your side and kept on your server. Access to the EBICS configuration is a permission of
|
||||||
|
its own ('EBICS Manager'), separate from ordinary accounting rights.
|
||||||
|
- **A test mode, where your bank offers one.** French banks accept a test flag, so a file
|
||||||
|
can be submitted and validated before anything is switched to production. German and
|
||||||
|
Swiss banks generally do not: there the first payment is a real one, kept small and sent
|
||||||
|
to an account you control.
|
||||||
|
- **A trace of every exchange.** Each download and each upload is a record, with the file
|
||||||
|
it carried, the moment it happened and the user behind it.
|
||||||
|
|
||||||
- https://pypi.python.org/pypi/fintech
|
**EBICS 2.4**, **EBICS 2.5** and **EBICS 3.0** are supported. EBICS 3.0, the current
|
||||||
- https://pypi.python.org/pypi/cryptography
|
specification since December 2022, names what is exchanged with BTF instead of the
|
||||||
|
country-specific order type codes of EBICS 2.x. Many banks still run 2.4 or 2.5 in parallel.
|
||||||
|
|
||||||
Remark:
|
What travels over the link
|
||||||
|
==========================
|
||||||
|
|
||||||
The EBICS 'Test Mode' for uploading orders requires fintech 4.3.4 or higher for EBICS 2.x
|
- **Coming in:** camt.053 for the end of day statement, camt.052 for intraday movements
|
||||||
and fintech 7.2.7 or higher for EBICS 3.0.
|
where the bank offers them, and national formats such as the French CFONB.
|
||||||
|
- **Going out:** pain.001 for credit transfers and pain.008 for direct debits, generated by
|
||||||
|
Odoo from your payment batches.
|
||||||
|
|
||||||
SWIFT 3SKey support requires fintech 6.4 or higher.
|
We do not process MT940 statements: the format carries bank and country specific variations,
|
||||||
|
and the Odoo community stopped maintaining a general parser for it after Odoo 10. Where a
|
||||||
|
bank publishes camt.053 alongside it, which is now the usual case, that is the format to use.
|
||||||
|
|
||||||
|
|
Which banks
|
||||||
|
===========
|
||||||
|
|
||||||
We also recommend to consider the installation of the following modules:
|
Any bank that publishes an EBICS access point can be connected. The standard is maintained by
|
||||||
|
EBICS SC, a company held by the German, French, Swiss and Austrian banking bodies
|
||||||
|
(DK, CFONB, SIX and PSA), and it is the standard corporate channel in those countries.
|
||||||
|
|
||||||
|
|
To check a specific bank before you start, joonis publishes a public directory at
|
||||||
|
`joonis.de/en/fintech/banks <https://www.joonis.de/en/fintech/banks/>`_. Enter a BIC and it
|
||||||
|
returns the SEPA services the bank offers, the EBICS versions it supports and its Host-ID.
|
||||||
|
|
||||||
- account_ebics_oe
|
A bank missing from that directory is not a no: it is joonis' own list, not an official
|
||||||
|
register. Ask your bank whether it publishes an EBICS access point.
|
||||||
|
|
||||||
Required if you are running Odoo Enterprise
|
What it costs
|
||||||
|
=============
|
||||||
|
|
||||||
Cf. https://github.com/Noviat/account_ebics
|
**This module is free software**, published under LGPL-3. There is no licence fee, no
|
||||||
|
subscription and no per-connection charge from Noviat.
|
||||||
|
|
||||||
|
|
It does however rely on the `fintech <https://pypi.python.org/pypi/fintech>`_ library from
|
||||||
|
joonis, and that library requires a **commercial licence for production use**: as soon as
|
||||||
|
you upload SEPA files with more than five transactions, retrieve statements older than the
|
||||||
|
last three days, or use the distributed signature. The licence is contracted directly with
|
||||||
|
joonis, not with Noviat.
|
||||||
|
|
||||||
- account_ebics_batch
|
joonis charges a one-off setup fee plus a monthly fee per EBICS user id. Current pricing is
|
||||||
|
published on
|
||||||
|
`joonis.de <https://www.joonis.de/en/fintech/prices/>`_.
|
||||||
|
|
||||||
This module adds a cron job for the automated import of EBICS files.
|
Your bank may also charge a subscription for the EBICS channel itself. It varies from one
|
||||||
|
bank to another and is billed by the bank, separately from anything on the Odoo side.
|
||||||
|
|
||||||
Cf. https://github.com/Noviat/account_ebics
|
Requirements
|
||||||
|
============
|
||||||
|
|
||||||
|
|
The module depends on two Python libraries:
|
||||||
|
|
||||||
- account_ebics_batch_payment
|
- `fintech <https://pypi.python.org/pypi/fintech>`_
|
||||||
|
- `cryptography <https://pypi.python.org/pypi/cryptography>`_
|
||||||
|
|
||||||
Recommended if you are using the Odoo Enterprise account_batch_payment module
|
Because the connection needs a Python library and your key files on the server, it runs on
|
||||||
|
**Odoo.sh** or on an **on-premise** installation.
|
||||||
|
|
||||||
Cf. https://github.com/Noviat/account_ebics
|
The EBICS test mode for uploads requires fintech 4.3.4 or higher for EBICS 2.x and fintech
|
||||||
|
7.2.7 or higher for EBICS 3.0. SWIFT 3SKey support requires fintech 6.4 or higher, and the signature passphrase
|
||||||
|
fintech 7.3.1 or higher.
|
||||||
|
|
||||||
|
|
Fintech licence
|
||||||
|
|
||||||
- account_usability
|
|
||||||
|
|
||||||
Recommended if you have multiple financial journals.
|
|
||||||
This module adds a number of accounting menu entries such as bank statement list view
|
|
||||||
which allows to see all statements downloaded via the ir.cron automated EBICS download.
|
|
||||||
|
|
||||||
Cf. https://github.com/OCA/account-financial-tools
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
- account_ebics_payment_order
|
|
||||||
|
|
||||||
Required if you are using the OCA account_payment_order module.
|
|
||||||
|
|
||||||
Cf. https://github.com/OCA/bank-payment
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
- account_ebics_oca_statement_import
|
|
||||||
|
|
||||||
Required if you are using the OCA Bank Statement import modules.
|
|
||||||
|
|
||||||
https://github.com/OCA/bank-statement-import
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
- account_statement_import_fr_cfonb
|
|
||||||
|
|
||||||
Required to handle french CFONB files.
|
|
||||||
|
|
||||||
Cf. https://github.com/OCA/l10n_france
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
- account_statement_import_camt
|
|
||||||
|
|
||||||
Required to handle camt.052 and camt.054 files.
|
|
||||||
|
|
||||||
Cf. https://github.com/OCA/bank-statement-import
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
|
||||||
Fintech license
|
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
If you have a valid fintech.ebics license, you should add the following
|
With a fintech licence, add its parameters to the ``[options]`` section of the Odoo server
|
||||||
licensing parameters to the [options] section of the odoo server configuration file:
|
configuration file:
|
||||||
|
|
||||||
|
- ``fintech_register_name``: the name of the licensee;
|
||||||
|
- ``fintech_register_keycode``: the keycode of the licensed version.
|
||||||
|
|
||||||
- fintech_register_name
|
Example::
|
||||||
|
|
||||||
The name of the licensee.
|
|
||||||
|
|
||||||
- fintech_register_keycode
|
|
||||||
|
|
||||||
The keycode of the licensed version.
|
|
||||||
|
|
||||||
|
|
|
||||||
| Example:
|
|
||||||
|
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
; fintech
|
; fintech
|
||||||
fintech_register_name = MyCompany
|
fintech_register_name = MyCompany
|
||||||
fintech_register_keycode = AB1CD-E2FG-3H-IJ4K-5L
|
fintech_register_keycode = AB1CD-E2FG-3H-IJ4K-5L
|
||||||
|
|
||||||
|
|
Companion modules
|
||||||
|
=================
|
||||||
|
|
||||||
Cf. https://www.joonis.de/en/fintech/prices/
|
From this repository:
|
||||||
|
|
||||||
|
|
- **EBICS - Odoo Enterprise Integration** (``account_ebics_oe``): required on Odoo
|
||||||
|
Enterprise; installed automatically.
|
||||||
|
- **EBICS - Bank Statement Import (OCA)** (``account_ebics_oca_statement_import``):
|
||||||
|
matches the statements processed with the OCA statement import to the right bank
|
||||||
|
journal; installed automatically with ``account_statement_import_file``.
|
||||||
|
- **EBICS - Scheduled File Import** (``account_ebics_batch``): downloads and processes the
|
||||||
|
files of every connection on a schedule.
|
||||||
|
- **EBICS - Batch Payments (Odoo Enterprise)** (``account_ebics_batch_payment``): uploads
|
||||||
|
the batch payments of the Odoo Enterprise ``account_batch_payment`` module.
|
||||||
|
- **EBICS - Payment Orders (OCA)** (``account_ebics_payment_order``): uploads the payment
|
||||||
|
orders of the OCA ``account_payment_order`` module
|
||||||
|
(`OCA/bank-payment <https://github.com/OCA/bank-payment>`_).
|
||||||
|
|
||||||
|
To process the downloaded statements, install the module of each format you receive:
|
||||||
|
|
||||||
|
- **camt.053, camt.052 and camt.054**: ``account_statement_import_camt``
|
||||||
|
(`OCA/bank-statement-import <https://github.com/OCA/bank-statement-import>`_). For
|
||||||
|
camt.053, the Odoo Enterprise ``account_bank_statement_import_camt`` works too.
|
||||||
|
- **French CFONB**: ``account_statement_import_fr_cfonb``
|
||||||
|
(`OCA/l10n-france <https://github.com/OCA/l10n-france>`_).
|
||||||
|
|
||||||
|
Recommended with several financial journals: ``account_usability``
|
||||||
|
(`OCA/account-financial-tools <https://github.com/OCA/account-financial-tools>`_), which adds
|
||||||
|
accounting menus such as a list of all bank statements, including those downloaded by the
|
||||||
|
scheduled import.
|
||||||
|
|
||||||
|
Getting your bank online
|
||||||
|
========================
|
||||||
|
|
||||||
|
The configuration on the Odoo side takes fifteen to thirty minutes. What sets the pace of a
|
||||||
|
project is the bank, and it is almost never for a technical reason:
|
||||||
|
|
||||||
|
- **The bank opens the access.** You receive the host ID, the address of the access point,
|
||||||
|
your partner and user identifiers, and a letter carrying the hash values of the bank's keys.
|
||||||
|
- **INI and HIA.** Odoo generates your key pairs for signature, authentication and encryption,
|
||||||
|
sends the public keys to the bank and produces the initialisation letters, which you print,
|
||||||
|
sign and send. The bank compares them by hand with the keys it received online.
|
||||||
|
- **HPB.** Once the bank has activated your access, you retrieve its public keys and compare
|
||||||
|
their hash values with the letter it sent you. That comparison is what makes the channel
|
||||||
|
trustworthy.
|
||||||
|
- **The first exchange.** Statements come down first. Payments follow, as a test file where
|
||||||
|
the bank supports the test flag, otherwise as a real transfer of a small amount.
|
||||||
|
|
||||||
|
Count in weeks per bank rather than days, and start the contract and the paperwork early.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Go to **Settings > Users**
|
The menus are those of Odoo Enterprise; on Odoo Community, the application is called
|
||||||
|
*Invoicing* instead of *Accounting*.
|
||||||
|
|
||||||
Add the users that are authorised to maintain the EBICS configuration to the 'EBICS Manager' Group.
|
**Who may configure.** In *Settings > Users*, with the developer mode active, tick
|
||||||
|
**EBICS Manager** in the *Technical* section of the users who maintain the EBICS
|
||||||
|
configuration.
|
||||||
|
|
||||||
|
|
**File formats.** In *Accounting > Configuration > EBICS > EBICS File Formats*, check that the
|
||||||
|
formats you exchange with your banks are defined; the common ones are created at
|
||||||
|
installation. A missing format can be reported on
|
||||||
|
`GitHub <https://github.com/Noviat/account_ebics/issues>`_.
|
||||||
|
|
||||||
Go to **Accounting > Configuration > Miscellaneous > EBICS > EBICS File Formats**
|
A download format can carry a **Download Process Method**, run by the *Process* button of a
|
||||||
|
downloaded file: ``camt.053``, ``camt.052``, ``camt.054`` and ``cfonb120``. Each needs the
|
||||||
|
module of its format (see Companion modules); Odoo tells you which one when it is missing.
|
||||||
|
|
||||||
Check if the EBICS File formats that you want to process in Odoo are defined.
|
**Bank connections.** In *Accounting > Configuration > EBICS > EBICS Configuration*, create one
|
||||||
|
connection per bank contract, with the identifiers your bank sent you.
|
||||||
|
|
||||||
Most commonly used formats for which support is available in Odoo should be there already.
|
.. image:: https://raw.githubusercontent.com/Noviat/account_ebics/18.0/account_ebics/static/description/ebics_download.png
|
||||||
|
:alt: A downloaded camt.053 statement file in Odoo, before processing
|
||||||
Please open an issue on https://github.com/Noviat/account_ebics to report missing EBICS File Formats.
|
:width: 100%
|
||||||
|
|
||||||
For File Formats of type 'Downloads' you can also specify a 'Download Process Method'.
|
|
||||||
|
|
||||||
This is the method that will be executed when hitting the 'Process' button on the downloaded file.
|
|
||||||
|
|
||||||
The following methods are currently available:
|
|
||||||
|
|
||||||
- cfonb120
|
|
||||||
- camt.053
|
|
||||||
- camt.052
|
|
||||||
- camt.054
|
|
||||||
|
|
||||||
All these methods require complimentary modules to be installed (cf. Installation section supra).
|
|
||||||
|
|
||||||
You'll get an error message when the required module is not installed on your Odoo instance.
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
Go to **Accounting > Configuration > Miscellaneous > EBICS > EBICS Configuration**
|
|
||||||
|
|
||||||
Configure your EBICS configuration according to the contract with your bank.
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
|
|
||||||
Go to **Accounting > Bank and Cash > EBICS Processing**
|
The **EBICS Processing** menu, in the top bar of the Accounting application, lists the
|
||||||
|
downloaded and uploaded files and offers manual downloads and uploads.
|
||||||
|
|
||||||
|
|
Downloaded files are processed into bank statements. Uploads are launched from the payment
|
||||||
|
batch or the payment order, with the format set in the configuration: on the payment
|
||||||
|
mode for a payment order, on the journal's payment method for a batch payment.
|
||||||
|
|
||||||
|
.. image:: https://raw.githubusercontent.com/Noviat/account_ebics/18.0/account_ebics/static/description/ebics_upload.png
|
||||||
|
:alt: Uploading a pain.001 SEPA credit transfer file over EBICS 3.0, with the test mode option
|
||||||
|
:width: 100%
|
||||||
|
|
||||||
Diagnostics
|
Diagnostics
|
||||||
===========
|
===========
|
||||||
|
|
||||||
Add the following to your Odoo config file in order to diagnose
|
To diagnose the connection with your bank, add this line to the Odoo server configuration
|
||||||
issues with the EBICS connection with your bank:
|
file::
|
||||||
|
|
||||||
log_handler = fintech.ebics:DEBUG
|
log_handler = fintech.ebics:DEBUG
|
||||||
|
|
||||||
|
|
EBICS return codes
|
||||||
|
|
||||||
EBICS Return Codes
|
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
During the processing of your EBICS upload/download, your bank may return an Error Code, e.g.
|
During an upload or a download, your bank may return an error code, for example::
|
||||||
|
|
||||||
EBICS Functional Error:
|
EBICS Functional Error:
|
||||||
EBICS_NO_DOWNLOAD_DATA_AVAILABLE (code: 90005)
|
EBICS_NO_DOWNLOAD_DATA_AVAILABLE (code: 90005)
|
||||||
|
|
||||||
A detailed explanation of the codes can be found on http://www.ebics.org.
|
The codes are explained on `ebics.org <https://www.ebics.org>`_ and in the ``doc`` folder of
|
||||||
You can also find this information in the doc folder of this module (file EBICS_Annex1_ReturnCodes).
|
this module (``EBICS_Annex1_ReturnCodes``).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
Electronic Distributed Signature (EDS)
|
Electronic Distributed Signature (EDS)
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
This is supported via external signing apps, e.g. BankingVEU:
|
Where your bank supports EBICS T, Odoo prepares the file and holds no signing credentials
|
||||||
|
at all: the payment is approved in your own signing application, which is what a segregation
|
||||||
|
of duties policy usually demands. Where it does not, which happens with German and Swiss
|
||||||
|
banks, the signing key sits on your Odoo server, and you can protect it with a separate
|
||||||
|
signature passphrase that is never stored and is asked for every signed transaction.
|
||||||
|
|
||||||
- https://play.google.com/store/apps/details?id=subsembly.bankingveu
|
External signing apps include BankingVEU
|
||||||
- https://apps.apple.com/de/app/bankingveu/id1578694190
|
(`Android <https://play.google.com/store/apps/details?id=subsembly.bankingveu>`_,
|
||||||
|
`iOS <https://apps.apple.com/de/app/bankingveu/id1578694190>`_).
|
||||||
|
|
||||||
|
Roadmap
|
||||||
|
=======
|
||||||
|
|
||||||
Known Issues / Roadmap
|
- Import externally generated keys and certificates (today only the 3SKey signature
|
||||||
======================
|
certificate).
|
||||||
|
- Support the SWIFT 3SKey signing JavaScript library
|
||||||
|
(`SConnect <https://www2.swift.com/3skey/help/sconnect.html>`_).
|
||||||
|
|
||||||
- The end user is currently not able to change his passphrases (only the users with 'EBICS Manager' rights can do so).
|
Issues and pull requests are welcome on
|
||||||
- Add support to import externally generated keys & certificates (currently only 3SKey signature certificate).
|
`GitHub <https://github.com/Noviat/account_ebics>`_.
|
||||||
- Add support for SWIFT 3SKey signing javascript lib (SConnect, cf https://www2.swift.com/3skey/help/sconnect.html).
|
|
||||||
|
|
||||||
|
Credits
|
||||||
|
=======
|
||||||
|
|
||||||
|
This module is developed and maintained by `Noviat <https://www.noviat.com>`_, Odoo
|
||||||
|
integrator in Belgium, specialised in accounting and finance since 2009.
|
||||||
|
|
||||||
|
We implement it, we configure the connection with your banks and we support you through the
|
||||||
|
first cycles. If you want help getting a bank online, tell us which banks you use:
|
||||||
|
https://www.noviat.com/ebics
|
||||||
@@ -2,7 +2,11 @@
|
|||||||
# License LGPL-3 or later (https://www.gnu.org/licenses/lgpl).
|
# License LGPL-3 or later (https://www.gnu.org/licenses/lgpl).
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "EBICS banking protocol",
|
"name": "EBICS Banking Protocol",
|
||||||
|
"summary": (
|
||||||
|
"Download bank statements and upload payment files directly from Odoo, "
|
||||||
|
"using the European EBICS standard"
|
||||||
|
),
|
||||||
"version": "18.0.1.2.1",
|
"version": "18.0.1.2.1",
|
||||||
"license": "LGPL-3",
|
"license": "LGPL-3",
|
||||||
"author": "Noviat",
|
"author": "Noviat",
|
||||||
@@ -30,5 +34,5 @@
|
|||||||
"cryptography",
|
"cryptography",
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"images": ["static/description/cover.png"],
|
"images": ["static/description/banner.png"],
|
||||||
}
|
}
|
||||||
@@ -37,7 +37,7 @@ msgstr ""
|
|||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,field_description:account_ebics.field_ebics_userid__swift_3skey_certificate
|
#: model:ir.model.fields,field_description:account_ebics.field_ebics_userid__swift_3skey_certificate
|
||||||
msgid "3SKey Certficate"
|
msgid "3SKey Certificate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
@@ -301,7 +301,7 @@ msgstr ""
|
|||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,help:account_ebics.field_ebics_userid__signature_class
|
#: model:ir.model.fields,help:account_ebics.field_ebics_userid__signature_class
|
||||||
msgid ""
|
msgid ""
|
||||||
"Default signature class.This default can be overriden for specific EBICS "
|
"Default signature class.This default can be overridden for specific EBICS "
|
||||||
"transactions (cf. File Formats)."
|
"transactions (cf. File Formats)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -560,8 +560,8 @@ msgstr ""
|
|||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model_terms:ir.ui.view,arch_db:account_ebics.ebics_userid_view_form
|
#: model_terms:ir.ui.view,arch_db:account_ebics.ebics_userid_view_form
|
||||||
msgid ""
|
msgid ""
|
||||||
"EBICS Initialisation - Push this button when the public have been checked "
|
"EBICS Initialisation - Push this button when the public bank keys have been "
|
||||||
"for consistency."
|
"checked for consistency."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
@@ -1367,8 +1367,8 @@ msgstr ""
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics/models/ebics_userid.py:0
|
#: code:addons/account_ebics/models/ebics_userid.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"Set the EBICS Configuation record to 'Draft' before starting the Key Renewal"
|
"Set the EBICS Configuration record to 'Draft' before starting the Key "
|
||||||
" process."
|
"Renewal process."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
@@ -1484,7 +1484,7 @@ msgstr ""
|
|||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model_terms:ir.ui.view,arch_db:account_ebics.ebics_config_view_form
|
#: model_terms:ir.ui.view,arch_db:account_ebics.ebics_config_view_form
|
||||||
msgid ""
|
msgid ""
|
||||||
"The EBICS configuration must be confirmed before it can used for bank "
|
"The EBICS configuration must be confirmed before it can be used for bank "
|
||||||
"transactions."
|
"transactions."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1525,8 +1525,7 @@ msgstr ""
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics/models/ebics_userid.py:0
|
#: code:addons/account_ebics/models/ebics_userid.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"The current version of this module requires to X509 support when enabling "
|
"The current version of this module requires X509 support when enabling 3SKey"
|
||||||
"3SKey"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
|
|||||||
@@ -3,14 +3,14 @@
|
|||||||
# * account_ebics
|
# * account_ebics
|
||||||
#
|
#
|
||||||
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2025, 2026.
|
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2025, 2026.
|
||||||
|
# Jérémy Didderen <jeremy.didderen@noviat.com>, 2026.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-08-31 23:02+0000\n"
|
"POT-Creation-Date: 2025-08-31 23:02+0000\n"
|
||||||
"PO-Revision-Date: 2026-08-02 02:54+0000\n"
|
"PO-Revision-Date: 2026-10-11 21:14+0000\n"
|
||||||
"Last-Translator: Weblate Translation Memory <noreply-mt-weblate-translation-"
|
"Last-Translator: Jérémy Didderen <jeremy.didderen@noviat.com>\n"
|
||||||
"memory@weblate.org>\n"
|
|
||||||
"Language-Team: French <https://translation.noviat.io/projects/noviat-generic-"
|
"Language-Team: French <https://translation.noviat.io/projects/noviat-generic-"
|
||||||
"account-ebics-v18/account_ebics/fr/>\n"
|
"account-ebics-v18/account_ebics/fr/>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
@@ -18,7 +18,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: \n"
|
"Content-Transfer-Encoding: \n"
|
||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 2026.7.1\n"
|
"X-Generator: Weblate 2026.9.1\n"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
@@ -44,7 +44,7 @@ msgstr "'Date de fin' telle que saisie dans l'assistant de téléchargement."
|
|||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,field_description:account_ebics.field_ebics_userid__swift_3skey_certificate
|
#: model:ir.model.fields,field_description:account_ebics.field_ebics_userid__swift_3skey_certificate
|
||||||
msgid "3SKey Certficate"
|
msgid "3SKey Certificate"
|
||||||
msgstr "Certificat 3SKey"
|
msgstr "Certificat 3SKey"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
@@ -323,7 +323,7 @@ msgstr "Au"
|
|||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,help:account_ebics.field_ebics_userid__signature_class
|
#: model:ir.model.fields,help:account_ebics.field_ebics_userid__signature_class
|
||||||
msgid ""
|
msgid ""
|
||||||
"Default signature class.This default can be overriden for specific EBICS "
|
"Default signature class.This default can be overridden for specific EBICS "
|
||||||
"transactions (cf. File Formats)."
|
"transactions (cf. File Formats)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Classe de signature par défaut. Cette valeur par défaut peut être remplacée "
|
"Classe de signature par défaut. Cette valeur par défaut peut être remplacée "
|
||||||
@@ -558,11 +558,11 @@ msgstr "Fichiers EBICS"
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"EBICS Functional Error during download of File Format %(name)s (%"
|
"EBICS Functional Error during download of File Format %(name)s "
|
||||||
"(order_type)s):"
|
"(%(order_type)s):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Erreur fonctionnelle EBICS lors du téléchargement du format de fichier %"
|
"Erreur fonctionnelle EBICS lors du téléchargement du format de fichier "
|
||||||
"(name)s (%(order_type)s) :"
|
"%(name)s (%(order_type)s) :"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
@@ -607,8 +607,8 @@ msgstr ""
|
|||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model_terms:ir.ui.view,arch_db:account_ebics.ebics_userid_view_form
|
#: model_terms:ir.ui.view,arch_db:account_ebics.ebics_userid_view_form
|
||||||
msgid ""
|
msgid ""
|
||||||
"EBICS Initialisation - Push this button when the public have been checked "
|
"EBICS Initialisation - Push this button when the public bank keys have been "
|
||||||
"for consistency."
|
"checked for consistency."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Initialisation EBICS - Appuyez sur ce bouton lorsque la cohérence des clés "
|
"Initialisation EBICS - Appuyez sur ce bouton lorsque la cohérence des clés "
|
||||||
"publiques a été vérifiée."
|
"publiques a été vérifiée."
|
||||||
@@ -645,6 +645,8 @@ msgid ""
|
|||||||
"EBICS Keys Root Directory %s is not available.\n"
|
"EBICS Keys Root Directory %s is not available.\n"
|
||||||
"Please contact your system administrator."
|
"Please contact your system administrator."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Le répertoire racine des clés EBICS %s n'est pas disponible.\n"
|
||||||
|
"Veuillez contacter votre administrateur système."
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:res.groups,name:account_ebics.group_ebics_manager
|
#: model:res.groups,name:account_ebics.group_ebics_manager
|
||||||
@@ -711,8 +713,8 @@ msgstr "Phrase secrète EBICS enregistrée"
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"EBICS Technical Error during download of File Format %(name)s (%"
|
"EBICS Technical Error during download of File Format %(name)s "
|
||||||
"(order_type)s):"
|
"(%(order_type)s):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Erreur technique EBICS lors du téléchargement du format de fichier %(name)s "
|
"Erreur technique EBICS lors du téléchargement du format de fichier %(name)s "
|
||||||
"(%(order_type)s) :"
|
"(%(order_type)s) :"
|
||||||
@@ -767,11 +769,11 @@ msgstr "Utilisateurs EBICS"
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"EBICS Verification Error during download of File Format %(name)s (%"
|
"EBICS Verification Error during download of File Format %(name)s "
|
||||||
"(order_type)s):"
|
"(%(order_type)s):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Erreur de vérification EBICS lors du téléchargement du format de fichier %"
|
"Erreur de vérification EBICS lors du téléchargement du format de fichier "
|
||||||
"(name)s (%(order_type)s) :"
|
"%(name)s (%(order_type)s) :"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
@@ -851,12 +853,12 @@ msgstr "Incompatibilité de version EBICS."
|
|||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,field_description:account_ebics.field_account_journal__ebics_config_id
|
#: model:ir.model.fields,field_description:account_ebics.field_account_journal__ebics_config_id
|
||||||
msgid "Ebics Config"
|
msgid "Ebics Config"
|
||||||
msgstr ""
|
msgstr "Configuration EBICS"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,field_description:account_ebics.field_account_journal__ebics_config_ids
|
#: model:ir.model.fields,field_description:account_ebics.field_account_journal__ebics_config_ids
|
||||||
msgid "Ebics Configs"
|
msgid "Ebics Configs"
|
||||||
msgstr ""
|
msgstr "Configurations EBICS"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,field_description:account_ebics.field_ebics_userid__ebics_keys_fn
|
#: model:ir.model.fields,field_description:account_ebics.field_ebics_userid__ebics_keys_fn
|
||||||
@@ -919,8 +921,8 @@ msgstr ""
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Error detected during download of File Format %(name)s (%(order_type)s):"
|
"Error detected during download of File Format %(name)s (%(order_type)s):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Erreur détectée lors du téléchargement du format de fichier %(name)s (%"
|
"Erreur détectée lors du téléchargement du format de fichier %(name)s "
|
||||||
"(order_type)s) :"
|
"(%(order_type)s) :"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
@@ -1225,8 +1227,8 @@ msgstr "Aucune banque définie pour le journal financier de la config EBICS"
|
|||||||
#: code:addons/account_ebics/models/ebics_file.py:0
|
#: code:addons/account_ebics/models/ebics_file.py:0
|
||||||
msgid "No financial journal found for Account Number %(nbr)s, Currency %(cc)s"
|
msgid "No financial journal found for Account Number %(nbr)s, Currency %(cc)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Aucun journal financier trouvé pour le numéro de compte %(nbr)s, devise %(cc)"
|
"Aucun journal financier trouvé pour le numéro de compte %(nbr)s, devise "
|
||||||
"s"
|
"%(cc)s"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,field_description:account_ebics.field_ebics_change_passphrase__note
|
#: model:ir.model.fields,field_description:account_ebics.field_ebics_change_passphrase__note
|
||||||
@@ -1470,8 +1472,8 @@ msgstr ""
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics/models/ebics_userid.py:0
|
#: code:addons/account_ebics/models/ebics_userid.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"Set the EBICS Configuation record to 'Draft' before starting the Key Renewal "
|
"Set the EBICS Configuration record to 'Draft' before starting the Key "
|
||||||
"process."
|
"Renewal process."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Mettez l'enregistrement de configuration EBICS sur 'Brouillon' avant de "
|
"Mettez l'enregistrement de configuration EBICS sur 'Brouillon' avant de "
|
||||||
"démarrer le processus de renouvellement de clé."
|
"démarrer le processus de renouvellement de clé."
|
||||||
@@ -1604,7 +1606,7 @@ msgstr ""
|
|||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model_terms:ir.ui.view,arch_db:account_ebics.ebics_config_view_form
|
#: model_terms:ir.ui.view,arch_db:account_ebics.ebics_config_view_form
|
||||||
msgid ""
|
msgid ""
|
||||||
"The EBICS configuration must be confirmed before it can used for bank "
|
"The EBICS configuration must be confirmed before it can be used for bank "
|
||||||
"transactions."
|
"transactions."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La configuration EBICS doit être confirmée avant de pouvoir être utilisée "
|
"La configuration EBICS doit être confirmée avant de pouvoir être utilisée "
|
||||||
@@ -1651,8 +1653,7 @@ msgstr ""
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics/models/ebics_userid.py:0
|
#: code:addons/account_ebics/models/ebics_userid.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"The current version of this module requires to X509 support when enabling "
|
"The current version of this module requires X509 support when enabling 3SKey"
|
||||||
"3SKey"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"La version actuelle de ce module nécessite la prise en charge de X509 lors "
|
"La version actuelle de ce module nécessite la prise en charge de X509 lors "
|
||||||
"de l'activation de 3SKey"
|
"de l'activation de 3SKey"
|
||||||
@@ -1744,8 +1745,8 @@ msgstr "Erreur inconnue"
|
|||||||
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
||||||
msgid "Unknown Error during download of File Format %(name)s (%(order_type)s):"
|
msgid "Unknown Error during download of File Format %(name)s (%(order_type)s):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Erreur inconnue lors du téléchargement du format de fichier %(name)s (%"
|
"Erreur inconnue lors du téléchargement du format de fichier %(name)s "
|
||||||
"(order_type)s) :"
|
"(%(order_type)s) :"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields.selection,name:account_ebics.selection__ebics_file_format__type__up
|
#: model:ir.model.fields.selection,name:account_ebics.selection__ebics_file_format__type__up
|
||||||
@@ -1920,3 +1921,42 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"erreur urlopen :\n"
|
"erreur urlopen :\n"
|
||||||
" url '%(url)s' - %(val)s"
|
" url '%(url)s' - %(val)s"
|
||||||
|
|
||||||
|
#~ msgid "3SKey Certficate"
|
||||||
|
#~ msgstr "Certificat 3SKey"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Default signature class.This default can be overriden for specific EBICS "
|
||||||
|
#~ "transactions (cf. File Formats)."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Classe de signature par défaut. Cette valeur par défaut peut être "
|
||||||
|
#~ "remplacée pour des transactions EBICS spécifiques (cf. Formats de "
|
||||||
|
#~ "fichier)."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "EBICS Initialisation - Push this button when the public have been checked "
|
||||||
|
#~ "for consistency."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Initialisation EBICS - Appuyez sur ce bouton lorsque la cohérence des "
|
||||||
|
#~ "clés publiques a été vérifiée."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Set the EBICS Configuation record to 'Draft' before starting the Key "
|
||||||
|
#~ "Renewal process."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Mettez l'enregistrement de configuration EBICS sur 'Brouillon' avant de "
|
||||||
|
#~ "démarrer le processus de renouvellement de clé."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The EBICS configuration must be confirmed before it can used for bank "
|
||||||
|
#~ "transactions."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "La configuration EBICS doit être confirmée avant de pouvoir être utilisée "
|
||||||
|
#~ "pour les transactions bancaires."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The current version of this module requires to X509 support when enabling "
|
||||||
|
#~ "3SKey"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "La version actuelle de ce module nécessite la prise en charge de X509 "
|
||||||
|
#~ "lors de l'activation de 3SKey"
|
||||||
@@ -3,14 +3,14 @@
|
|||||||
# * account_ebics
|
# * account_ebics
|
||||||
#
|
#
|
||||||
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2025, 2026.
|
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2025, 2026.
|
||||||
|
# Jérémy Didderen <jeremy.didderen@noviat.com>, 2026.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-08-31 23:13+0000\n"
|
"POT-Creation-Date: 2025-08-31 23:13+0000\n"
|
||||||
"PO-Revision-Date: 2026-08-02 02:54+0000\n"
|
"PO-Revision-Date: 2026-10-11 21:14+0000\n"
|
||||||
"Last-Translator: Weblate Translation Memory <noreply-mt-weblate-translation-"
|
"Last-Translator: Jérémy Didderen <jeremy.didderen@noviat.com>\n"
|
||||||
"memory@weblate.org>\n"
|
|
||||||
"Language-Team: Dutch <https://translation.noviat.io/projects/noviat-generic-"
|
"Language-Team: Dutch <https://translation.noviat.io/projects/noviat-generic-"
|
||||||
"account-ebics-v18/account_ebics/nl/>\n"
|
"account-ebics-v18/account_ebics/nl/>\n"
|
||||||
"Language: nl\n"
|
"Language: nl\n"
|
||||||
@@ -18,7 +18,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: \n"
|
"Content-Transfer-Encoding: \n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 2026.7.1\n"
|
"X-Generator: Weblate 2026.9.1\n"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
@@ -44,7 +44,7 @@ msgstr "'Datum tot' zoals ingevoerd in de downloadwizard."
|
|||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,field_description:account_ebics.field_ebics_userid__swift_3skey_certificate
|
#: model:ir.model.fields,field_description:account_ebics.field_ebics_userid__swift_3skey_certificate
|
||||||
msgid "3SKey Certficate"
|
msgid "3SKey Certificate"
|
||||||
msgstr "3SKey-certificaat"
|
msgstr "3SKey-certificaat"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
@@ -322,7 +322,7 @@ msgstr "Tot en met"
|
|||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,help:account_ebics.field_ebics_userid__signature_class
|
#: model:ir.model.fields,help:account_ebics.field_ebics_userid__signature_class
|
||||||
msgid ""
|
msgid ""
|
||||||
"Default signature class.This default can be overriden for specific EBICS "
|
"Default signature class.This default can be overridden for specific EBICS "
|
||||||
"transactions (cf. File Formats)."
|
"transactions (cf. File Formats)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Standaard handtekeningklasse. Deze standaardwaarde kan worden overschreven "
|
"Standaard handtekeningklasse. Deze standaardwaarde kan worden overschreven "
|
||||||
@@ -557,11 +557,11 @@ msgstr "EBICS-bestanden"
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"EBICS Functional Error during download of File Format %(name)s (%"
|
"EBICS Functional Error during download of File Format %(name)s "
|
||||||
"(order_type)s):"
|
"(%(order_type)s):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"EBICS functionele fout tijdens het downloaden van bestandsformaat %(name)s (%"
|
"EBICS functionele fout tijdens het downloaden van bestandsformaat %(name)s "
|
||||||
"(order_type)s):"
|
"(%(order_type)s):"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
@@ -606,8 +606,8 @@ msgstr ""
|
|||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model_terms:ir.ui.view,arch_db:account_ebics.ebics_userid_view_form
|
#: model_terms:ir.ui.view,arch_db:account_ebics.ebics_userid_view_form
|
||||||
msgid ""
|
msgid ""
|
||||||
"EBICS Initialisation - Push this button when the public have been checked "
|
"EBICS Initialisation - Push this button when the public bank keys have been "
|
||||||
"for consistency."
|
"checked for consistency."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"EBICS-initialisatie - Druk op deze knop wanneer de openbare sleutels op "
|
"EBICS-initialisatie - Druk op deze knop wanneer de openbare sleutels op "
|
||||||
"consistentie zijn gecontroleerd."
|
"consistentie zijn gecontroleerd."
|
||||||
@@ -644,6 +644,8 @@ msgid ""
|
|||||||
"EBICS Keys Root Directory %s is not available.\n"
|
"EBICS Keys Root Directory %s is not available.\n"
|
||||||
"Please contact your system administrator."
|
"Please contact your system administrator."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"De hoofdmap van de EBICS-sleutels %s is niet beschikbaar.\n"
|
||||||
|
"Neem contact op met uw systeembeheerder."
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:res.groups,name:account_ebics.group_ebics_manager
|
#: model:res.groups,name:account_ebics.group_ebics_manager
|
||||||
@@ -712,11 +714,11 @@ msgstr "Opgeslagen EBICS-wachtwoordzin"
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"EBICS Technical Error during download of File Format %(name)s (%"
|
"EBICS Technical Error during download of File Format %(name)s "
|
||||||
"(order_type)s):"
|
"(%(order_type)s):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Technische EBICS-fout tijdens het downloaden van bestandsformaat %(name)s (%"
|
"Technische EBICS-fout tijdens het downloaden van bestandsformaat %(name)s "
|
||||||
"(order_type)s):"
|
"(%(order_type)s):"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
@@ -767,11 +769,11 @@ msgstr "EBICS-gebruikers"
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"EBICS Verification Error during download of File Format %(name)s (%"
|
"EBICS Verification Error during download of File Format %(name)s "
|
||||||
"(order_type)s):"
|
"(%(order_type)s):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"EBICS-verificatiefout tijdens het downloaden van bestandsformaat %(name)s (%"
|
"EBICS-verificatiefout tijdens het downloaden van bestandsformaat %(name)s "
|
||||||
"(order_type)s):"
|
"(%(order_type)s):"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
@@ -851,12 +853,12 @@ msgstr "EBICS-versie komt niet overeen."
|
|||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,field_description:account_ebics.field_account_journal__ebics_config_id
|
#: model:ir.model.fields,field_description:account_ebics.field_account_journal__ebics_config_id
|
||||||
msgid "Ebics Config"
|
msgid "Ebics Config"
|
||||||
msgstr ""
|
msgstr "EBICS-configuratie"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,field_description:account_ebics.field_account_journal__ebics_config_ids
|
#: model:ir.model.fields,field_description:account_ebics.field_account_journal__ebics_config_ids
|
||||||
msgid "Ebics Configs"
|
msgid "Ebics Configs"
|
||||||
msgstr ""
|
msgstr "EBICS-configuraties"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,field_description:account_ebics.field_ebics_userid__ebics_keys_fn
|
#: model:ir.model.fields,field_description:account_ebics.field_ebics_userid__ebics_keys_fn
|
||||||
@@ -919,8 +921,8 @@ msgstr ""
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Error detected during download of File Format %(name)s (%(order_type)s):"
|
"Error detected during download of File Format %(name)s (%(order_type)s):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Fout gedetecteerd tijdens het downloaden van bestandsformaat %(name)s (%"
|
"Fout gedetecteerd tijdens het downloaden van bestandsformaat %(name)s "
|
||||||
"(order_type)s):"
|
"(%(order_type)s):"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
@@ -1309,8 +1311,8 @@ msgid ""
|
|||||||
"that these users will possess. \n"
|
"that these users will possess. \n"
|
||||||
"It is identified by the PartnerID."
|
"It is identified by the PartnerID."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Organisatie-eenheid (bedrijf of persoon) die een contract sluit met de bank. "
|
"Organisatie-eenheid (bedrijf of persoon) die een contract sluit met de "
|
||||||
"\n"
|
"bank. \n"
|
||||||
"In dit contract wordt afgesproken welke ordertypes (bestandsformaten) worden "
|
"In dit contract wordt afgesproken welke ordertypes (bestandsformaten) worden "
|
||||||
"gebruikt, welke rekeningen betrokken zijn, welke van de gebruikers van de "
|
"gebruikt, welke rekeningen betrokken zijn, welke van de gebruikers van de "
|
||||||
"klant (abonnees) communiceren met de EBICS-bankserver en welke machtigingen "
|
"klant (abonnees) communiceren met de EBICS-bankserver en welke machtigingen "
|
||||||
@@ -1469,8 +1471,8 @@ msgstr "Status instellen op 'concept' vóór (her)initialisatie van de bankkey."
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics/models/ebics_userid.py:0
|
#: code:addons/account_ebics/models/ebics_userid.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"Set the EBICS Configuation record to 'Draft' before starting the Key Renewal "
|
"Set the EBICS Configuration record to 'Draft' before starting the Key "
|
||||||
"process."
|
"Renewal process."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Zet het EBICS-configuratierecord op 'Concept' voordat u het "
|
"Zet het EBICS-configuratierecord op 'Concept' voordat u het "
|
||||||
"keyvernieuwingsproces start."
|
"keyvernieuwingsproces start."
|
||||||
@@ -1601,7 +1603,7 @@ msgstr ""
|
|||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model_terms:ir.ui.view,arch_db:account_ebics.ebics_config_view_form
|
#: model_terms:ir.ui.view,arch_db:account_ebics.ebics_config_view_form
|
||||||
msgid ""
|
msgid ""
|
||||||
"The EBICS configuration must be confirmed before it can used for bank "
|
"The EBICS configuration must be confirmed before it can be used for bank "
|
||||||
"transactions."
|
"transactions."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"De EBICS-configuratie moet worden bevestigd voordat deze kan worden gebruikt "
|
"De EBICS-configuratie moet worden bevestigd voordat deze kan worden gebruikt "
|
||||||
@@ -1648,8 +1650,7 @@ msgstr ""
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics/models/ebics_userid.py:0
|
#: code:addons/account_ebics/models/ebics_userid.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"The current version of this module requires to X509 support when enabling "
|
"The current version of this module requires X509 support when enabling 3SKey"
|
||||||
"3SKey"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"De huidige versie van deze module vereist X509-ondersteuning bij het "
|
"De huidige versie van deze module vereist X509-ondersteuning bij het "
|
||||||
"inschakelen van 3SKey"
|
"inschakelen van 3SKey"
|
||||||
@@ -1740,8 +1741,8 @@ msgstr "Onbekende fout"
|
|||||||
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
#: code:addons/account_ebics/wizards/ebics_xfer.py:0
|
||||||
msgid "Unknown Error during download of File Format %(name)s (%(order_type)s):"
|
msgid "Unknown Error during download of File Format %(name)s (%(order_type)s):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Onbekende fout tijdens het downloaden van bestandsformaat %(name)s (%"
|
"Onbekende fout tijdens het downloaden van bestandsformaat %(name)s "
|
||||||
"(order_type)s):"
|
"(%(order_type)s):"
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields.selection,name:account_ebics.selection__ebics_file_format__type__up
|
#: model:ir.model.fields.selection,name:account_ebics.selection__ebics_file_format__type__up
|
||||||
@@ -1815,7 +1816,8 @@ msgstr "Gebruikers"
|
|||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields,help:account_ebics.field_ebics_userid__user_ids
|
#: model:ir.model.fields,help:account_ebics.field_ebics_userid__user_ids
|
||||||
msgid "Users who are allowed to use this EBICS UserID for bank transactions."
|
msgid "Users who are allowed to use this EBICS UserID for bank transactions."
|
||||||
msgstr "Gebruikers die deze EBICS-UserID mogen gebruiken voor banktransacties."
|
msgstr ""
|
||||||
|
"Gebruikers die deze EBICS-UserID mogen gebruiken voor banktransacties."
|
||||||
|
|
||||||
#. module: account_ebics
|
#. module: account_ebics
|
||||||
#: model:ir.model.fields.selection,name:account_ebics.selection__ebics_userid__state__to_verify
|
#: model:ir.model.fields.selection,name:account_ebics.selection__ebics_userid__state__to_verify
|
||||||
@@ -1912,3 +1914,41 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"urlopen-fout:\n"
|
"urlopen-fout:\n"
|
||||||
" url '%(url)s' - %(val)s"
|
" url '%(url)s' - %(val)s"
|
||||||
|
|
||||||
|
#~ msgid "3SKey Certficate"
|
||||||
|
#~ msgstr "3SKey-certificaat"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Default signature class.This default can be overriden for specific EBICS "
|
||||||
|
#~ "transactions (cf. File Formats)."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Standaard handtekeningklasse. Deze standaardwaarde kan worden "
|
||||||
|
#~ "overschreven voor specifieke EBICS-transacties (cf. Bestandsformaten)."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "EBICS Initialisation - Push this button when the public have been checked "
|
||||||
|
#~ "for consistency."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "EBICS-initialisatie - Druk op deze knop wanneer de openbare sleutels op "
|
||||||
|
#~ "consistentie zijn gecontroleerd."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Set the EBICS Configuation record to 'Draft' before starting the Key "
|
||||||
|
#~ "Renewal process."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Zet het EBICS-configuratierecord op 'Concept' voordat u het "
|
||||||
|
#~ "keyvernieuwingsproces start."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The EBICS configuration must be confirmed before it can used for bank "
|
||||||
|
#~ "transactions."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "De EBICS-configuratie moet worden bevestigd voordat deze kan worden "
|
||||||
|
#~ "gebruikt voor banktransacties."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The current version of this module requires to X509 support when enabling "
|
||||||
|
#~ "3SKey"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "De huidige versie van deze module vereist X509-ondersteuning bij het "
|
||||||
|
#~ "inschakelen van 3SKey"
|
||||||
@@ -77,7 +77,7 @@ class EbicsUserID(models.Model):
|
|||||||
required=True,
|
required=True,
|
||||||
default="T",
|
default="T",
|
||||||
help="Default signature class."
|
help="Default signature class."
|
||||||
"This default can be overriden for specific "
|
"This default can be overridden for specific "
|
||||||
"EBICS transactions (cf. File Formats).",
|
"EBICS transactions (cf. File Formats).",
|
||||||
)
|
)
|
||||||
transaction_rights = fields.Selection(
|
transaction_rights = fields.Selection(
|
||||||
@@ -143,7 +143,7 @@ class EbicsUserID(models.Model):
|
|||||||
help="Transactions for this user will be signed "
|
help="Transactions for this user will be signed "
|
||||||
"by means of the SWIFT 3SKey token.",
|
"by means of the SWIFT 3SKey token.",
|
||||||
)
|
)
|
||||||
swift_3skey_certificate = fields.Binary(string="3SKey Certficate")
|
swift_3skey_certificate = fields.Binary(string="3SKey Certificate")
|
||||||
swift_3skey_certificate_fn = fields.Char(string="3SKey Certificate Filename")
|
swift_3skey_certificate_fn = fields.Char(string="3SKey Certificate Filename")
|
||||||
# X.509 Distinguished Name attributes used to
|
# X.509 Distinguished Name attributes used to
|
||||||
# create self-signed X.509 certificates
|
# create self-signed X.509 certificates
|
||||||
@@ -312,7 +312,7 @@ class EbicsUserID(models.Model):
|
|||||||
if self.ebics_config_id.state != "draft":
|
if self.ebics_config_id.state != "draft":
|
||||||
raise UserError(
|
raise UserError(
|
||||||
self.env._(
|
self.env._(
|
||||||
"Set the EBICS Configuation record to 'Draft' "
|
"Set the EBICS Configuration record to 'Draft' "
|
||||||
"before starting the Key Renewal process."
|
"before starting the Key Renewal process."
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -386,7 +386,7 @@ class EbicsUserID(models.Model):
|
|||||||
raise UserError(
|
raise UserError(
|
||||||
self.env._(
|
self.env._(
|
||||||
"The current version of this module "
|
"The current version of this module "
|
||||||
"requires to X509 support when enabling 3SKey"
|
"requires X509 support when enabling 3SKey"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
|
After Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 310 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 19 KiB |
@@ -1,573 +1,230 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!-- Generated from README.rst: edit the README, not this file. -->
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
||||||
<meta name="generator" content="Docutils 0.20.1: https://docutils.sourceforge.io/" />
|
|
||||||
<title>README.rst</title>
|
|
||||||
<style type="text/css">
|
|
||||||
|
|
||||||
/*
|
|
||||||
:Author: David Goodger (goodger@python.org)
|
|
||||||
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
|
|
||||||
:Copyright: This stylesheet has been placed in the public domain.
|
|
||||||
|
|
||||||
Default cascading style sheet for the HTML output of Docutils.
|
|
||||||
|
|
||||||
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
|
||||||
customize this style sheet.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* used to remove borders from tables and images */
|
|
||||||
.borderless, table.borderless td, table.borderless th {
|
|
||||||
border: 0 }
|
|
||||||
|
|
||||||
table.borderless td, table.borderless th {
|
|
||||||
/* Override padding for "table.docutils td" with "! important".
|
|
||||||
The right padding separates the table cells. */
|
|
||||||
padding: 0 0.5em 0 0 ! important }
|
|
||||||
|
|
||||||
.first {
|
|
||||||
/* Override more specific margin styles with "! important". */
|
|
||||||
margin-top: 0 ! important }
|
|
||||||
|
|
||||||
.last, .with-subtitle {
|
|
||||||
margin-bottom: 0 ! important }
|
|
||||||
|
|
||||||
.hidden {
|
|
||||||
display: none }
|
|
||||||
|
|
||||||
.subscript {
|
|
||||||
vertical-align: sub;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
.superscript {
|
|
||||||
vertical-align: super;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
a.toc-backref {
|
|
||||||
text-decoration: none ;
|
|
||||||
color: black }
|
|
||||||
|
|
||||||
blockquote.epigraph {
|
|
||||||
margin: 2em 5em ; }
|
|
||||||
|
|
||||||
dl.docutils dd {
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
|
||||||
dl.docutils dt {
|
|
||||||
font-weight: bold }
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.abstract {
|
|
||||||
margin: 2em 5em }
|
|
||||||
|
|
||||||
div.abstract p.topic-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
|
||||||
div.hint, div.important, div.note, div.tip, div.warning {
|
|
||||||
margin: 2em ;
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em }
|
|
||||||
|
|
||||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
|
||||||
div.important p.admonition-title, div.note p.admonition-title,
|
|
||||||
div.tip p.admonition-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
|
||||||
div.danger p.admonition-title, div.error p.admonition-title,
|
|
||||||
div.warning p.admonition-title, .code .error {
|
|
||||||
color: red ;
|
|
||||||
font-weight: bold ;
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
|
||||||
compound paragraphs.
|
|
||||||
div.compound .compound-first, div.compound .compound-middle {
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
div.compound .compound-last, div.compound .compound-middle {
|
|
||||||
margin-top: 0.5em }
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.dedication {
|
|
||||||
margin: 2em 5em ;
|
|
||||||
text-align: center ;
|
|
||||||
font-style: italic }
|
|
||||||
|
|
||||||
div.dedication p.topic-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-style: normal }
|
|
||||||
|
|
||||||
div.figure {
|
|
||||||
margin-left: 2em ;
|
|
||||||
margin-right: 2em }
|
|
||||||
|
|
||||||
div.footer, div.header {
|
|
||||||
clear: both;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
div.line-block {
|
|
||||||
display: block ;
|
|
||||||
margin-top: 1em ;
|
|
||||||
margin-bottom: 1em }
|
|
||||||
|
|
||||||
div.line-block div.line-block {
|
|
||||||
margin-top: 0 ;
|
|
||||||
margin-bottom: 0 ;
|
|
||||||
margin-left: 1.5em }
|
|
||||||
|
|
||||||
div.sidebar {
|
|
||||||
margin: 0 0 0.5em 1em ;
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em ;
|
|
||||||
background-color: #ffffee ;
|
|
||||||
width: 40% ;
|
|
||||||
float: right ;
|
|
||||||
clear: right }
|
|
||||||
|
|
||||||
div.sidebar p.rubric {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-size: medium }
|
|
||||||
|
|
||||||
div.system-messages {
|
|
||||||
margin: 5em }
|
|
||||||
|
|
||||||
div.system-messages h1 {
|
|
||||||
color: red }
|
|
||||||
|
|
||||||
div.system-message {
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em }
|
|
||||||
|
|
||||||
div.system-message p.system-message-title {
|
|
||||||
color: red ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
div.topic {
|
|
||||||
margin: 2em }
|
|
||||||
|
|
||||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
|
||||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
|
||||||
margin-top: 0.4em }
|
|
||||||
|
|
||||||
h1.title {
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
h2.subtitle {
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
hr.docutils {
|
|
||||||
width: 75% }
|
|
||||||
|
|
||||||
img.align-left, .figure.align-left, object.align-left, table.align-left {
|
|
||||||
clear: left ;
|
|
||||||
float: left ;
|
|
||||||
margin-right: 1em }
|
|
||||||
|
|
||||||
img.align-right, .figure.align-right, object.align-right, table.align-right {
|
|
||||||
clear: right ;
|
|
||||||
float: right ;
|
|
||||||
margin-left: 1em }
|
|
||||||
|
|
||||||
img.align-center, .figure.align-center, object.align-center {
|
|
||||||
display: block;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.align-center {
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.align-left {
|
|
||||||
text-align: left }
|
|
||||||
|
|
||||||
.align-center {
|
|
||||||
clear: both ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
.align-right {
|
|
||||||
text-align: right }
|
|
||||||
|
|
||||||
/* reset inner alignment in figures */
|
|
||||||
div.align-right {
|
|
||||||
text-align: inherit }
|
|
||||||
|
|
||||||
/* div.align-center * { */
|
|
||||||
/* text-align: left } */
|
|
||||||
|
|
||||||
.align-top {
|
|
||||||
vertical-align: top }
|
|
||||||
|
|
||||||
.align-middle {
|
|
||||||
vertical-align: middle }
|
|
||||||
|
|
||||||
.align-bottom {
|
|
||||||
vertical-align: bottom }
|
|
||||||
|
|
||||||
ol.simple, ul.simple {
|
|
||||||
margin-bottom: 1em }
|
|
||||||
|
|
||||||
ol.arabic {
|
|
||||||
list-style: decimal }
|
|
||||||
|
|
||||||
ol.loweralpha {
|
|
||||||
list-style: lower-alpha }
|
|
||||||
|
|
||||||
ol.upperalpha {
|
|
||||||
list-style: upper-alpha }
|
|
||||||
|
|
||||||
ol.lowerroman {
|
|
||||||
list-style: lower-roman }
|
|
||||||
|
|
||||||
ol.upperroman {
|
|
||||||
list-style: upper-roman }
|
|
||||||
|
|
||||||
p.attribution {
|
|
||||||
text-align: right ;
|
|
||||||
margin-left: 50% }
|
|
||||||
|
|
||||||
p.caption {
|
|
||||||
font-style: italic }
|
|
||||||
|
|
||||||
p.credits {
|
|
||||||
font-style: italic ;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
p.label {
|
|
||||||
white-space: nowrap }
|
|
||||||
|
|
||||||
p.rubric {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-size: larger ;
|
|
||||||
color: maroon ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
p.sidebar-title {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold ;
|
|
||||||
font-size: larger }
|
|
||||||
|
|
||||||
p.sidebar-subtitle {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
p.topic-title {
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
pre.address {
|
|
||||||
margin-bottom: 0 ;
|
|
||||||
margin-top: 0 ;
|
|
||||||
font: inherit }
|
|
||||||
|
|
||||||
pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
|
||||||
margin-left: 2em ;
|
|
||||||
margin-right: 2em }
|
|
||||||
|
|
||||||
pre.code .ln { color: grey; } /* line numbers */
|
|
||||||
pre.code, code { background-color: #eeeeee }
|
|
||||||
pre.code .comment, code .comment { color: #5C6576 }
|
|
||||||
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
|
||||||
pre.code .literal.string, code .literal.string { color: #0C5404 }
|
|
||||||
pre.code .name.builtin, code .name.builtin { color: #352B84 }
|
|
||||||
pre.code .deleted, code .deleted { background-color: #DEB0A1}
|
|
||||||
pre.code .inserted, code .inserted { background-color: #A3D289}
|
|
||||||
|
|
||||||
span.classifier {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-style: oblique }
|
|
||||||
|
|
||||||
span.classifier-delimiter {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
span.interpreted {
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
span.option {
|
|
||||||
white-space: nowrap }
|
|
||||||
|
|
||||||
span.pre {
|
|
||||||
white-space: pre }
|
|
||||||
|
|
||||||
span.problematic {
|
|
||||||
color: red }
|
|
||||||
|
|
||||||
span.section-subtitle {
|
|
||||||
/* font-size relative to parent (h1..h6 element) */
|
|
||||||
font-size: 80% }
|
|
||||||
|
|
||||||
table.citation {
|
|
||||||
border-left: solid 1px gray;
|
|
||||||
margin-left: 1px }
|
|
||||||
|
|
||||||
table.docinfo {
|
|
||||||
margin: 2em 4em }
|
|
||||||
|
|
||||||
table.docutils {
|
|
||||||
margin-top: 0.5em ;
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
table.footnote {
|
|
||||||
border-left: solid 1px black;
|
|
||||||
margin-left: 1px }
|
|
||||||
|
|
||||||
table.docutils td, table.docutils th,
|
|
||||||
table.docinfo td, table.docinfo th {
|
|
||||||
padding-left: 0.5em ;
|
|
||||||
padding-right: 0.5em ;
|
|
||||||
vertical-align: top }
|
|
||||||
|
|
||||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
|
||||||
font-weight: bold ;
|
|
||||||
text-align: left ;
|
|
||||||
white-space: nowrap ;
|
|
||||||
padding-left: 0 }
|
|
||||||
|
|
||||||
/* "booktabs" style (no vertical lines) */
|
|
||||||
table.docutils.booktabs {
|
|
||||||
border: 0px;
|
|
||||||
border-top: 2px solid;
|
|
||||||
border-bottom: 2px solid;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
table.docutils.booktabs * {
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
table.docutils.booktabs th {
|
|
||||||
border-bottom: thin solid;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
|
||||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
|
||||||
font-size: 100% }
|
|
||||||
|
|
||||||
ul.auto-toc {
|
|
||||||
list-style-type: none }
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="document">
|
|
||||||
|
|
||||||
|
|
||||||
<a class="reference external image-reference" href="https://www.gnu.org/licenses/lgpl"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a>
|
|
||||||
<div class="section" id="ebics-banking-protocol">
|
<div class="section" id="ebics-banking-protocol">
|
||||||
<h1>EBICS banking protocol</h1>
|
<h1>EBICS Banking Protocol</h1>
|
||||||
<p>Implementation of the EBICS banking protocol.</p>
|
<p><strong>Exchange files directly with your banks from Odoo, with no portal and nobody logging in.</strong></p>
|
||||||
<p>This module facilitates the exchange of files with banks via the EBICS protocol.</p>
|
<p>EBICS, the Electronic Banking Internet Communication Standard, is the channel European
|
||||||
<div class="line-block">
|
banks open to companies that want their software to talk to the bank. Bank statements are
|
||||||
<div class="line"><br /></div>
|
downloaded on a schedule and payment files are uploaded from Odoo, authenticated by your
|
||||||
</div>
|
own cryptographic keys instead of a login page.</p>
|
||||||
<div class="section" id="installation">
|
<p>This module implements that protocol in Odoo. It is developed and maintained by
|
||||||
<h2>Installation</h2>
|
Noviat, and follows each new version of Odoo, which matters when a bank connection has to
|
||||||
<p>The module depends upon</p>
|
survive your next migration.</p>
|
||||||
|
<p>If you are still working out whether EBICS is the right channel for you, we explain it
|
||||||
|
without the jargon, with screen recordings of the flow in Odoo, on
|
||||||
|
<a class="reference external" href="https://www.noviat.com/ebics">noviat.com/ebics</a>.</p>
|
||||||
|
<img alt="Statements come down as camt.053 or camt.052 files, payment files go up as pain.001 or pain.008, and your keys stay on your own server" src="ebics_flow.png" style="width: 100%;" />
|
||||||
|
<div class="section" id="what-you-get">
|
||||||
|
<h2>What you get</h2>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><a class="reference external" href="https://pypi.python.org/pypi/fintech">https://pypi.python.org/pypi/fintech</a></li>
|
<li><strong>Statements that arrive on their own.</strong> A scheduled task collects the files your bank
|
||||||
<li><a class="reference external" href="https://pypi.python.org/pypi/cryptography">https://pypi.python.org/pypi/cryptography</a></li>
|
publishes, for every account, and processes them into bank statements.</li>
|
||||||
|
<li><strong>Payments that leave the same way.</strong> A payment batch or a payment order is uploaded to
|
||||||
|
the bank in the format the bank expects, without exporting a file and re-uploading it
|
||||||
|
somewhere else.</li>
|
||||||
|
<li><strong>Several companies, one connection.</strong> Keys are held per bank rather than per company:
|
||||||
|
when fifteen entities bank with the same institution, the bank sends a single daily file
|
||||||
|
carrying fifteen statements and the module puts each statement in the right company.</li>
|
||||||
|
<li><strong>No bank credentials in Odoo.</strong> The connection uses your own company keys, generated on
|
||||||
|
your side and kept on your server. Access to the EBICS configuration is a permission of
|
||||||
|
its own ('EBICS Manager'), separate from ordinary accounting rights.</li>
|
||||||
|
<li><strong>A test mode, where your bank offers one.</strong> French banks accept a test flag, so a file
|
||||||
|
can be submitted and validated before anything is switched to production. German and
|
||||||
|
Swiss banks generally do not: there the first payment is a real one, kept small and sent
|
||||||
|
to an account you control.</li>
|
||||||
|
<li><strong>A trace of every exchange.</strong> Each download and each upload is a record, with the file
|
||||||
|
it carried, the moment it happened and the user behind it.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Remark:</p>
|
<p><strong>EBICS 2.4</strong>, <strong>EBICS 2.5</strong> and <strong>EBICS 3.0</strong> are supported. EBICS 3.0, the current
|
||||||
<p>The EBICS 'Test Mode' for uploading orders requires fintech 4.3.4 or higher for EBICS 2.x
|
specification since December 2022, names what is exchanged with BTF instead of the
|
||||||
and fintech 7.2.7 or higher for EBICS 3.0.</p>
|
country-specific order type codes of EBICS 2.x. Many banks still run 2.4 or 2.5 in parallel.</p>
|
||||||
<p>SWIFT 3SKey support requires fintech 6.4 or higher.</p>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
</div>
|
||||||
<p>We also recommend to consider the installation of the following modules:</p>
|
<div class="section" id="what-travels-over-the-link">
|
||||||
<div class="line-block">
|
<h2>What travels over the link</h2>
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
<li><p class="first">account_ebics_oe</p>
|
|
||||||
<p>Required if you are running Odoo Enterprise</p>
|
|
||||||
<p>Cf. <a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a></p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
<li><p class="first">account_ebics_batch</p>
|
|
||||||
<p>This module adds a cron job for the automated import of EBICS files.</p>
|
|
||||||
<p>Cf. <a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a></p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
<li><p class="first">account_ebics_batch_payment</p>
|
|
||||||
<p>Recommended if you are using the Odoo Enterprise account_batch_payment module</p>
|
|
||||||
<p>Cf. <a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a></p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
<li><p class="first">account_usability</p>
|
|
||||||
<p>Recommended if you have multiple financial journals.
|
|
||||||
This module adds a number of accounting menu entries such as bank statement list view
|
|
||||||
which allows to see all statements downloaded via the ir.cron automated EBICS download.</p>
|
|
||||||
<p>Cf. <a class="reference external" href="https://github.com/OCA/account-financial-tools">https://github.com/OCA/account-financial-tools</a></p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
<li><p class="first">account_ebics_payment_order</p>
|
|
||||||
<p>Required if you are using the OCA account_payment_order module.</p>
|
|
||||||
<p>Cf. <a class="reference external" href="https://github.com/OCA/bank-payment">https://github.com/OCA/bank-payment</a></p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
<li><p class="first">account_ebics_oca_statement_import</p>
|
|
||||||
<p>Required if you are using the OCA Bank Statement import modules.</p>
|
|
||||||
<p><a class="reference external" href="https://github.com/OCA/bank-statement-import">https://github.com/OCA/bank-statement-import</a></p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
<li><p class="first">account_statement_import_fr_cfonb</p>
|
|
||||||
<p>Required to handle french CFONB files.</p>
|
|
||||||
<p>Cf. <a class="reference external" href="https://github.com/OCA/l10n_france">https://github.com/OCA/l10n_france</a></p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<ul>
|
|
||||||
<li><p class="first">account_statement_import_camt</p>
|
|
||||||
<p>Required to handle camt.052 and camt.054 files.</p>
|
|
||||||
<p>Cf. <a class="reference external" href="https://github.com/OCA/bank-statement-import">https://github.com/OCA/bank-statement-import</a></p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<div class="section" id="fintech-license">
|
|
||||||
<h3>Fintech license</h3>
|
|
||||||
<p>If you have a valid fintech.ebics license, you should add the following
|
|
||||||
licensing parameters to the [options] section of the odoo server configuration file:</p>
|
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li>fintech_register_name</li>
|
<li><strong>Coming in:</strong> camt.053 for the end of day statement, camt.052 for intraday movements
|
||||||
|
where the bank offers them, and national formats such as the French CFONB.</li>
|
||||||
|
<li><strong>Going out:</strong> pain.001 for credit transfers and pain.008 for direct debits, generated by
|
||||||
|
Odoo from your payment batches.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>The name of the licensee.</p>
|
<p>We do not process MT940 statements: the format carries bank and country specific variations,
|
||||||
<ul class="simple">
|
and the Odoo community stopped maintaining a general parser for it after Odoo 10. Where a
|
||||||
<li>fintech_register_keycode</li>
|
bank publishes camt.053 alongside it, which is now the usual case, that is the format to use.</p>
|
||||||
</ul>
|
|
||||||
<p>The keycode of the licensed version.</p>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
<div class="line">Example:</div>
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="section" id="which-banks">
|
||||||
|
<h2>Which banks</h2>
|
||||||
|
<p>Any bank that publishes an EBICS access point can be connected. The standard is maintained by
|
||||||
|
EBICS SC, a company held by the German, French, Swiss and Austrian banking bodies
|
||||||
|
(DK, CFONB, SIX and PSA), and it is the standard corporate channel in those countries.</p>
|
||||||
|
<p>To check a specific bank before you start, joonis publishes a public directory at
|
||||||
|
<a class="reference external" href="https://www.joonis.de/en/fintech/banks/">joonis.de/en/fintech/banks</a>. Enter a BIC and it
|
||||||
|
returns the SEPA services the bank offers, the EBICS versions it supports and its Host-ID.</p>
|
||||||
|
<p>A bank missing from that directory is not a no: it is joonis' own list, not an official
|
||||||
|
register. Ask your bank whether it publishes an EBICS access point.</p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="what-it-costs">
|
||||||
|
<h2>What it costs</h2>
|
||||||
|
<p><strong>This module is free software</strong>, published under LGPL-3. There is no licence fee, no
|
||||||
|
subscription and no per-connection charge from Noviat.</p>
|
||||||
|
<p>It does however rely on the <a class="reference external" href="https://pypi.python.org/pypi/fintech">fintech</a> library from
|
||||||
|
joonis, and that library requires a <strong>commercial licence for production use</strong>: as soon as
|
||||||
|
you upload SEPA files with more than five transactions, retrieve statements older than the
|
||||||
|
last three days, or use the distributed signature. The licence is contracted directly with
|
||||||
|
joonis, not with Noviat.</p>
|
||||||
|
<p>joonis charges a one-off setup fee plus a monthly fee per EBICS user id. Current pricing is
|
||||||
|
published on
|
||||||
|
<a class="reference external" href="https://www.joonis.de/en/fintech/prices/">joonis.de</a>.</p>
|
||||||
|
<p>Your bank may also charge a subscription for the EBICS channel itself. It varies from one
|
||||||
|
bank to another and is billed by the bank, separately from anything on the Odoo side.</p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="requirements">
|
||||||
|
<h2>Requirements</h2>
|
||||||
|
<p>The module depends on two Python libraries:</p>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><a class="reference external" href="https://pypi.python.org/pypi/fintech">fintech</a></li>
|
||||||
|
<li><a class="reference external" href="https://pypi.python.org/pypi/cryptography">cryptography</a></li>
|
||||||
|
</ul>
|
||||||
|
<p>Because the connection needs a Python library and your key files on the server, it runs on
|
||||||
|
<strong>Odoo.sh</strong> or on an <strong>on-premise</strong> installation.</p>
|
||||||
|
<p>The EBICS test mode for uploads requires fintech 4.3.4 or higher for EBICS 2.x and fintech
|
||||||
|
7.2.7 or higher for EBICS 3.0. SWIFT 3SKey support requires fintech 6.4 or higher, and the signature passphrase
|
||||||
|
fintech 7.3.1 or higher.</p>
|
||||||
|
<div class="section" id="fintech-licence">
|
||||||
|
<h3>Fintech licence</h3>
|
||||||
|
<p>With a fintech licence, add its parameters to the <tt class="docutils literal">[options]</tt> section of the Odoo server
|
||||||
|
configuration file:</p>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><tt class="docutils literal">fintech_register_name</tt>: the name of the licensee;</li>
|
||||||
|
<li><tt class="docutils literal">fintech_register_keycode</tt>: the keycode of the licensed version.</li>
|
||||||
|
</ul>
|
||||||
|
<p>Example:</p>
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
; fintech
|
; fintech
|
||||||
fintech_register_name = MyCompany
|
fintech_register_name = MyCompany
|
||||||
fintech_register_keycode = AB1CD-E2FG-3H-IJ4K-5L
|
fintech_register_keycode = AB1CD-E2FG-3H-IJ4K-5L
|
||||||
</pre>
|
</pre>
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<p>Cf. <a class="reference external" href="https://www.joonis.de/en/fintech/prices/">https://www.joonis.de/en/fintech/prices/</a></p>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="section" id="companion-modules">
|
||||||
|
<h2>Companion modules</h2>
|
||||||
|
<p>From this repository:</p>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><strong>EBICS - Odoo Enterprise Integration</strong> (<tt class="docutils literal">account_ebics_oe</tt>): required on Odoo
|
||||||
|
Enterprise; installed automatically.</li>
|
||||||
|
<li><strong>EBICS - Bank Statement Import (OCA)</strong> (<tt class="docutils literal">account_ebics_oca_statement_import</tt>):
|
||||||
|
matches the statements processed with the OCA statement import to the right bank
|
||||||
|
journal; installed automatically with <tt class="docutils literal">account_statement_import_file</tt>.</li>
|
||||||
|
<li><strong>EBICS - Scheduled File Import</strong> (<tt class="docutils literal">account_ebics_batch</tt>): downloads and processes the
|
||||||
|
files of every connection on a schedule.</li>
|
||||||
|
<li><strong>EBICS - Batch Payments (Odoo Enterprise)</strong> (<tt class="docutils literal">account_ebics_batch_payment</tt>): uploads
|
||||||
|
the batch payments of the Odoo Enterprise <tt class="docutils literal">account_batch_payment</tt> module.</li>
|
||||||
|
<li><strong>EBICS - Payment Orders (OCA)</strong> (<tt class="docutils literal">account_ebics_payment_order</tt>): uploads the payment
|
||||||
|
orders of the OCA <tt class="docutils literal">account_payment_order</tt> module
|
||||||
|
(<a class="reference external" href="https://github.com/OCA/bank-payment">OCA/bank-payment</a>).</li>
|
||||||
|
</ul>
|
||||||
|
<p>To process the downloaded statements, install the module of each format you receive:</p>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><strong>camt.053, camt.052 and camt.054</strong>: <tt class="docutils literal">account_statement_import_camt</tt>
|
||||||
|
(<a class="reference external" href="https://github.com/OCA/bank-statement-import">OCA/bank-statement-import</a>). For
|
||||||
|
camt.053, the Odoo Enterprise <tt class="docutils literal">account_bank_statement_import_camt</tt> works too.</li>
|
||||||
|
<li><strong>French CFONB</strong>: <tt class="docutils literal">account_statement_import_fr_cfonb</tt>
|
||||||
|
(<a class="reference external" href="https://github.com/OCA/l10n-france">OCA/l10n-france</a>).</li>
|
||||||
|
</ul>
|
||||||
|
<p>Recommended with several financial journals: <tt class="docutils literal">account_usability</tt>
|
||||||
|
(<a class="reference external" href="https://github.com/OCA/account-financial-tools">OCA/account-financial-tools</a>), which adds
|
||||||
|
accounting menus such as a list of all bank statements, including those downloaded by the
|
||||||
|
scheduled import.</p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="getting-your-bank-online">
|
||||||
|
<h2>Getting your bank online</h2>
|
||||||
|
<p>The configuration on the Odoo side takes fifteen to thirty minutes. What sets the pace of a
|
||||||
|
project is the bank, and it is almost never for a technical reason:</p>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><strong>The bank opens the access.</strong> You receive the host ID, the address of the access point,
|
||||||
|
your partner and user identifiers, and a letter carrying the hash values of the bank's keys.</li>
|
||||||
|
<li><strong>INI and HIA.</strong> Odoo generates your key pairs for signature, authentication and encryption,
|
||||||
|
sends the public keys to the bank and produces the initialisation letters, which you print,
|
||||||
|
sign and send. The bank compares them by hand with the keys it received online.</li>
|
||||||
|
<li><strong>HPB.</strong> Once the bank has activated your access, you retrieve its public keys and compare
|
||||||
|
their hash values with the letter it sent you. That comparison is what makes the channel
|
||||||
|
trustworthy.</li>
|
||||||
|
<li><strong>The first exchange.</strong> Statements come down first. Payments follow, as a test file where
|
||||||
|
the bank supports the test flag, otherwise as a real transfer of a small amount.</li>
|
||||||
|
</ul>
|
||||||
|
<p>Count in weeks per bank rather than days, and start the contract and the paperwork early.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="configuration">
|
<div class="section" id="configuration">
|
||||||
<h2>Configuration</h2>
|
<h2>Configuration</h2>
|
||||||
<p>Go to <strong>Settings > Users</strong></p>
|
<p>The menus are those of Odoo Enterprise; on Odoo Community, the application is called
|
||||||
<p>Add the users that are authorised to maintain the EBICS configuration to the 'EBICS Manager' Group.</p>
|
<em>Invoicing</em> instead of <em>Accounting</em>.</p>
|
||||||
<div class="line-block">
|
<p><strong>Who may configure.</strong> In <em>Settings > Users</em>, with the developer mode active, tick
|
||||||
<div class="line"><br /></div>
|
<strong>EBICS Manager</strong> in the <em>Technical</em> section of the users who maintain the EBICS
|
||||||
</div>
|
configuration.</p>
|
||||||
<p>Go to <strong>Accounting > Configuration > Miscellaneous > EBICS > EBICS File Formats</strong></p>
|
<p><strong>File formats.</strong> In <em>Accounting > Configuration > EBICS > EBICS File Formats</em>, check that the
|
||||||
<p>Check if the EBICS File formats that you want to process in Odoo are defined.</p>
|
formats you exchange with your banks are defined; the common ones are created at
|
||||||
<p>Most commonly used formats for which support is available in Odoo should be there already.</p>
|
installation. A missing format can be reported on
|
||||||
<p>Please open an issue on <a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a> to report missing EBICS File Formats.</p>
|
<a class="reference external" href="https://github.com/Noviat/account_ebics/issues">GitHub</a>.</p>
|
||||||
<p>For File Formats of type 'Downloads' you can also specify a 'Download Process Method'.</p>
|
<p>A download format can carry a <strong>Download Process Method</strong>, run by the <em>Process</em> button of a
|
||||||
<p>This is the method that will be executed when hitting the 'Process' button on the downloaded file.</p>
|
downloaded file: <tt class="docutils literal">camt.053</tt>, <tt class="docutils literal">camt.052</tt>, <tt class="docutils literal">camt.054</tt> and <tt class="docutils literal">cfonb120</tt>. Each needs the
|
||||||
<p>The following methods are currently available:</p>
|
module of its format (see Companion modules); Odoo tells you which one when it is missing.</p>
|
||||||
<ul class="simple">
|
<p><strong>Bank connections.</strong> In <em>Accounting > Configuration > EBICS > EBICS Configuration</em>, create one
|
||||||
<li>cfonb120</li>
|
connection per bank contract, with the identifiers your bank sent you.</p>
|
||||||
<li>camt.053</li>
|
<img alt="A downloaded camt.053 statement file in Odoo, before processing" src="ebics_download.png" style="width: 100%;" />
|
||||||
<li>camt.052</li>
|
|
||||||
<li>camt.054</li>
|
|
||||||
</ul>
|
|
||||||
<p>All these methods require complimentary modules to be installed (cf. Installation section supra).</p>
|
|
||||||
<p>You'll get an error message when the required module is not installed on your Odoo instance.</p>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<p>Go to <strong>Accounting > Configuration > Miscellaneous > EBICS > EBICS Configuration</strong></p>
|
|
||||||
<p>Configure your EBICS configuration according to the contract with your bank.</p>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="usage">
|
<div class="section" id="usage">
|
||||||
<h2>Usage</h2>
|
<h2>Usage</h2>
|
||||||
<p>Go to <strong>Accounting > Bank and Cash > EBICS Processing</strong></p>
|
<p>The <strong>EBICS Processing</strong> menu, in the top bar of the Accounting application, lists the
|
||||||
<div class="line-block">
|
downloaded and uploaded files and offers manual downloads and uploads.</p>
|
||||||
<div class="line"><br /></div>
|
<p>Downloaded files are processed into bank statements. Uploads are launched from the payment
|
||||||
</div>
|
batch or the payment order, with the format set in the configuration: on the payment
|
||||||
|
mode for a payment order, on the journal's payment method for a batch payment.</p>
|
||||||
|
<img alt="Uploading a pain.001 SEPA credit transfer file over EBICS 3.0, with the test mode option" src="ebics_upload.png" style="width: 100%;" />
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="diagnostics">
|
<div class="section" id="diagnostics">
|
||||||
<h2>Diagnostics</h2>
|
<h2>Diagnostics</h2>
|
||||||
<p>Add the following to your Odoo config file in order to diagnose
|
<p>To diagnose the connection with your bank, add this line to the Odoo server configuration
|
||||||
issues with the EBICS connection with your bank:</p>
|
file:</p>
|
||||||
<p>log_handler = fintech.ebics:DEBUG</p>
|
<pre class="literal-block">
|
||||||
<div class="line-block">
|
log_handler = fintech.ebics:DEBUG
|
||||||
<div class="line"><br /></div>
|
</pre>
|
||||||
</div>
|
|
||||||
<div class="section" id="ebics-return-codes">
|
<div class="section" id="ebics-return-codes">
|
||||||
<h3>EBICS Return Codes</h3>
|
<h3>EBICS return codes</h3>
|
||||||
<p>During the processing of your EBICS upload/download, your bank may return an Error Code, e.g.</p>
|
<p>During an upload or a download, your bank may return an error code, for example:</p>
|
||||||
<p>EBICS Functional Error:
|
<pre class="literal-block">
|
||||||
EBICS_NO_DOWNLOAD_DATA_AVAILABLE (code: 90005)</p>
|
EBICS Functional Error:
|
||||||
<p>A detailed explanation of the codes can be found on <a class="reference external" href="http://www.ebics.org">http://www.ebics.org</a>.
|
EBICS_NO_DOWNLOAD_DATA_AVAILABLE (code: 90005)
|
||||||
You can also find this information in the doc folder of this module (file EBICS_Annex1_ReturnCodes).</p>
|
</pre>
|
||||||
<div class="line-block">
|
<p>The codes are explained on <a class="reference external" href="https://www.ebics.org">ebics.org</a> and in the <tt class="docutils literal">doc</tt> folder of
|
||||||
<div class="line"><br /></div>
|
this module (<tt class="docutils literal">EBICS_Annex1_ReturnCodes</tt>).</p>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="electronic-distributed-signature-eds">
|
<div class="section" id="electronic-distributed-signature-eds">
|
||||||
<h3>Electronic Distributed Signature (EDS)</h3>
|
<h3>Electronic Distributed Signature (EDS)</h3>
|
||||||
<p>This is supported via external signing apps, e.g. BankingVEU:</p>
|
<p>Where your bank supports EBICS T, Odoo prepares the file and holds no signing credentials
|
||||||
|
at all: the payment is approved in your own signing application, which is what a segregation
|
||||||
|
of duties policy usually demands. Where it does not, which happens with German and Swiss
|
||||||
|
banks, the signing key sits on your Odoo server, and you can protect it with a separate
|
||||||
|
signature passphrase that is never stored and is asked for every signed transaction.</p>
|
||||||
|
<p>External signing apps include BankingVEU
|
||||||
|
(<a class="reference external" href="https://play.google.com/store/apps/details?id=subsembly.bankingveu">Android</a>,
|
||||||
|
<a class="reference external" href="https://apps.apple.com/de/app/bankingveu/id1578694190">iOS</a>).</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="roadmap">
|
||||||
|
<h2>Roadmap</h2>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><a class="reference external" href="https://play.google.com/store/apps/details?id=subsembly.bankingveu">https://play.google.com/store/apps/details?id=subsembly.bankingveu</a></li>
|
<li>Import externally generated keys and certificates (today only the 3SKey signature
|
||||||
<li><a class="reference external" href="https://apps.apple.com/de/app/bankingveu/id1578694190">https://apps.apple.com/de/app/bankingveu/id1578694190</a></li>
|
certificate).</li>
|
||||||
|
<li>Support the SWIFT 3SKey signing JavaScript library
|
||||||
|
(<a class="reference external" href="https://www2.swift.com/3skey/help/sconnect.html">SConnect</a>).</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<p>Issues and pull requests are welcome on
|
||||||
|
<a class="reference external" href="https://github.com/Noviat/account_ebics">GitHub</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="credits">
|
||||||
|
<h2>Credits</h2>
|
||||||
|
<p>This module is developed and maintained by <a class="reference external" href="https://www.noviat.com">Noviat</a>, Odoo
|
||||||
|
integrator in Belgium, specialised in accounting and finance since 2009.</p>
|
||||||
|
<p>We implement it, we configure the connection with your banks and we support you through the
|
||||||
|
first cycles. If you want help getting a bank online, tell us which banks you use:
|
||||||
|
<a class="reference external" href="https://www.noviat.com/ebics">https://www.noviat.com/ebics</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="known-issues-roadmap">
|
|
||||||
<h2>Known Issues / Roadmap</h2>
|
|
||||||
<ul class="simple">
|
|
||||||
<li>The end user is currently not able to change his passphrases (only the users with 'EBICS Manager' rights can do so).</li>
|
|
||||||
<li>Add support to import externally generated keys & certificates (currently only 3SKey signature certificate).</li>
|
|
||||||
<li>Add support for SWIFT 3SKey signing javascript lib (SConnect, cf <a class="reference external" href="https://www2.swift.com/3skey/help/sconnect.html">https://www2.swift.com/3skey/help/sconnect.html</a>).</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
type="object"
|
type="object"
|
||||||
class="oe_highlight"
|
class="oe_highlight"
|
||||||
groups="account_ebics.group_ebics_manager"
|
groups="account_ebics.group_ebics_manager"
|
||||||
help="The EBICS configuration must be confirmed before it can used for bank transactions."
|
help="The EBICS configuration must be confirmed before it can be used for bank transactions."
|
||||||
/>
|
/>
|
||||||
<field name="state" widget="statusbar" />
|
<field name="state" widget="statusbar" />
|
||||||
</header>
|
</header>
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
string="Bank Keys Verified"
|
string="Bank Keys Verified"
|
||||||
type="object"
|
type="object"
|
||||||
class="oe_highlight"
|
class="oe_highlight"
|
||||||
help="EBICS Initialisation - Push this button when the public have been checked for consistency."
|
help="EBICS Initialisation - Push this button when the public bank keys have been checked for consistency."
|
||||||
/>
|
/>
|
||||||
<button
|
<button
|
||||||
name="change_passphrase"
|
name="change_passphrase"
|
||||||
|
|||||||
@@ -1,50 +1,51 @@
|
|||||||
.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
|
=============================
|
||||||
:target: https://www.gnu.org/licenses/agpl
|
EBICS - Scheduled File Import
|
||||||
:alt: License: AGPL-3
|
=============================
|
||||||
|
|
||||||
============================================
|
**Your statements arrive without anyone asking for them.**
|
||||||
Module to enable batch import of EBICS files
|
|
||||||
============================================
|
|
||||||
|
|
||||||
This module adds a cron job for the automated import of EBICS files.
|
This module adds a scheduled action that downloads and processes the EBICS files of every
|
||||||
|
confirmed connection. This is what turns EBICS from a manual download into something your
|
||||||
|
morning no longer depends on.
|
||||||
|
|
||||||
|
|
.. image:: https://raw.githubusercontent.com/Noviat/account_ebics/18.0/account_ebics_batch/static/description/ebics_download.png
|
||||||
|
:alt: A downloaded camt.053 statement file in Odoo, ready to be processed
|
||||||
|
:width: 100%
|
||||||
|
|
||||||
A Log is created during the import in order to document import errors.
|
Each run creates a **Batch Import Log**. When a file cannot be processed, the log is set to
|
||||||
If errors have been detected, the Batch Import Log state is set to 'error'.
|
*error* and records why; when every file is processed, it is set to *done*. From the log,
|
||||||
|
**Reprocess** retries the files still in draft until the errors are cleared. A log can also be
|
||||||
When all EBICS Files have been imported correctly, the Batch Import Log state is set to 'done'.
|
set to *done* by hand, for instance after a file was processed on its own or the movements
|
||||||
|
were entered manually.
|
||||||
|
|
|
||||||
|
|
||||||
The user can reprocess the imported EBICS files in status 'draft' via the Log object 'REPROCESS' button until all errors have been cleared.
|
|
||||||
|
|
||||||
As an alternative, the user can force the Batch Import Log state to 'done'
|
|
||||||
(e.g. when the errors have been circumvented via manual encoding or the reprocessing of a single EBICS file).
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Adapt the 'EBICS Batch Import' ir.cron job created during the module installation.
|
The scheduled action **EBICS Batch Import** is created **inactive** at installation, with a
|
||||||
|
daily interval. Activate it in *Settings > Technical > Automation > Scheduled Actions* (developer
|
||||||
|
mode), and adapt its interval if needed.
|
||||||
|
|
||||||
The cron job calls the following python method:
|
It calls the following method, on all confirmed connections::
|
||||||
|
|
||||||
|
|
model._batch_import()
|
||||||
|
|
||||||
.. code-block:: python
|
To limit it to some connections, pass their ids::
|
||||||
|
|
||||||
_batch_import()
|
model._batch_import(ebics_config_ids=[1, 3])
|
||||||
|
|
||||||
|
Part of the EBICS suite
|
||||||
|
=======================
|
||||||
|
|
||||||
The EBICS download will be performed on all confirmed EBICS connections.
|
This module extends **EBICS Banking Protocol** (``account_ebics``), the EBICS implementation
|
||||||
|
for Odoo developed and maintained by Noviat. Install it first:
|
||||||
|
https://github.com/Noviat/account_ebics
|
||||||
|
|
||||||
You can limit the automated operation to a subset of your EBICS connections via the ebics_config_ids parameter, e.g.
|
What EBICS is and what it changes, in plain language, with screen recordings of the flow:
|
||||||
|
https://www.noviat.com/ebics
|
||||||
|
|
||||||
|
|
Credits
|
||||||
|
=======
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
_batch_import(ebics_config_ids=[1,3])
|
|
||||||
|
|
||||||
|
Developed and maintained by `Noviat <https://www.noviat.com>`_, Odoo integrator in Belgium,
|
||||||
|
specialised in accounting and finance since 2009. We configure the connection with your banks
|
||||||
|
and support you through the first cycles.
|
||||||
@@ -2,13 +2,13 @@
|
|||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "EBICS Files batch import",
|
"name": "EBICS - Scheduled File Import",
|
||||||
"version": "18.0.1.0.1",
|
"version": "18.0.1.0.1",
|
||||||
"license": "AGPL-3",
|
"license": "AGPL-3",
|
||||||
"author": "Noviat",
|
"author": "Noviat",
|
||||||
"website": "https://www.noviat.com/",
|
"website": "https://www.noviat.com/",
|
||||||
"category": "Accounting & Finance",
|
"category": "Accounting & Finance",
|
||||||
"summary": "EBICS Files automated import and processing",
|
"summary": "Download and process your EBICS files automatically, on a schedule",
|
||||||
"depends": ["account_ebics"],
|
"depends": ["account_ebics"],
|
||||||
"data": [
|
"data": [
|
||||||
"security/ir.model.access.csv",
|
"security/ir.model.access.csv",
|
||||||
@@ -17,5 +17,5 @@
|
|||||||
"views/menu.xml",
|
"views/menu.xml",
|
||||||
],
|
],
|
||||||
"installable": True,
|
"installable": True,
|
||||||
"images": ["static/description/cover.png"],
|
"images": ["static/description/banner.png"],
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,228 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * account_ebics_batch
|
||||||
|
#
|
||||||
|
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2026.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2026-10-11 20:25+0000\n"
|
||||||
|
"Last-Translator: Weblate Translation Memory <noreply-mt-weblate-translation-"
|
||||||
|
"memory@weblate.org>\n"
|
||||||
|
"Language-Team: German <https://translation.noviat.io/projects/noviat-generic-"
|
||||||
|
"account-ebics-v18/account_ebics_batch/de/>\n"
|
||||||
|
"Language: de\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 2026.9.1\n"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__file_ids
|
||||||
|
msgid "Batch Import EBICS Files"
|
||||||
|
msgstr "Stapelimport EBICS-Dateien"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log_item__note
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_batch.ebics_batch_log_view_form
|
||||||
|
msgid "Batch Import Log"
|
||||||
|
msgstr "Stapelimportprotokoll"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__log_ids
|
||||||
|
msgid "Batch Import Log Items"
|
||||||
|
msgstr "Stapelimport-Protokollpositionen"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_batch.ebics_batch_log_view_form
|
||||||
|
msgid "Batch Import Logs"
|
||||||
|
msgstr "Stapelimportprotokolle"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log_item__log_id
|
||||||
|
msgid "Batch Object"
|
||||||
|
msgstr "Stapelobjekt"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__create_uid
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log_item__create_uid
|
||||||
|
msgid "Created by"
|
||||||
|
msgstr "Erstellt von"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__create_date
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log_item__create_date
|
||||||
|
msgid "Created on"
|
||||||
|
msgstr "Erstellt am"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__date_from
|
||||||
|
msgid "Date From"
|
||||||
|
msgstr "Startdatum"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__date_to
|
||||||
|
msgid "Date To"
|
||||||
|
msgstr "Enddatum"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__display_name
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log_item__display_name
|
||||||
|
msgid "Display Name"
|
||||||
|
msgstr "Anzeigename"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields.selection,name:account_ebics_batch.selection__ebics_batch_log__state__done
|
||||||
|
#: model:ir.model.fields.selection,name:account_ebics_batch.selection__ebics_batch_log_item__state__done
|
||||||
|
msgid "Done"
|
||||||
|
msgstr "Erledigt"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields.selection,name:account_ebics_batch.selection__ebics_batch_log__state__draft
|
||||||
|
#: model:ir.model.fields.selection,name:account_ebics_batch.selection__ebics_batch_log_item__state__draft
|
||||||
|
msgid "Draft"
|
||||||
|
msgstr "Entwurf"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.actions.server,name:account_ebics_batch.ir_cron_ebics_batch_import_ir_actions_server
|
||||||
|
msgid "EBICS Batch Import"
|
||||||
|
msgstr "EBICS-Stapelimport"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_batch.ebics_batch_log_view_form
|
||||||
|
msgid "EBICS Batch Import Log"
|
||||||
|
msgstr "EBICS-Stapelimportprotokoll"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.actions.act_window,name:account_ebics_batch.ebics_batch_log_action
|
||||||
|
#: model:ir.ui.menu,name:account_ebics_batch.ebics_batch_log_menu
|
||||||
|
msgid "EBICS Batch Import Logs"
|
||||||
|
msgstr "EBICS-Stapelimportprotokolle"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__ebics_config_ids
|
||||||
|
msgid "EBICS Configurations"
|
||||||
|
msgstr "EBICS-Konfigurationen"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_batch.ebics_batch_log_view_form
|
||||||
|
msgid "EBICS Files"
|
||||||
|
msgstr "EBICS-Dateien"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__file_count
|
||||||
|
msgid "EBICS Files Count"
|
||||||
|
msgstr "Anzahl EBICS-Dateien"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields.selection,name:account_ebics_batch.selection__ebics_batch_log__state__error
|
||||||
|
#: model:ir.model.fields.selection,name:account_ebics_batch.selection__ebics_batch_log_item__state__error
|
||||||
|
msgid "Error"
|
||||||
|
msgstr "Fehler"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_batch/models/ebics_batch_log.py:0
|
||||||
|
msgid "Error while processing EBICS connection '%s' :\n"
|
||||||
|
msgstr "Fehler bei der Verarbeitung der EBICS-Verbindung '%s':\n"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_batch.ebics_batch_log_view_search
|
||||||
|
msgid "Group By"
|
||||||
|
msgstr "Gruppieren nach"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__has_draft_files
|
||||||
|
msgid "Has Draft Files"
|
||||||
|
msgstr "Hat Entwurfsdateien"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__id
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log_item__id
|
||||||
|
msgid "ID"
|
||||||
|
msgstr "ID"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__write_uid
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log_item__write_uid
|
||||||
|
msgid "Last Updated by"
|
||||||
|
msgstr "Zuletzt aktualisiert von"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__write_date
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log_item__write_date
|
||||||
|
msgid "Last Updated on"
|
||||||
|
msgstr "Zuletzt aktualisiert am"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_batch.ebics_batch_log_view_form
|
||||||
|
msgid "Mark Done"
|
||||||
|
msgstr "Als erledigt markieren"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_batch/models/ebics_batch_log.py:0
|
||||||
|
msgid ""
|
||||||
|
"No EBICS UserID with stored passphrase found.\n"
|
||||||
|
"You should configure such a UserID for automated downloads."
|
||||||
|
msgstr ""
|
||||||
|
"Keine EBICS-Benutzer-ID mit gespeicherter Passphrase gefunden.\n"
|
||||||
|
"Sie sollten eine solche Benutzer-ID für automatische Downloads konfigurieren."
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log_item__error_count
|
||||||
|
msgid "Number of Errors"
|
||||||
|
msgstr "Anzahl Fehler"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model,name:account_ebics_batch.model_ebics_batch_log_item
|
||||||
|
msgid "Object to store EBICS Batch Import Log Items"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model,name:account_ebics_batch.model_ebics_batch_log
|
||||||
|
msgid "Object to store EBICS Batch Import Logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_batch/models/ebics_batch_log.py:0
|
||||||
|
msgid "Only log objects in state 'draft' can be deleted !"
|
||||||
|
msgstr "Nur Protokollobjekte im Status „Entwurf“ können gelöscht werden!"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_batch/models/ebics_batch_log.py:0
|
||||||
|
msgid "Please set state to 'Confirm' and Reprocess this EBICS Import Log."
|
||||||
|
msgstr ""
|
||||||
|
"Bitte setzen Sie den Status auf „Bestätigen“ und verarbeiten Sie dieses "
|
||||||
|
"EBICS-Importprotokoll erneut."
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_batch.ebics_batch_log_view_form
|
||||||
|
msgid "Reprocess"
|
||||||
|
msgstr "Erneut verarbeiten"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_batch.ebics_batch_log_view_form
|
||||||
|
msgid "Reprocess 'draft' EBICS Files"
|
||||||
|
msgstr "EBICS-Dateien im Status „Entwurf“ erneut verarbeiten"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_batch.ebics_batch_log_view_search
|
||||||
|
msgid "Search EBICS Batch Import Log Files"
|
||||||
|
msgstr "EBICS-Stapelimportprotokolldateien suchen"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_batch.ebics_batch_log_view_form
|
||||||
|
msgid "Set to Draft"
|
||||||
|
msgstr "Auf Entwurf setzen"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log__state
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch.field_ebics_batch_log_item__state
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_batch.ebics_batch_log_view_search
|
||||||
|
msgid "State"
|
||||||
|
msgstr "Status"
|
||||||
|
After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 310 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 19 KiB |
@@ -1,406 +1,42 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!-- Generated from README.rst: edit the README, not this file. -->
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
<div class="section" id="ebics-scheduled-file-import">
|
||||||
<head>
|
<h1>EBICS - Scheduled File Import</h1>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<p><strong>Your statements arrive without anyone asking for them.</strong></p>
|
||||||
<meta name="generator" content="Docutils 0.20.1: https://docutils.sourceforge.io/" />
|
<p>This module adds a scheduled action that downloads and processes the EBICS files of every
|
||||||
<title>README.rst</title>
|
confirmed connection. This is what turns EBICS from a manual download into something your
|
||||||
<style type="text/css">
|
morning no longer depends on.</p>
|
||||||
|
<img alt="A downloaded camt.053 statement file in Odoo, ready to be processed" src="ebics_download.png" style="width: 100%;" />
|
||||||
/*
|
<p>Each run creates a <strong>Batch Import Log</strong>. When a file cannot be processed, the log is set to
|
||||||
:Author: David Goodger (goodger@python.org)
|
<em>error</em> and records why; when every file is processed, it is set to <em>done</em>. From the log,
|
||||||
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
|
<strong>Reprocess</strong> retries the files still in draft until the errors are cleared. A log can also be
|
||||||
:Copyright: This stylesheet has been placed in the public domain.
|
set to <em>done</em> by hand, for instance after a file was processed on its own or the movements
|
||||||
|
were entered manually.</p>
|
||||||
Default cascading style sheet for the HTML output of Docutils.
|
|
||||||
|
|
||||||
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
|
||||||
customize this style sheet.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* used to remove borders from tables and images */
|
|
||||||
.borderless, table.borderless td, table.borderless th {
|
|
||||||
border: 0 }
|
|
||||||
|
|
||||||
table.borderless td, table.borderless th {
|
|
||||||
/* Override padding for "table.docutils td" with "! important".
|
|
||||||
The right padding separates the table cells. */
|
|
||||||
padding: 0 0.5em 0 0 ! important }
|
|
||||||
|
|
||||||
.first {
|
|
||||||
/* Override more specific margin styles with "! important". */
|
|
||||||
margin-top: 0 ! important }
|
|
||||||
|
|
||||||
.last, .with-subtitle {
|
|
||||||
margin-bottom: 0 ! important }
|
|
||||||
|
|
||||||
.hidden {
|
|
||||||
display: none }
|
|
||||||
|
|
||||||
.subscript {
|
|
||||||
vertical-align: sub;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
.superscript {
|
|
||||||
vertical-align: super;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
a.toc-backref {
|
|
||||||
text-decoration: none ;
|
|
||||||
color: black }
|
|
||||||
|
|
||||||
blockquote.epigraph {
|
|
||||||
margin: 2em 5em ; }
|
|
||||||
|
|
||||||
dl.docutils dd {
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
|
||||||
dl.docutils dt {
|
|
||||||
font-weight: bold }
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.abstract {
|
|
||||||
margin: 2em 5em }
|
|
||||||
|
|
||||||
div.abstract p.topic-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
|
||||||
div.hint, div.important, div.note, div.tip, div.warning {
|
|
||||||
margin: 2em ;
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em }
|
|
||||||
|
|
||||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
|
||||||
div.important p.admonition-title, div.note p.admonition-title,
|
|
||||||
div.tip p.admonition-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
|
||||||
div.danger p.admonition-title, div.error p.admonition-title,
|
|
||||||
div.warning p.admonition-title, .code .error {
|
|
||||||
color: red ;
|
|
||||||
font-weight: bold ;
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
|
||||||
compound paragraphs.
|
|
||||||
div.compound .compound-first, div.compound .compound-middle {
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
div.compound .compound-last, div.compound .compound-middle {
|
|
||||||
margin-top: 0.5em }
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.dedication {
|
|
||||||
margin: 2em 5em ;
|
|
||||||
text-align: center ;
|
|
||||||
font-style: italic }
|
|
||||||
|
|
||||||
div.dedication p.topic-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-style: normal }
|
|
||||||
|
|
||||||
div.figure {
|
|
||||||
margin-left: 2em ;
|
|
||||||
margin-right: 2em }
|
|
||||||
|
|
||||||
div.footer, div.header {
|
|
||||||
clear: both;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
div.line-block {
|
|
||||||
display: block ;
|
|
||||||
margin-top: 1em ;
|
|
||||||
margin-bottom: 1em }
|
|
||||||
|
|
||||||
div.line-block div.line-block {
|
|
||||||
margin-top: 0 ;
|
|
||||||
margin-bottom: 0 ;
|
|
||||||
margin-left: 1.5em }
|
|
||||||
|
|
||||||
div.sidebar {
|
|
||||||
margin: 0 0 0.5em 1em ;
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em ;
|
|
||||||
background-color: #ffffee ;
|
|
||||||
width: 40% ;
|
|
||||||
float: right ;
|
|
||||||
clear: right }
|
|
||||||
|
|
||||||
div.sidebar p.rubric {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-size: medium }
|
|
||||||
|
|
||||||
div.system-messages {
|
|
||||||
margin: 5em }
|
|
||||||
|
|
||||||
div.system-messages h1 {
|
|
||||||
color: red }
|
|
||||||
|
|
||||||
div.system-message {
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em }
|
|
||||||
|
|
||||||
div.system-message p.system-message-title {
|
|
||||||
color: red ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
div.topic {
|
|
||||||
margin: 2em }
|
|
||||||
|
|
||||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
|
||||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
|
||||||
margin-top: 0.4em }
|
|
||||||
|
|
||||||
h1.title {
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
h2.subtitle {
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
hr.docutils {
|
|
||||||
width: 75% }
|
|
||||||
|
|
||||||
img.align-left, .figure.align-left, object.align-left, table.align-left {
|
|
||||||
clear: left ;
|
|
||||||
float: left ;
|
|
||||||
margin-right: 1em }
|
|
||||||
|
|
||||||
img.align-right, .figure.align-right, object.align-right, table.align-right {
|
|
||||||
clear: right ;
|
|
||||||
float: right ;
|
|
||||||
margin-left: 1em }
|
|
||||||
|
|
||||||
img.align-center, .figure.align-center, object.align-center {
|
|
||||||
display: block;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.align-center {
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.align-left {
|
|
||||||
text-align: left }
|
|
||||||
|
|
||||||
.align-center {
|
|
||||||
clear: both ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
.align-right {
|
|
||||||
text-align: right }
|
|
||||||
|
|
||||||
/* reset inner alignment in figures */
|
|
||||||
div.align-right {
|
|
||||||
text-align: inherit }
|
|
||||||
|
|
||||||
/* div.align-center * { */
|
|
||||||
/* text-align: left } */
|
|
||||||
|
|
||||||
.align-top {
|
|
||||||
vertical-align: top }
|
|
||||||
|
|
||||||
.align-middle {
|
|
||||||
vertical-align: middle }
|
|
||||||
|
|
||||||
.align-bottom {
|
|
||||||
vertical-align: bottom }
|
|
||||||
|
|
||||||
ol.simple, ul.simple {
|
|
||||||
margin-bottom: 1em }
|
|
||||||
|
|
||||||
ol.arabic {
|
|
||||||
list-style: decimal }
|
|
||||||
|
|
||||||
ol.loweralpha {
|
|
||||||
list-style: lower-alpha }
|
|
||||||
|
|
||||||
ol.upperalpha {
|
|
||||||
list-style: upper-alpha }
|
|
||||||
|
|
||||||
ol.lowerroman {
|
|
||||||
list-style: lower-roman }
|
|
||||||
|
|
||||||
ol.upperroman {
|
|
||||||
list-style: upper-roman }
|
|
||||||
|
|
||||||
p.attribution {
|
|
||||||
text-align: right ;
|
|
||||||
margin-left: 50% }
|
|
||||||
|
|
||||||
p.caption {
|
|
||||||
font-style: italic }
|
|
||||||
|
|
||||||
p.credits {
|
|
||||||
font-style: italic ;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
p.label {
|
|
||||||
white-space: nowrap }
|
|
||||||
|
|
||||||
p.rubric {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-size: larger ;
|
|
||||||
color: maroon ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
p.sidebar-title {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold ;
|
|
||||||
font-size: larger }
|
|
||||||
|
|
||||||
p.sidebar-subtitle {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
p.topic-title {
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
pre.address {
|
|
||||||
margin-bottom: 0 ;
|
|
||||||
margin-top: 0 ;
|
|
||||||
font: inherit }
|
|
||||||
|
|
||||||
pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
|
||||||
margin-left: 2em ;
|
|
||||||
margin-right: 2em }
|
|
||||||
|
|
||||||
pre.code .ln { color: grey; } /* line numbers */
|
|
||||||
pre.code, code { background-color: #eeeeee }
|
|
||||||
pre.code .comment, code .comment { color: #5C6576 }
|
|
||||||
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
|
||||||
pre.code .literal.string, code .literal.string { color: #0C5404 }
|
|
||||||
pre.code .name.builtin, code .name.builtin { color: #352B84 }
|
|
||||||
pre.code .deleted, code .deleted { background-color: #DEB0A1}
|
|
||||||
pre.code .inserted, code .inserted { background-color: #A3D289}
|
|
||||||
|
|
||||||
span.classifier {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-style: oblique }
|
|
||||||
|
|
||||||
span.classifier-delimiter {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
span.interpreted {
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
span.option {
|
|
||||||
white-space: nowrap }
|
|
||||||
|
|
||||||
span.pre {
|
|
||||||
white-space: pre }
|
|
||||||
|
|
||||||
span.problematic {
|
|
||||||
color: red }
|
|
||||||
|
|
||||||
span.section-subtitle {
|
|
||||||
/* font-size relative to parent (h1..h6 element) */
|
|
||||||
font-size: 80% }
|
|
||||||
|
|
||||||
table.citation {
|
|
||||||
border-left: solid 1px gray;
|
|
||||||
margin-left: 1px }
|
|
||||||
|
|
||||||
table.docinfo {
|
|
||||||
margin: 2em 4em }
|
|
||||||
|
|
||||||
table.docutils {
|
|
||||||
margin-top: 0.5em ;
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
table.footnote {
|
|
||||||
border-left: solid 1px black;
|
|
||||||
margin-left: 1px }
|
|
||||||
|
|
||||||
table.docutils td, table.docutils th,
|
|
||||||
table.docinfo td, table.docinfo th {
|
|
||||||
padding-left: 0.5em ;
|
|
||||||
padding-right: 0.5em ;
|
|
||||||
vertical-align: top }
|
|
||||||
|
|
||||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
|
||||||
font-weight: bold ;
|
|
||||||
text-align: left ;
|
|
||||||
white-space: nowrap ;
|
|
||||||
padding-left: 0 }
|
|
||||||
|
|
||||||
/* "booktabs" style (no vertical lines) */
|
|
||||||
table.docutils.booktabs {
|
|
||||||
border: 0px;
|
|
||||||
border-top: 2px solid;
|
|
||||||
border-bottom: 2px solid;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
table.docutils.booktabs * {
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
table.docutils.booktabs th {
|
|
||||||
border-bottom: thin solid;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
|
||||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
|
||||||
font-size: 100% }
|
|
||||||
|
|
||||||
ul.auto-toc {
|
|
||||||
list-style-type: none }
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="document">
|
|
||||||
|
|
||||||
|
|
||||||
<a class="reference external image-reference" href="https://www.gnu.org/licenses/agpl"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a>
|
|
||||||
<div class="section" id="module-to-enable-batch-import-of-ebics-files">
|
|
||||||
<h1>Module to enable batch import of EBICS files</h1>
|
|
||||||
<p>This module adds a cron job for the automated import of EBICS files.</p>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<p>A Log is created during the import in order to document import errors.
|
|
||||||
If errors have been detected, the Batch Import Log state is set to 'error'.</p>
|
|
||||||
<p>When all EBICS Files have been imported correctly, the Batch Import Log state is set to 'done'.</p>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<p>The user can reprocess the imported EBICS files in status 'draft' via the Log object 'REPROCESS' button until all errors have been cleared.</p>
|
|
||||||
<p>As an alternative, the user can force the Batch Import Log state to 'done'
|
|
||||||
(e.g. when the errors have been circumvented via manual encoding or the reprocessing of a single EBICS file).</p>
|
|
||||||
<div class="line-block">
|
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<div class="section" id="configuration">
|
<div class="section" id="configuration">
|
||||||
<h2>Configuration</h2>
|
<h2>Configuration</h2>
|
||||||
<p>Adapt the 'EBICS Batch Import' ir.cron job created during the module installation.</p>
|
<p>The scheduled action <strong>EBICS Batch Import</strong> is created <strong>inactive</strong> at installation, with a
|
||||||
<p>The cron job calls the following python method:</p>
|
daily interval. Activate it in <em>Settings > Technical > Automation > Scheduled Actions</em> (developer
|
||||||
<div class="line-block">
|
mode), and adapt its interval if needed.</p>
|
||||||
<div class="line"><br /></div>
|
<p>It calls the following method, on all confirmed connections:</p>
|
||||||
</div>
|
<pre class="literal-block">
|
||||||
<pre class="code python literal-block">
|
model._batch_import()
|
||||||
<span class="name">_batch_import</span><span class="punctuation">()</span>
|
|
||||||
</pre>
|
</pre>
|
||||||
<p>The EBICS download will be performed on all confirmed EBICS connections.</p>
|
<p>To limit it to some connections, pass their ids:</p>
|
||||||
<p>You can limit the automated operation to a subset of your EBICS connections via the ebics_config_ids parameter, e.g.</p>
|
<pre class="literal-block">
|
||||||
<div class="line-block">
|
model._batch_import(ebics_config_ids=[1, 3])
|
||||||
<div class="line"><br /></div>
|
|
||||||
</div>
|
|
||||||
<pre class="code python literal-block">
|
|
||||||
<span class="name">_batch_import</span><span class="punctuation">(</span><span class="name">ebics_config_ids</span><span class="operator">=</span><span class="punctuation">[</span><span class="literal number integer">1</span><span class="punctuation">,</span><span class="literal number integer">3</span><span class="punctuation">])</span>
|
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="section" id="part-of-the-ebics-suite">
|
||||||
|
<h2>Part of the EBICS suite</h2>
|
||||||
|
<p>This module extends <strong>EBICS Banking Protocol</strong> (<tt class="docutils literal">account_ebics</tt>), the EBICS implementation
|
||||||
|
for Odoo developed and maintained by Noviat. Install it first:
|
||||||
|
<a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a></p>
|
||||||
|
<p>What EBICS is and what it changes, in plain language, with screen recordings of the flow:
|
||||||
|
<a class="reference external" href="https://www.noviat.com/ebics">https://www.noviat.com/ebics</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="credits">
|
||||||
|
<h2>Credits</h2>
|
||||||
|
<p>Developed and maintained by <a class="reference external" href="https://www.noviat.com">Noviat</a>, Odoo integrator in Belgium,
|
||||||
|
specialised in accounting and finance since 2009. We configure the connection with your banks
|
||||||
|
and support you through the first cycles.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,24 +1,52 @@
|
|||||||
.. image:: https://img.shields.io/badge/licence-LGPL--3-blue.svg
|
========================================
|
||||||
:target: https://www.gnu.org/licenses/lgpl
|
EBICS - Batch Payments (Odoo Enterprise)
|
||||||
:alt: License: AGPL-3
|
========================================
|
||||||
|
|
||||||
==============================
|
**Send a payment batch to the bank from Odoo, without touching a file.**
|
||||||
Upload Batch Payment via EBICS
|
|
||||||
==============================
|
|
||||||
|
|
||||||
This module allows to upload a Batch Payment to the bank via the EBICS protocol.
|
This module lets you upload an Odoo Enterprise batch payment to the bank over EBICS. You
|
||||||
|
validate the batch, Odoo generates the payment file in the format the bank expects and
|
||||||
|
submits it. Nothing is exported to a folder and nothing is uploaded to a portal, which also
|
||||||
|
means nothing can be altered on the way.
|
||||||
|
|
||||||
|
.. image:: https://raw.githubusercontent.com/Noviat/account_ebics/18.0/account_ebics_batch_payment/static/description/ebics_upload.png
|
||||||
|
:alt: Uploading a payment file over EBICS, with the test mode option
|
||||||
|
:width: 100%
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
This module depends upon the following modules:
|
This module depends on:
|
||||||
|
|
||||||
- account_ebics (cf. https://github.com/Noviat/account_ebics)
|
- ``account_ebics`` (https://github.com/Noviat/account_ebics);
|
||||||
- account_ebics_oe (cf. https://github.com/Noviat/account_ebics)
|
- ``account_batch_payment`` (Odoo Enterprise).
|
||||||
- account_batch_payment (Odoo Enterprise)
|
|
||||||
|
Configuration
|
||||||
|
=============
|
||||||
|
|
||||||
|
On the bank journal, in the incoming and outgoing payment methods, show the optional
|
||||||
|
**EBICS File Format** column and set the format of each payment method, for example
|
||||||
|
pain.001 for SEPA credit transfers and pain.008 for direct debits. The formats offered are
|
||||||
|
those of the journal's confirmed EBICS connection.
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
|
|
||||||
Create your Batch Payment and generate the bank file.
|
Validate the batch payment, then click **EBICS Upload**.
|
||||||
Upload the generated file via the 'EBICS Upload' button on the batch payment.
|
|
||||||
|
Part of the EBICS suite
|
||||||
|
=======================
|
||||||
|
|
||||||
|
This module extends **EBICS Banking Protocol** (``account_ebics``), the EBICS implementation
|
||||||
|
for Odoo developed and maintained by Noviat. Install it first:
|
||||||
|
https://github.com/Noviat/account_ebics
|
||||||
|
|
||||||
|
What EBICS is and what it changes, in plain language, with screen recordings of the flow:
|
||||||
|
https://www.noviat.com/ebics
|
||||||
|
|
||||||
|
Credits
|
||||||
|
=======
|
||||||
|
|
||||||
|
Developed and maintained by `Noviat <https://www.noviat.com>`_, Odoo integrator in Belgium,
|
||||||
|
specialised in accounting and finance since 2009. We configure the connection with your banks
|
||||||
|
and support you through the first cycles.
|
||||||
@@ -2,7 +2,8 @@
|
|||||||
# License LGPL-3 or later (http://www.gnu.org/licenses/lgpl).
|
# License LGPL-3 or later (http://www.gnu.org/licenses/lgpl).
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "Upload Batch Payment via EBICS",
|
"name": "EBICS - Batch Payments (Odoo Enterprise)",
|
||||||
|
"summary": "Send an Odoo Enterprise batch payment to the bank over EBICS",
|
||||||
"version": "18.0.1.2.0",
|
"version": "18.0.1.2.0",
|
||||||
"license": "LGPL-3",
|
"license": "LGPL-3",
|
||||||
"author": "Noviat",
|
"author": "Noviat",
|
||||||
@@ -14,5 +15,5 @@
|
|||||||
"views/account_batch_payment_views.xml",
|
"views/account_batch_payment_views.xml",
|
||||||
],
|
],
|
||||||
"installable": True,
|
"installable": True,
|
||||||
"images": ["static/description/cover.png"],
|
"images": ["static/description/banner.png"],
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * account_ebics_batch_payment
|
||||||
|
#
|
||||||
|
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2026.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2026-10-11 20:03+0000\n"
|
||||||
|
"Last-Translator: Weblate Translation Memory <noreply-mt-weblate-translation-"
|
||||||
|
"memory@weblate.org>\n"
|
||||||
|
"Language-Team: German <https://translation.noviat.io/projects/noviat-generic-"
|
||||||
|
"account-ebics-v18/account_ebics_batch_payment/de/>\n"
|
||||||
|
"Language: de\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 2026.9.1\n"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch_payment
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_batch_payment/models/account_batch_payment.py:0
|
||||||
|
#: model:ir.model,name:account_ebics_batch_payment.model_account_batch_payment
|
||||||
|
msgid "Batch Payment"
|
||||||
|
msgstr "Sammelzahlung"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch_payment
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch_payment.field_account_journal__ebics_file_format_ids
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch_payment.field_account_payment_method__ebics_file_format_id
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch_payment.field_account_payment_method_line__ebics_file_format_id
|
||||||
|
msgid "EBICS File Format"
|
||||||
|
msgstr "EBICS-Dateiformat"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch_payment
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_batch_payment/models/account_batch_payment.py:0
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_batch_payment.view_batch_payment_form
|
||||||
|
msgid "EBICS Upload"
|
||||||
|
msgstr "EBICS-Upload"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch_payment
|
||||||
|
#: model:ir.model.fields,help:account_ebics_batch_payment.field_account_payment_method__ebics_file_format_id
|
||||||
|
#: model:ir.model.fields,help:account_ebics_batch_payment.field_account_payment_method_line__ebics_file_format_id
|
||||||
|
msgid ""
|
||||||
|
"EBICS file format to pre-select when uploading a batch payment that uses "
|
||||||
|
"this payment method."
|
||||||
|
msgstr ""
|
||||||
|
"EBICS-Dateiformat, das beim Hochladen einer Stapelzahlung mit dieser "
|
||||||
|
"Zahlungsmethode vorausgewählt wird."
|
||||||
|
|
||||||
|
#. module: account_ebics_batch_payment
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_batch_payment.field_account_batch_payment__hide_ebics_upload
|
||||||
|
msgid "Hide Ebics Upload"
|
||||||
|
msgstr "EBICS-Upload ausblenden"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch_payment
|
||||||
|
#: model:ir.model,name:account_ebics_batch_payment.model_account_journal
|
||||||
|
msgid "Journal"
|
||||||
|
msgstr "Journal"
|
||||||
|
|
||||||
|
#. module: account_ebics_batch_payment
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_batch_payment/models/account_batch_payment.py:0
|
||||||
|
msgid "No active EBICS configuration available for the selected bank."
|
||||||
|
msgstr "Keine aktive EBICS-Konfiguration für die ausgewählte Bank verfügbar."
|
||||||
|
|
||||||
|
#. module: account_ebics_batch_payment
|
||||||
|
#: model:ir.model,name:account_ebics_batch_payment.model_account_payment_method
|
||||||
|
#: model:ir.model,name:account_ebics_batch_payment.model_account_payment_method_line
|
||||||
|
msgid "Payment Methods"
|
||||||
|
msgstr "Zahlungsmethoden"
|
||||||
@@ -48,6 +48,8 @@ msgid ""
|
|||||||
"EBICS file format to pre-select when uploading a batch payment that uses "
|
"EBICS file format to pre-select when uploading a batch payment that uses "
|
||||||
"this payment method."
|
"this payment method."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Format de fichier EBICS à présélectionner lors du téléversement d'un "
|
||||||
|
"paiement groupé utilisant ce mode de paiement."
|
||||||
|
|
||||||
#. module: account_ebics_batch_payment
|
#. module: account_ebics_batch_payment
|
||||||
#: model:ir.model.fields,field_description:account_ebics_batch_payment.field_account_batch_payment__hide_ebics_upload
|
#: model:ir.model.fields,field_description:account_ebics_batch_payment.field_account_batch_payment__hide_ebics_upload
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ msgid ""
|
|||||||
"EBICS file format to pre-select when uploading a batch payment that uses "
|
"EBICS file format to pre-select when uploading a batch payment that uses "
|
||||||
"this payment method."
|
"this payment method."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"EBICS-bestandsformaat dat vooraf wordt geselecteerd bij het uploaden van een"
|
||||||
|
" batchbetaling die deze betaalmethode gebruikt."
|
||||||
|
|
||||||
#. module: account_ebics_batch_payment
|
#. module: account_ebics_batch_payment
|
||||||
#: model:ir.model.fields,field_description:account_ebics_batch_payment.field_account_batch_payment__hide_ebics_upload
|
#: model:ir.model.fields,field_description:account_ebics_batch_payment.field_account_batch_payment__hide_ebics_upload
|
||||||
|
|||||||
|
After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 310 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 19 KiB |
@@ -1,386 +1,43 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!-- Generated from README.rst: edit the README, not this file. -->
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
<div class="section" id="ebics-batch-payments-odoo-enterprise">
|
||||||
<head>
|
<h1>EBICS - Batch Payments (Odoo Enterprise)</h1>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<p><strong>Send a payment batch to the bank from Odoo, without touching a file.</strong></p>
|
||||||
<meta name="generator" content="Docutils 0.20.1: https://docutils.sourceforge.io/" />
|
<p>This module lets you upload an Odoo Enterprise batch payment to the bank over EBICS. You
|
||||||
<title>README.rst</title>
|
validate the batch, Odoo generates the payment file in the format the bank expects and
|
||||||
<style type="text/css">
|
submits it. Nothing is exported to a folder and nothing is uploaded to a portal, which also
|
||||||
|
means nothing can be altered on the way.</p>
|
||||||
/*
|
<img alt="Uploading a payment file over EBICS, with the test mode option" src="ebics_upload.png" style="width: 100%;" />
|
||||||
:Author: David Goodger (goodger@python.org)
|
|
||||||
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
|
|
||||||
:Copyright: This stylesheet has been placed in the public domain.
|
|
||||||
|
|
||||||
Default cascading style sheet for the HTML output of Docutils.
|
|
||||||
|
|
||||||
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
|
||||||
customize this style sheet.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* used to remove borders from tables and images */
|
|
||||||
.borderless, table.borderless td, table.borderless th {
|
|
||||||
border: 0 }
|
|
||||||
|
|
||||||
table.borderless td, table.borderless th {
|
|
||||||
/* Override padding for "table.docutils td" with "! important".
|
|
||||||
The right padding separates the table cells. */
|
|
||||||
padding: 0 0.5em 0 0 ! important }
|
|
||||||
|
|
||||||
.first {
|
|
||||||
/* Override more specific margin styles with "! important". */
|
|
||||||
margin-top: 0 ! important }
|
|
||||||
|
|
||||||
.last, .with-subtitle {
|
|
||||||
margin-bottom: 0 ! important }
|
|
||||||
|
|
||||||
.hidden {
|
|
||||||
display: none }
|
|
||||||
|
|
||||||
.subscript {
|
|
||||||
vertical-align: sub;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
.superscript {
|
|
||||||
vertical-align: super;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
a.toc-backref {
|
|
||||||
text-decoration: none ;
|
|
||||||
color: black }
|
|
||||||
|
|
||||||
blockquote.epigraph {
|
|
||||||
margin: 2em 5em ; }
|
|
||||||
|
|
||||||
dl.docutils dd {
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
|
||||||
dl.docutils dt {
|
|
||||||
font-weight: bold }
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.abstract {
|
|
||||||
margin: 2em 5em }
|
|
||||||
|
|
||||||
div.abstract p.topic-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
|
||||||
div.hint, div.important, div.note, div.tip, div.warning {
|
|
||||||
margin: 2em ;
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em }
|
|
||||||
|
|
||||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
|
||||||
div.important p.admonition-title, div.note p.admonition-title,
|
|
||||||
div.tip p.admonition-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
|
||||||
div.danger p.admonition-title, div.error p.admonition-title,
|
|
||||||
div.warning p.admonition-title, .code .error {
|
|
||||||
color: red ;
|
|
||||||
font-weight: bold ;
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
|
||||||
compound paragraphs.
|
|
||||||
div.compound .compound-first, div.compound .compound-middle {
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
div.compound .compound-last, div.compound .compound-middle {
|
|
||||||
margin-top: 0.5em }
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.dedication {
|
|
||||||
margin: 2em 5em ;
|
|
||||||
text-align: center ;
|
|
||||||
font-style: italic }
|
|
||||||
|
|
||||||
div.dedication p.topic-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-style: normal }
|
|
||||||
|
|
||||||
div.figure {
|
|
||||||
margin-left: 2em ;
|
|
||||||
margin-right: 2em }
|
|
||||||
|
|
||||||
div.footer, div.header {
|
|
||||||
clear: both;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
div.line-block {
|
|
||||||
display: block ;
|
|
||||||
margin-top: 1em ;
|
|
||||||
margin-bottom: 1em }
|
|
||||||
|
|
||||||
div.line-block div.line-block {
|
|
||||||
margin-top: 0 ;
|
|
||||||
margin-bottom: 0 ;
|
|
||||||
margin-left: 1.5em }
|
|
||||||
|
|
||||||
div.sidebar {
|
|
||||||
margin: 0 0 0.5em 1em ;
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em ;
|
|
||||||
background-color: #ffffee ;
|
|
||||||
width: 40% ;
|
|
||||||
float: right ;
|
|
||||||
clear: right }
|
|
||||||
|
|
||||||
div.sidebar p.rubric {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-size: medium }
|
|
||||||
|
|
||||||
div.system-messages {
|
|
||||||
margin: 5em }
|
|
||||||
|
|
||||||
div.system-messages h1 {
|
|
||||||
color: red }
|
|
||||||
|
|
||||||
div.system-message {
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em }
|
|
||||||
|
|
||||||
div.system-message p.system-message-title {
|
|
||||||
color: red ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
div.topic {
|
|
||||||
margin: 2em }
|
|
||||||
|
|
||||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
|
||||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
|
||||||
margin-top: 0.4em }
|
|
||||||
|
|
||||||
h1.title {
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
h2.subtitle {
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
hr.docutils {
|
|
||||||
width: 75% }
|
|
||||||
|
|
||||||
img.align-left, .figure.align-left, object.align-left, table.align-left {
|
|
||||||
clear: left ;
|
|
||||||
float: left ;
|
|
||||||
margin-right: 1em }
|
|
||||||
|
|
||||||
img.align-right, .figure.align-right, object.align-right, table.align-right {
|
|
||||||
clear: right ;
|
|
||||||
float: right ;
|
|
||||||
margin-left: 1em }
|
|
||||||
|
|
||||||
img.align-center, .figure.align-center, object.align-center {
|
|
||||||
display: block;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.align-center {
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.align-left {
|
|
||||||
text-align: left }
|
|
||||||
|
|
||||||
.align-center {
|
|
||||||
clear: both ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
.align-right {
|
|
||||||
text-align: right }
|
|
||||||
|
|
||||||
/* reset inner alignment in figures */
|
|
||||||
div.align-right {
|
|
||||||
text-align: inherit }
|
|
||||||
|
|
||||||
/* div.align-center * { */
|
|
||||||
/* text-align: left } */
|
|
||||||
|
|
||||||
.align-top {
|
|
||||||
vertical-align: top }
|
|
||||||
|
|
||||||
.align-middle {
|
|
||||||
vertical-align: middle }
|
|
||||||
|
|
||||||
.align-bottom {
|
|
||||||
vertical-align: bottom }
|
|
||||||
|
|
||||||
ol.simple, ul.simple {
|
|
||||||
margin-bottom: 1em }
|
|
||||||
|
|
||||||
ol.arabic {
|
|
||||||
list-style: decimal }
|
|
||||||
|
|
||||||
ol.loweralpha {
|
|
||||||
list-style: lower-alpha }
|
|
||||||
|
|
||||||
ol.upperalpha {
|
|
||||||
list-style: upper-alpha }
|
|
||||||
|
|
||||||
ol.lowerroman {
|
|
||||||
list-style: lower-roman }
|
|
||||||
|
|
||||||
ol.upperroman {
|
|
||||||
list-style: upper-roman }
|
|
||||||
|
|
||||||
p.attribution {
|
|
||||||
text-align: right ;
|
|
||||||
margin-left: 50% }
|
|
||||||
|
|
||||||
p.caption {
|
|
||||||
font-style: italic }
|
|
||||||
|
|
||||||
p.credits {
|
|
||||||
font-style: italic ;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
p.label {
|
|
||||||
white-space: nowrap }
|
|
||||||
|
|
||||||
p.rubric {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-size: larger ;
|
|
||||||
color: maroon ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
p.sidebar-title {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold ;
|
|
||||||
font-size: larger }
|
|
||||||
|
|
||||||
p.sidebar-subtitle {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
p.topic-title {
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
pre.address {
|
|
||||||
margin-bottom: 0 ;
|
|
||||||
margin-top: 0 ;
|
|
||||||
font: inherit }
|
|
||||||
|
|
||||||
pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
|
||||||
margin-left: 2em ;
|
|
||||||
margin-right: 2em }
|
|
||||||
|
|
||||||
pre.code .ln { color: grey; } /* line numbers */
|
|
||||||
pre.code, code { background-color: #eeeeee }
|
|
||||||
pre.code .comment, code .comment { color: #5C6576 }
|
|
||||||
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
|
||||||
pre.code .literal.string, code .literal.string { color: #0C5404 }
|
|
||||||
pre.code .name.builtin, code .name.builtin { color: #352B84 }
|
|
||||||
pre.code .deleted, code .deleted { background-color: #DEB0A1}
|
|
||||||
pre.code .inserted, code .inserted { background-color: #A3D289}
|
|
||||||
|
|
||||||
span.classifier {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-style: oblique }
|
|
||||||
|
|
||||||
span.classifier-delimiter {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
span.interpreted {
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
span.option {
|
|
||||||
white-space: nowrap }
|
|
||||||
|
|
||||||
span.pre {
|
|
||||||
white-space: pre }
|
|
||||||
|
|
||||||
span.problematic {
|
|
||||||
color: red }
|
|
||||||
|
|
||||||
span.section-subtitle {
|
|
||||||
/* font-size relative to parent (h1..h6 element) */
|
|
||||||
font-size: 80% }
|
|
||||||
|
|
||||||
table.citation {
|
|
||||||
border-left: solid 1px gray;
|
|
||||||
margin-left: 1px }
|
|
||||||
|
|
||||||
table.docinfo {
|
|
||||||
margin: 2em 4em }
|
|
||||||
|
|
||||||
table.docutils {
|
|
||||||
margin-top: 0.5em ;
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
table.footnote {
|
|
||||||
border-left: solid 1px black;
|
|
||||||
margin-left: 1px }
|
|
||||||
|
|
||||||
table.docutils td, table.docutils th,
|
|
||||||
table.docinfo td, table.docinfo th {
|
|
||||||
padding-left: 0.5em ;
|
|
||||||
padding-right: 0.5em ;
|
|
||||||
vertical-align: top }
|
|
||||||
|
|
||||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
|
||||||
font-weight: bold ;
|
|
||||||
text-align: left ;
|
|
||||||
white-space: nowrap ;
|
|
||||||
padding-left: 0 }
|
|
||||||
|
|
||||||
/* "booktabs" style (no vertical lines) */
|
|
||||||
table.docutils.booktabs {
|
|
||||||
border: 0px;
|
|
||||||
border-top: 2px solid;
|
|
||||||
border-bottom: 2px solid;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
table.docutils.booktabs * {
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
table.docutils.booktabs th {
|
|
||||||
border-bottom: thin solid;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
|
||||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
|
||||||
font-size: 100% }
|
|
||||||
|
|
||||||
ul.auto-toc {
|
|
||||||
list-style-type: none }
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="document">
|
|
||||||
|
|
||||||
|
|
||||||
<a class="reference external image-reference" href="https://www.gnu.org/licenses/lgpl"><object data="https://img.shields.io/badge/licence-LGPL--3-blue.svg" type="image/svg+xml">License: AGPL-3</object></a>
|
|
||||||
<div class="section" id="upload-batch-payment-via-ebics">
|
|
||||||
<h1>Upload Batch Payment via EBICS</h1>
|
|
||||||
<p>This module allows to upload a Batch Payment to the bank via the EBICS protocol.</p>
|
|
||||||
<div class="section" id="installation">
|
<div class="section" id="installation">
|
||||||
<h2>Installation</h2>
|
<h2>Installation</h2>
|
||||||
<p>This module depends upon the following modules:</p>
|
<p>This module depends on:</p>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li>account_ebics (cf. <a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a>)</li>
|
<li><tt class="docutils literal">account_ebics</tt> (<a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a>);</li>
|
||||||
<li>account_ebics_oe (cf. <a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a>)</li>
|
<li><tt class="docutils literal">account_batch_payment</tt> (Odoo Enterprise).</li>
|
||||||
<li>account_batch_payment (Odoo Enterprise)</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="section" id="configuration">
|
||||||
|
<h2>Configuration</h2>
|
||||||
|
<p>On the bank journal, in the incoming and outgoing payment methods, show the optional
|
||||||
|
<strong>EBICS File Format</strong> column and set the format of each payment method, for example
|
||||||
|
pain.001 for SEPA credit transfers and pain.008 for direct debits. The formats offered are
|
||||||
|
those of the journal's confirmed EBICS connection.</p>
|
||||||
|
</div>
|
||||||
<div class="section" id="usage">
|
<div class="section" id="usage">
|
||||||
<h2>Usage</h2>
|
<h2>Usage</h2>
|
||||||
<p>Create your Batch Payment and generate the bank file.
|
<p>Validate the batch payment, then click <strong>EBICS Upload</strong>.</p>
|
||||||
Upload the generated file via the 'EBICS Upload' button on the batch payment.</p>
|
</div>
|
||||||
|
<div class="section" id="part-of-the-ebics-suite">
|
||||||
|
<h2>Part of the EBICS suite</h2>
|
||||||
|
<p>This module extends <strong>EBICS Banking Protocol</strong> (<tt class="docutils literal">account_ebics</tt>), the EBICS implementation
|
||||||
|
for Odoo developed and maintained by Noviat. Install it first:
|
||||||
|
<a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a></p>
|
||||||
|
<p>What EBICS is and what it changes, in plain language, with screen recordings of the flow:
|
||||||
|
<a class="reference external" href="https://www.noviat.com/ebics">https://www.noviat.com/ebics</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="credits">
|
||||||
|
<h2>Credits</h2>
|
||||||
|
<p>Developed and maintained by <a class="reference external" href="https://www.noviat.com">Noviat</a>, Odoo integrator in Belgium,
|
||||||
|
specialised in accounting and finance since 2009. We configure the connection with your banks
|
||||||
|
and support you through the first cycles.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,17 +1,34 @@
|
|||||||
.. image:: https://img.shields.io/badge/license-LGPL--3-blue.png
|
===================================
|
||||||
:target: https://www.gnu.org/licenses/lgpl
|
EBICS - Bank Statement Import (OCA)
|
||||||
:alt: License: LGPL-3
|
===================================
|
||||||
|
|
||||||
==========================================================
|
**Each statement in the right journal, even when one file carries many.**
|
||||||
Deploy account_ebics module with OCA Bank Statement Import
|
|
||||||
==========================================================
|
|
||||||
|
|
||||||
This module makes it possible to use the OCA account_statement_import wizard
|
This module connects the files downloaded over EBICS to the OCA bank statement import. When a
|
||||||
in combination with 'account_ebics'.
|
file holds the statements of several accounts or companies, each statement is created in the
|
||||||
|
right bank journal, including when the bank appends a currency code to the account number
|
||||||
|
(for example ``BE..EUR``). A file without transactions, or a statement already imported, gives
|
||||||
|
a warning on the EBICS file instead of a blocking error.
|
||||||
|
|
||||||
This module will be installed automatically when following modules are activated
|
.. image:: https://raw.githubusercontent.com/Noviat/account_ebics/18.0/account_ebics_oca_statement_import/static/description/ebics_download.png
|
||||||
on your odoo database :
|
:alt: A downloaded camt.053 statement file in Odoo, ready to be processed
|
||||||
|
:width: 100%
|
||||||
|
|
||||||
- account_ebics
|
Installation
|
||||||
- account_statement_import_file
|
============
|
||||||
|
|
||||||
|
This module depends on:
|
||||||
|
|
||||||
|
- ``account_ebics`` (https://github.com/Noviat/account_ebics);
|
||||||
|
- ``account_statement_import_file`` (https://github.com/OCA/bank-statement-import).
|
||||||
|
|
||||||
|
It is installed automatically when both are installed, which is the case as soon as an OCA
|
||||||
|
statement import module such as ``account_statement_import_camt`` is installed.
|
||||||
|
|
||||||
|
Usage
|
||||||
|
=====
|
||||||
|
|
||||||
|
There is nothing to configure. Process a downloaded EBICS file, by hand with the **Process**
|
||||||
|
button or with the scheduled import: the bank statements are created in their journals. The
|
||||||
|
journal matching also applies to statements imported by hand with the OCA import.
|
||||||
|
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
# License LGPL-3 or later (https://www.gnu.org/licenses/lgpl).
|
# License LGPL-3 or later (https://www.gnu.org/licenses/lgpl).
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "account_ebics with OCA Bank Statement Imoort",
|
"name": "EBICS - Bank Statement Import (OCA)",
|
||||||
"summary": "Use OCA Bank Statement Import with account_ebics",
|
"summary": "Process EBICS statement files with the OCA bank statement import",
|
||||||
"version": "18.0.1.0.1",
|
"version": "18.0.1.0.1",
|
||||||
"author": "Noviat",
|
"author": "Noviat",
|
||||||
"website": "https://www.noviat.com/",
|
"website": "https://www.noviat.com/",
|
||||||
@@ -15,5 +15,5 @@
|
|||||||
],
|
],
|
||||||
"installable": True,
|
"installable": True,
|
||||||
"auto_install": True,
|
"auto_install": True,
|
||||||
"images": ["static/description/cover.png"],
|
"images": ["static/description/banner.png"],
|
||||||
}
|
}
|
||||||
@@ -16,7 +16,7 @@ msgstr ""
|
|||||||
#. module: account_ebics_oca_statement_import
|
#. module: account_ebics_oca_statement_import
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
||||||
msgid "Error detected while processing and EBICS File"
|
msgid "Error detected while processing an EBICS File"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: account_ebics_oca_statement_import
|
#. module: account_ebics_oca_statement_import
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * account_ebics_oca_statement_import
|
||||||
|
#
|
||||||
|
# Jérémy Didderen <jeremy.didderen@noviat.com>, 2026.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2026-10-11 21:14+0000\n"
|
||||||
|
"Last-Translator: Jérémy Didderen <jeremy.didderen@noviat.com>\n"
|
||||||
|
"Language-Team: German <https://translation.noviat.io/projects/noviat-generic-"
|
||||||
|
"account-ebics-v18/account_ebics_oca_statement_import/de/>\n"
|
||||||
|
"Language: de\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 2026.9.1\n"
|
||||||
|
|
||||||
|
#. module: account_ebics_oca_statement_import
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
||||||
|
msgid "Error detected while processing an EBICS File"
|
||||||
|
msgstr "Fehler bei der Verarbeitung einer EBICS-Datei festgestellt"
|
||||||
|
|
||||||
|
#. module: account_ebics_oca_statement_import
|
||||||
|
#: model:ir.model,name:account_ebics_oca_statement_import.model_account_statement_import
|
||||||
|
msgid "Import Bank Statement Files"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_ebics_oca_statement_import
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
||||||
|
msgid "Statement %(st_name)s dated %(date)s has already been imported."
|
||||||
|
msgstr "Kontoauszug %(st_name)s vom %(date)s wurde bereits importiert."
|
||||||
|
|
||||||
|
#. module: account_ebics_oca_statement_import
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
||||||
|
msgid "This file doesn't contain any statement."
|
||||||
|
msgstr "Diese Datei enthält keinen Kontoauszug."
|
||||||
|
|
||||||
|
#. module: account_ebics_oca_statement_import
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
||||||
|
msgid "This file doesn't contain any transaction."
|
||||||
|
msgstr "Diese Datei enthält keine Transaktionen."
|
||||||
|
|
||||||
|
#~ msgid "Error detected while processing and EBICS File"
|
||||||
|
#~ msgstr "Fehler bei der Verarbeitung einer EBICS-Datei festgestellt"
|
||||||
@@ -3,14 +3,14 @@
|
|||||||
# * account_ebics_oca_statement_import
|
# * account_ebics_oca_statement_import
|
||||||
#
|
#
|
||||||
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2026.
|
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2026.
|
||||||
|
# Jérémy Didderen <jeremy.didderen@noviat.com>, 2026.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-08-31 23:02+0000\n"
|
"POT-Creation-Date: 2025-08-31 23:02+0000\n"
|
||||||
"PO-Revision-Date: 2026-06-05 12:54+0000\n"
|
"PO-Revision-Date: 2026-10-11 21:14+0000\n"
|
||||||
"Last-Translator: Weblate Translation Memory <noreply-mt-weblate-translation-"
|
"Last-Translator: Jérémy Didderen <jeremy.didderen@noviat.com>\n"
|
||||||
"memory@weblate.org>\n"
|
|
||||||
"Language-Team: French <https://translation.noviat.io/projects/noviat-generic-"
|
"Language-Team: French <https://translation.noviat.io/projects/noviat-generic-"
|
||||||
"account-ebics-v18/account_ebics_oca_statement_import/fr/>\n"
|
"account-ebics-v18/account_ebics_oca_statement_import/fr/>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
@@ -18,13 +18,13 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: \n"
|
"Content-Transfer-Encoding: \n"
|
||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 5.15.1\n"
|
"X-Generator: Weblate 2026.9.1\n"
|
||||||
|
|
||||||
#. module: account_ebics_oca_statement_import
|
#. module: account_ebics_oca_statement_import
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
||||||
msgid "Error detected while processing and EBICS File"
|
msgid "Error detected while processing an EBICS File"
|
||||||
msgstr ""
|
msgstr "Erreur détectée lors du traitement d'un fichier EBICS"
|
||||||
|
|
||||||
#. module: account_ebics_oca_statement_import
|
#. module: account_ebics_oca_statement_import
|
||||||
#: model:ir.model,name:account_ebics_oca_statement_import.model_account_statement_import
|
#: model:ir.model,name:account_ebics_oca_statement_import.model_account_statement_import
|
||||||
@@ -41,10 +41,13 @@ msgstr "Le relevé %(st_name)s daté du %(date)s a déjà été importé."
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
||||||
msgid "This file doesn't contain any statement."
|
msgid "This file doesn't contain any statement."
|
||||||
msgstr ""
|
msgstr "Ce fichier ne contient aucun relevé."
|
||||||
|
|
||||||
#. module: account_ebics_oca_statement_import
|
#. module: account_ebics_oca_statement_import
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
||||||
msgid "This file doesn't contain any transaction."
|
msgid "This file doesn't contain any transaction."
|
||||||
msgstr "Ce fichier ne contient aucune transaction."
|
msgstr "Ce fichier ne contient aucune transaction."
|
||||||
|
|
||||||
|
#~ msgid "Error detected while processing and EBICS File"
|
||||||
|
#~ msgstr "Erreur détectée lors du traitement d'un fichier EBICS"
|
||||||
@@ -3,14 +3,14 @@
|
|||||||
# * account_ebics_oca_statement_import
|
# * account_ebics_oca_statement_import
|
||||||
#
|
#
|
||||||
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2026.
|
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2026.
|
||||||
|
# Jérémy Didderen <jeremy.didderen@noviat.com>, 2026.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2025-08-31 23:13+0000\n"
|
"POT-Creation-Date: 2025-08-31 23:13+0000\n"
|
||||||
"PO-Revision-Date: 2026-06-05 12:54+0000\n"
|
"PO-Revision-Date: 2026-10-11 21:14+0000\n"
|
||||||
"Last-Translator: Weblate Translation Memory <noreply-mt-weblate-translation-"
|
"Last-Translator: Jérémy Didderen <jeremy.didderen@noviat.com>\n"
|
||||||
"memory@weblate.org>\n"
|
|
||||||
"Language-Team: Dutch <https://translation.noviat.io/projects/noviat-generic-"
|
"Language-Team: Dutch <https://translation.noviat.io/projects/noviat-generic-"
|
||||||
"account-ebics-v18/account_ebics_oca_statement_import/nl/>\n"
|
"account-ebics-v18/account_ebics_oca_statement_import/nl/>\n"
|
||||||
"Language: nl\n"
|
"Language: nl\n"
|
||||||
@@ -18,13 +18,13 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: \n"
|
"Content-Transfer-Encoding: \n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 5.15.1\n"
|
"X-Generator: Weblate 2026.9.1\n"
|
||||||
|
|
||||||
#. module: account_ebics_oca_statement_import
|
#. module: account_ebics_oca_statement_import
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
||||||
msgid "Error detected while processing and EBICS File"
|
msgid "Error detected while processing an EBICS File"
|
||||||
msgstr ""
|
msgstr "Fout gedetecteerd bij het verwerken van een EBICS-bestand"
|
||||||
|
|
||||||
#. module: account_ebics_oca_statement_import
|
#. module: account_ebics_oca_statement_import
|
||||||
#: model:ir.model,name:account_ebics_oca_statement_import.model_account_statement_import
|
#: model:ir.model,name:account_ebics_oca_statement_import.model_account_statement_import
|
||||||
@@ -41,10 +41,13 @@ msgstr "Uittreksel %(st_name)s gedateerd %(date)s is al geïmporteerd."
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
||||||
msgid "This file doesn't contain any statement."
|
msgid "This file doesn't contain any statement."
|
||||||
msgstr ""
|
msgstr "Dit bestand bevat geen afschrift."
|
||||||
|
|
||||||
#. module: account_ebics_oca_statement_import
|
#. module: account_ebics_oca_statement_import
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
#: code:addons/account_ebics_oca_statement_import/wizards/account_statement_import.py:0
|
||||||
msgid "This file doesn't contain any transaction."
|
msgid "This file doesn't contain any transaction."
|
||||||
msgstr "Dit bestand bevat geen enkele transactie."
|
msgstr "Dit bestand bevat geen enkele transactie."
|
||||||
|
|
||||||
|
#~ msgid "Error detected while processing and EBICS File"
|
||||||
|
#~ msgstr "Fout gedetecteerd bij het verwerken van een EBICS-bestand"
|
||||||
|
After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 310 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 19 KiB |
@@ -1,379 +1,27 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!-- Generated from README.rst: edit the README, not this file. -->
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
<div class="section" id="ebics-bank-statement-import-oca">
|
||||||
<head>
|
<h1>EBICS - Bank Statement Import (OCA)</h1>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<p><strong>Each statement in the right journal, even when one file carries many.</strong></p>
|
||||||
<meta name="generator" content="Docutils 0.20.1: https://docutils.sourceforge.io/" />
|
<p>This module connects the files downloaded over EBICS to the OCA bank statement import. When a
|
||||||
<title>README.rst</title>
|
file holds the statements of several accounts or companies, each statement is created in the
|
||||||
<style type="text/css">
|
right bank journal, including when the bank appends a currency code to the account number
|
||||||
|
(for example <tt class="docutils literal"><span class="pre">BE..EUR</span></tt>). A file without transactions, or a statement already imported, gives
|
||||||
/*
|
a warning on the EBICS file instead of a blocking error.</p>
|
||||||
:Author: David Goodger (goodger@python.org)
|
<img alt="A downloaded camt.053 statement file in Odoo, ready to be processed" src="ebics_download.png" style="width: 100%;" />
|
||||||
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
|
<div class="section" id="installation">
|
||||||
:Copyright: This stylesheet has been placed in the public domain.
|
<h2>Installation</h2>
|
||||||
|
<p>This module depends on:</p>
|
||||||
Default cascading style sheet for the HTML output of Docutils.
|
|
||||||
|
|
||||||
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
|
||||||
customize this style sheet.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* used to remove borders from tables and images */
|
|
||||||
.borderless, table.borderless td, table.borderless th {
|
|
||||||
border: 0 }
|
|
||||||
|
|
||||||
table.borderless td, table.borderless th {
|
|
||||||
/* Override padding for "table.docutils td" with "! important".
|
|
||||||
The right padding separates the table cells. */
|
|
||||||
padding: 0 0.5em 0 0 ! important }
|
|
||||||
|
|
||||||
.first {
|
|
||||||
/* Override more specific margin styles with "! important". */
|
|
||||||
margin-top: 0 ! important }
|
|
||||||
|
|
||||||
.last, .with-subtitle {
|
|
||||||
margin-bottom: 0 ! important }
|
|
||||||
|
|
||||||
.hidden {
|
|
||||||
display: none }
|
|
||||||
|
|
||||||
.subscript {
|
|
||||||
vertical-align: sub;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
.superscript {
|
|
||||||
vertical-align: super;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
a.toc-backref {
|
|
||||||
text-decoration: none ;
|
|
||||||
color: black }
|
|
||||||
|
|
||||||
blockquote.epigraph {
|
|
||||||
margin: 2em 5em ; }
|
|
||||||
|
|
||||||
dl.docutils dd {
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
|
||||||
dl.docutils dt {
|
|
||||||
font-weight: bold }
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.abstract {
|
|
||||||
margin: 2em 5em }
|
|
||||||
|
|
||||||
div.abstract p.topic-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
|
||||||
div.hint, div.important, div.note, div.tip, div.warning {
|
|
||||||
margin: 2em ;
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em }
|
|
||||||
|
|
||||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
|
||||||
div.important p.admonition-title, div.note p.admonition-title,
|
|
||||||
div.tip p.admonition-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
|
||||||
div.danger p.admonition-title, div.error p.admonition-title,
|
|
||||||
div.warning p.admonition-title, .code .error {
|
|
||||||
color: red ;
|
|
||||||
font-weight: bold ;
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
|
||||||
compound paragraphs.
|
|
||||||
div.compound .compound-first, div.compound .compound-middle {
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
div.compound .compound-last, div.compound .compound-middle {
|
|
||||||
margin-top: 0.5em }
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.dedication {
|
|
||||||
margin: 2em 5em ;
|
|
||||||
text-align: center ;
|
|
||||||
font-style: italic }
|
|
||||||
|
|
||||||
div.dedication p.topic-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-style: normal }
|
|
||||||
|
|
||||||
div.figure {
|
|
||||||
margin-left: 2em ;
|
|
||||||
margin-right: 2em }
|
|
||||||
|
|
||||||
div.footer, div.header {
|
|
||||||
clear: both;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
div.line-block {
|
|
||||||
display: block ;
|
|
||||||
margin-top: 1em ;
|
|
||||||
margin-bottom: 1em }
|
|
||||||
|
|
||||||
div.line-block div.line-block {
|
|
||||||
margin-top: 0 ;
|
|
||||||
margin-bottom: 0 ;
|
|
||||||
margin-left: 1.5em }
|
|
||||||
|
|
||||||
div.sidebar {
|
|
||||||
margin: 0 0 0.5em 1em ;
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em ;
|
|
||||||
background-color: #ffffee ;
|
|
||||||
width: 40% ;
|
|
||||||
float: right ;
|
|
||||||
clear: right }
|
|
||||||
|
|
||||||
div.sidebar p.rubric {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-size: medium }
|
|
||||||
|
|
||||||
div.system-messages {
|
|
||||||
margin: 5em }
|
|
||||||
|
|
||||||
div.system-messages h1 {
|
|
||||||
color: red }
|
|
||||||
|
|
||||||
div.system-message {
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em }
|
|
||||||
|
|
||||||
div.system-message p.system-message-title {
|
|
||||||
color: red ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
div.topic {
|
|
||||||
margin: 2em }
|
|
||||||
|
|
||||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
|
||||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
|
||||||
margin-top: 0.4em }
|
|
||||||
|
|
||||||
h1.title {
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
h2.subtitle {
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
hr.docutils {
|
|
||||||
width: 75% }
|
|
||||||
|
|
||||||
img.align-left, .figure.align-left, object.align-left, table.align-left {
|
|
||||||
clear: left ;
|
|
||||||
float: left ;
|
|
||||||
margin-right: 1em }
|
|
||||||
|
|
||||||
img.align-right, .figure.align-right, object.align-right, table.align-right {
|
|
||||||
clear: right ;
|
|
||||||
float: right ;
|
|
||||||
margin-left: 1em }
|
|
||||||
|
|
||||||
img.align-center, .figure.align-center, object.align-center {
|
|
||||||
display: block;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.align-center {
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.align-left {
|
|
||||||
text-align: left }
|
|
||||||
|
|
||||||
.align-center {
|
|
||||||
clear: both ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
.align-right {
|
|
||||||
text-align: right }
|
|
||||||
|
|
||||||
/* reset inner alignment in figures */
|
|
||||||
div.align-right {
|
|
||||||
text-align: inherit }
|
|
||||||
|
|
||||||
/* div.align-center * { */
|
|
||||||
/* text-align: left } */
|
|
||||||
|
|
||||||
.align-top {
|
|
||||||
vertical-align: top }
|
|
||||||
|
|
||||||
.align-middle {
|
|
||||||
vertical-align: middle }
|
|
||||||
|
|
||||||
.align-bottom {
|
|
||||||
vertical-align: bottom }
|
|
||||||
|
|
||||||
ol.simple, ul.simple {
|
|
||||||
margin-bottom: 1em }
|
|
||||||
|
|
||||||
ol.arabic {
|
|
||||||
list-style: decimal }
|
|
||||||
|
|
||||||
ol.loweralpha {
|
|
||||||
list-style: lower-alpha }
|
|
||||||
|
|
||||||
ol.upperalpha {
|
|
||||||
list-style: upper-alpha }
|
|
||||||
|
|
||||||
ol.lowerroman {
|
|
||||||
list-style: lower-roman }
|
|
||||||
|
|
||||||
ol.upperroman {
|
|
||||||
list-style: upper-roman }
|
|
||||||
|
|
||||||
p.attribution {
|
|
||||||
text-align: right ;
|
|
||||||
margin-left: 50% }
|
|
||||||
|
|
||||||
p.caption {
|
|
||||||
font-style: italic }
|
|
||||||
|
|
||||||
p.credits {
|
|
||||||
font-style: italic ;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
p.label {
|
|
||||||
white-space: nowrap }
|
|
||||||
|
|
||||||
p.rubric {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-size: larger ;
|
|
||||||
color: maroon ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
p.sidebar-title {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold ;
|
|
||||||
font-size: larger }
|
|
||||||
|
|
||||||
p.sidebar-subtitle {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
p.topic-title {
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
pre.address {
|
|
||||||
margin-bottom: 0 ;
|
|
||||||
margin-top: 0 ;
|
|
||||||
font: inherit }
|
|
||||||
|
|
||||||
pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
|
||||||
margin-left: 2em ;
|
|
||||||
margin-right: 2em }
|
|
||||||
|
|
||||||
pre.code .ln { color: grey; } /* line numbers */
|
|
||||||
pre.code, code { background-color: #eeeeee }
|
|
||||||
pre.code .comment, code .comment { color: #5C6576 }
|
|
||||||
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
|
||||||
pre.code .literal.string, code .literal.string { color: #0C5404 }
|
|
||||||
pre.code .name.builtin, code .name.builtin { color: #352B84 }
|
|
||||||
pre.code .deleted, code .deleted { background-color: #DEB0A1}
|
|
||||||
pre.code .inserted, code .inserted { background-color: #A3D289}
|
|
||||||
|
|
||||||
span.classifier {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-style: oblique }
|
|
||||||
|
|
||||||
span.classifier-delimiter {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
span.interpreted {
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
span.option {
|
|
||||||
white-space: nowrap }
|
|
||||||
|
|
||||||
span.pre {
|
|
||||||
white-space: pre }
|
|
||||||
|
|
||||||
span.problematic {
|
|
||||||
color: red }
|
|
||||||
|
|
||||||
span.section-subtitle {
|
|
||||||
/* font-size relative to parent (h1..h6 element) */
|
|
||||||
font-size: 80% }
|
|
||||||
|
|
||||||
table.citation {
|
|
||||||
border-left: solid 1px gray;
|
|
||||||
margin-left: 1px }
|
|
||||||
|
|
||||||
table.docinfo {
|
|
||||||
margin: 2em 4em }
|
|
||||||
|
|
||||||
table.docutils {
|
|
||||||
margin-top: 0.5em ;
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
table.footnote {
|
|
||||||
border-left: solid 1px black;
|
|
||||||
margin-left: 1px }
|
|
||||||
|
|
||||||
table.docutils td, table.docutils th,
|
|
||||||
table.docinfo td, table.docinfo th {
|
|
||||||
padding-left: 0.5em ;
|
|
||||||
padding-right: 0.5em ;
|
|
||||||
vertical-align: top }
|
|
||||||
|
|
||||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
|
||||||
font-weight: bold ;
|
|
||||||
text-align: left ;
|
|
||||||
white-space: nowrap ;
|
|
||||||
padding-left: 0 }
|
|
||||||
|
|
||||||
/* "booktabs" style (no vertical lines) */
|
|
||||||
table.docutils.booktabs {
|
|
||||||
border: 0px;
|
|
||||||
border-top: 2px solid;
|
|
||||||
border-bottom: 2px solid;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
table.docutils.booktabs * {
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
table.docutils.booktabs th {
|
|
||||||
border-bottom: thin solid;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
|
||||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
|
||||||
font-size: 100% }
|
|
||||||
|
|
||||||
ul.auto-toc {
|
|
||||||
list-style-type: none }
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="document">
|
|
||||||
|
|
||||||
|
|
||||||
<a class="reference external image-reference" href="https://www.gnu.org/licenses/lgpl"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a>
|
|
||||||
<div class="section" id="deploy-account-ebics-module-with-oca-bank-statement-import">
|
|
||||||
<h1>Deploy account_ebics module with OCA Bank Statement Import</h1>
|
|
||||||
<p>This module makes it possible to use the OCA account_statement_import wizard
|
|
||||||
in combination with 'account_ebics'.</p>
|
|
||||||
<p>This module will be installed automatically when following modules are activated
|
|
||||||
on your odoo database :</p>
|
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li>account_ebics</li>
|
<li><tt class="docutils literal">account_ebics</tt> (<a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a>);</li>
|
||||||
<li>account_statement_import_file</li>
|
<li><tt class="docutils literal">account_statement_import_file</tt> (<a class="reference external" href="https://github.com/OCA/bank-statement-import">https://github.com/OCA/bank-statement-import</a>).</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<p>It is installed automatically when both are installed, which is the case as soon as an OCA
|
||||||
|
statement import module such as <tt class="docutils literal">account_statement_import_camt</tt> is installed.</p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="usage">
|
||||||
|
<h2>Usage</h2>
|
||||||
|
<p>There is nothing to configure. Process a downloaded EBICS file, by hand with the <strong>Process</strong>
|
||||||
|
button or with the scheduled import: the bank statements are created in their journals. The
|
||||||
|
journal matching also applies to statements imported by hand with the OCA import.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -60,7 +60,7 @@ class AccountStatementImport(models.TransientModel):
|
|||||||
message = _("This file doesn't contain any transaction.")
|
message = _("This file doesn't contain any transaction.")
|
||||||
if message:
|
if message:
|
||||||
log_msg = (
|
log_msg = (
|
||||||
_("Error detected while processing and EBICS File")
|
_("Error detected while processing an EBICS File")
|
||||||
+ ":\n"
|
+ ":\n"
|
||||||
+ message
|
+ message
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,16 +1,32 @@
|
|||||||
.. image:: https://img.shields.io/badge/license-LGPL--3-blue.png
|
===================================
|
||||||
:target: https://www.gnu.org/licenses/lgpl
|
EBICS - Odoo Enterprise Integration
|
||||||
:alt: License: LGPL-3
|
===================================
|
||||||
|
|
||||||
==============================================
|
**Glue module. Install it and forget it.**
|
||||||
Deploy account_ebics module on Odoo Enterprise
|
|
||||||
==============================================
|
|
||||||
|
|
||||||
This module makes it possible to deploy the 'account_ebics'
|
On Odoo Enterprise, this module places the **EBICS Processing** menu in the top bar of
|
||||||
module on Odoo Enterprise.
|
the Accounting application.
|
||||||
|
|
||||||
This module will be installed automatically when following modules are activated
|
It is installed automatically when both of these modules are installed:
|
||||||
on your odoo database :
|
|
||||||
|
|
||||||
- account_ebics
|
- ``account_ebics``;
|
||||||
- account_accountant
|
- ``accountant`` (the Odoo Enterprise Accounting application).
|
||||||
|
|
||||||
|
There is nothing to configure.
|
||||||
|
|
||||||
|
Part of the EBICS suite
|
||||||
|
=======================
|
||||||
|
|
||||||
|
This module extends **EBICS Banking Protocol** (``account_ebics``), the EBICS implementation
|
||||||
|
for Odoo developed and maintained by Noviat. Install it first:
|
||||||
|
https://github.com/Noviat/account_ebics
|
||||||
|
|
||||||
|
What EBICS is and what it changes, in plain language, with screen recordings of the flow:
|
||||||
|
https://www.noviat.com/ebics
|
||||||
|
|
||||||
|
Credits
|
||||||
|
=======
|
||||||
|
|
||||||
|
Developed and maintained by `Noviat <https://www.noviat.com>`_, Odoo integrator in Belgium,
|
||||||
|
specialised in accounting and finance since 2009. We configure the connection with your banks
|
||||||
|
and support you through the first cycles.
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
# License LGPL-3 or later (http://www.gnu.org/licenses/lgpl).
|
# License LGPL-3 or later (http://www.gnu.org/licenses/lgpl).
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "account_ebics on Odoo Enterprise",
|
"name": "EBICS - Odoo Enterprise Integration",
|
||||||
"summary": "Deploy account_ebics module on Odoo Enterprise",
|
"summary": "Place the EBICS menus in the Odoo Enterprise accounting application",
|
||||||
"version": "18.0.1.0.0",
|
"version": "18.0.1.0.0",
|
||||||
"author": "Noviat",
|
"author": "Noviat",
|
||||||
"website": "https://www.noviat.com/",
|
"website": "https://www.noviat.com/",
|
||||||
@@ -16,5 +16,5 @@
|
|||||||
"data": ["views/account_ebics_menu.xml"],
|
"data": ["views/account_ebics_menu.xml"],
|
||||||
"installable": True,
|
"installable": True,
|
||||||
"auto_install": True,
|
"auto_install": True,
|
||||||
"images": ["static/description/cover.png"],
|
"images": ["static/description/banner.png"],
|
||||||
}
|
}
|
||||||
|
After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 310 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 19 KiB |
@@ -1,379 +1,27 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!-- Generated from README.rst: edit the README, not this file. -->
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
<div class="section" id="ebics-odoo-enterprise-integration">
|
||||||
<head>
|
<h1>EBICS - Odoo Enterprise Integration</h1>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<p><strong>Glue module. Install it and forget it.</strong></p>
|
||||||
<meta name="generator" content="Docutils 0.20.1: https://docutils.sourceforge.io/" />
|
<p>On Odoo Enterprise, this module places the <strong>EBICS Processing</strong> menu in the top bar of
|
||||||
<title>README.rst</title>
|
the Accounting application.</p>
|
||||||
<style type="text/css">
|
<p>It is installed automatically when both of these modules are installed:</p>
|
||||||
|
|
||||||
/*
|
|
||||||
:Author: David Goodger (goodger@python.org)
|
|
||||||
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
|
|
||||||
:Copyright: This stylesheet has been placed in the public domain.
|
|
||||||
|
|
||||||
Default cascading style sheet for the HTML output of Docutils.
|
|
||||||
|
|
||||||
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
|
||||||
customize this style sheet.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* used to remove borders from tables and images */
|
|
||||||
.borderless, table.borderless td, table.borderless th {
|
|
||||||
border: 0 }
|
|
||||||
|
|
||||||
table.borderless td, table.borderless th {
|
|
||||||
/* Override padding for "table.docutils td" with "! important".
|
|
||||||
The right padding separates the table cells. */
|
|
||||||
padding: 0 0.5em 0 0 ! important }
|
|
||||||
|
|
||||||
.first {
|
|
||||||
/* Override more specific margin styles with "! important". */
|
|
||||||
margin-top: 0 ! important }
|
|
||||||
|
|
||||||
.last, .with-subtitle {
|
|
||||||
margin-bottom: 0 ! important }
|
|
||||||
|
|
||||||
.hidden {
|
|
||||||
display: none }
|
|
||||||
|
|
||||||
.subscript {
|
|
||||||
vertical-align: sub;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
.superscript {
|
|
||||||
vertical-align: super;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
a.toc-backref {
|
|
||||||
text-decoration: none ;
|
|
||||||
color: black }
|
|
||||||
|
|
||||||
blockquote.epigraph {
|
|
||||||
margin: 2em 5em ; }
|
|
||||||
|
|
||||||
dl.docutils dd {
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
|
||||||
dl.docutils dt {
|
|
||||||
font-weight: bold }
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.abstract {
|
|
||||||
margin: 2em 5em }
|
|
||||||
|
|
||||||
div.abstract p.topic-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
|
||||||
div.hint, div.important, div.note, div.tip, div.warning {
|
|
||||||
margin: 2em ;
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em }
|
|
||||||
|
|
||||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
|
||||||
div.important p.admonition-title, div.note p.admonition-title,
|
|
||||||
div.tip p.admonition-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
|
||||||
div.danger p.admonition-title, div.error p.admonition-title,
|
|
||||||
div.warning p.admonition-title, .code .error {
|
|
||||||
color: red ;
|
|
||||||
font-weight: bold ;
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
|
||||||
compound paragraphs.
|
|
||||||
div.compound .compound-first, div.compound .compound-middle {
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
div.compound .compound-last, div.compound .compound-middle {
|
|
||||||
margin-top: 0.5em }
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.dedication {
|
|
||||||
margin: 2em 5em ;
|
|
||||||
text-align: center ;
|
|
||||||
font-style: italic }
|
|
||||||
|
|
||||||
div.dedication p.topic-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-style: normal }
|
|
||||||
|
|
||||||
div.figure {
|
|
||||||
margin-left: 2em ;
|
|
||||||
margin-right: 2em }
|
|
||||||
|
|
||||||
div.footer, div.header {
|
|
||||||
clear: both;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
div.line-block {
|
|
||||||
display: block ;
|
|
||||||
margin-top: 1em ;
|
|
||||||
margin-bottom: 1em }
|
|
||||||
|
|
||||||
div.line-block div.line-block {
|
|
||||||
margin-top: 0 ;
|
|
||||||
margin-bottom: 0 ;
|
|
||||||
margin-left: 1.5em }
|
|
||||||
|
|
||||||
div.sidebar {
|
|
||||||
margin: 0 0 0.5em 1em ;
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em ;
|
|
||||||
background-color: #ffffee ;
|
|
||||||
width: 40% ;
|
|
||||||
float: right ;
|
|
||||||
clear: right }
|
|
||||||
|
|
||||||
div.sidebar p.rubric {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-size: medium }
|
|
||||||
|
|
||||||
div.system-messages {
|
|
||||||
margin: 5em }
|
|
||||||
|
|
||||||
div.system-messages h1 {
|
|
||||||
color: red }
|
|
||||||
|
|
||||||
div.system-message {
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em }
|
|
||||||
|
|
||||||
div.system-message p.system-message-title {
|
|
||||||
color: red ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
div.topic {
|
|
||||||
margin: 2em }
|
|
||||||
|
|
||||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
|
||||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
|
||||||
margin-top: 0.4em }
|
|
||||||
|
|
||||||
h1.title {
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
h2.subtitle {
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
hr.docutils {
|
|
||||||
width: 75% }
|
|
||||||
|
|
||||||
img.align-left, .figure.align-left, object.align-left, table.align-left {
|
|
||||||
clear: left ;
|
|
||||||
float: left ;
|
|
||||||
margin-right: 1em }
|
|
||||||
|
|
||||||
img.align-right, .figure.align-right, object.align-right, table.align-right {
|
|
||||||
clear: right ;
|
|
||||||
float: right ;
|
|
||||||
margin-left: 1em }
|
|
||||||
|
|
||||||
img.align-center, .figure.align-center, object.align-center {
|
|
||||||
display: block;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.align-center {
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.align-left {
|
|
||||||
text-align: left }
|
|
||||||
|
|
||||||
.align-center {
|
|
||||||
clear: both ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
.align-right {
|
|
||||||
text-align: right }
|
|
||||||
|
|
||||||
/* reset inner alignment in figures */
|
|
||||||
div.align-right {
|
|
||||||
text-align: inherit }
|
|
||||||
|
|
||||||
/* div.align-center * { */
|
|
||||||
/* text-align: left } */
|
|
||||||
|
|
||||||
.align-top {
|
|
||||||
vertical-align: top }
|
|
||||||
|
|
||||||
.align-middle {
|
|
||||||
vertical-align: middle }
|
|
||||||
|
|
||||||
.align-bottom {
|
|
||||||
vertical-align: bottom }
|
|
||||||
|
|
||||||
ol.simple, ul.simple {
|
|
||||||
margin-bottom: 1em }
|
|
||||||
|
|
||||||
ol.arabic {
|
|
||||||
list-style: decimal }
|
|
||||||
|
|
||||||
ol.loweralpha {
|
|
||||||
list-style: lower-alpha }
|
|
||||||
|
|
||||||
ol.upperalpha {
|
|
||||||
list-style: upper-alpha }
|
|
||||||
|
|
||||||
ol.lowerroman {
|
|
||||||
list-style: lower-roman }
|
|
||||||
|
|
||||||
ol.upperroman {
|
|
||||||
list-style: upper-roman }
|
|
||||||
|
|
||||||
p.attribution {
|
|
||||||
text-align: right ;
|
|
||||||
margin-left: 50% }
|
|
||||||
|
|
||||||
p.caption {
|
|
||||||
font-style: italic }
|
|
||||||
|
|
||||||
p.credits {
|
|
||||||
font-style: italic ;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
p.label {
|
|
||||||
white-space: nowrap }
|
|
||||||
|
|
||||||
p.rubric {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-size: larger ;
|
|
||||||
color: maroon ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
p.sidebar-title {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold ;
|
|
||||||
font-size: larger }
|
|
||||||
|
|
||||||
p.sidebar-subtitle {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
p.topic-title {
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
pre.address {
|
|
||||||
margin-bottom: 0 ;
|
|
||||||
margin-top: 0 ;
|
|
||||||
font: inherit }
|
|
||||||
|
|
||||||
pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
|
||||||
margin-left: 2em ;
|
|
||||||
margin-right: 2em }
|
|
||||||
|
|
||||||
pre.code .ln { color: grey; } /* line numbers */
|
|
||||||
pre.code, code { background-color: #eeeeee }
|
|
||||||
pre.code .comment, code .comment { color: #5C6576 }
|
|
||||||
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
|
||||||
pre.code .literal.string, code .literal.string { color: #0C5404 }
|
|
||||||
pre.code .name.builtin, code .name.builtin { color: #352B84 }
|
|
||||||
pre.code .deleted, code .deleted { background-color: #DEB0A1}
|
|
||||||
pre.code .inserted, code .inserted { background-color: #A3D289}
|
|
||||||
|
|
||||||
span.classifier {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-style: oblique }
|
|
||||||
|
|
||||||
span.classifier-delimiter {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
span.interpreted {
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
span.option {
|
|
||||||
white-space: nowrap }
|
|
||||||
|
|
||||||
span.pre {
|
|
||||||
white-space: pre }
|
|
||||||
|
|
||||||
span.problematic {
|
|
||||||
color: red }
|
|
||||||
|
|
||||||
span.section-subtitle {
|
|
||||||
/* font-size relative to parent (h1..h6 element) */
|
|
||||||
font-size: 80% }
|
|
||||||
|
|
||||||
table.citation {
|
|
||||||
border-left: solid 1px gray;
|
|
||||||
margin-left: 1px }
|
|
||||||
|
|
||||||
table.docinfo {
|
|
||||||
margin: 2em 4em }
|
|
||||||
|
|
||||||
table.docutils {
|
|
||||||
margin-top: 0.5em ;
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
table.footnote {
|
|
||||||
border-left: solid 1px black;
|
|
||||||
margin-left: 1px }
|
|
||||||
|
|
||||||
table.docutils td, table.docutils th,
|
|
||||||
table.docinfo td, table.docinfo th {
|
|
||||||
padding-left: 0.5em ;
|
|
||||||
padding-right: 0.5em ;
|
|
||||||
vertical-align: top }
|
|
||||||
|
|
||||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
|
||||||
font-weight: bold ;
|
|
||||||
text-align: left ;
|
|
||||||
white-space: nowrap ;
|
|
||||||
padding-left: 0 }
|
|
||||||
|
|
||||||
/* "booktabs" style (no vertical lines) */
|
|
||||||
table.docutils.booktabs {
|
|
||||||
border: 0px;
|
|
||||||
border-top: 2px solid;
|
|
||||||
border-bottom: 2px solid;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
table.docutils.booktabs * {
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
table.docutils.booktabs th {
|
|
||||||
border-bottom: thin solid;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
|
||||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
|
||||||
font-size: 100% }
|
|
||||||
|
|
||||||
ul.auto-toc {
|
|
||||||
list-style-type: none }
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="document">
|
|
||||||
|
|
||||||
|
|
||||||
<a class="reference external image-reference" href="https://www.gnu.org/licenses/lgpl"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a>
|
|
||||||
<div class="section" id="deploy-account-ebics-module-on-odoo-enterprise">
|
|
||||||
<h1>Deploy account_ebics module on Odoo Enterprise</h1>
|
|
||||||
<p>This module makes it possible to deploy the 'account_ebics'
|
|
||||||
module on Odoo Enterprise.</p>
|
|
||||||
<p>This module will be installed automatically when following modules are activated
|
|
||||||
on your odoo database :</p>
|
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li>account_ebics</li>
|
<li><tt class="docutils literal">account_ebics</tt>;</li>
|
||||||
<li>account_accountant</li>
|
<li><tt class="docutils literal">accountant</tt> (the Odoo Enterprise Accounting application).</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<p>There is nothing to configure.</p>
|
||||||
|
<div class="section" id="part-of-the-ebics-suite">
|
||||||
|
<h2>Part of the EBICS suite</h2>
|
||||||
|
<p>This module extends <strong>EBICS Banking Protocol</strong> (<tt class="docutils literal">account_ebics</tt>), the EBICS implementation
|
||||||
|
for Odoo developed and maintained by Noviat. Install it first:
|
||||||
|
<a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a></p>
|
||||||
|
<p>What EBICS is and what it changes, in plain language, with screen recordings of the flow:
|
||||||
|
<a class="reference external" href="https://www.noviat.com/ebics">https://www.noviat.com/ebics</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="credits">
|
||||||
|
<h2>Credits</h2>
|
||||||
|
<p>Developed and maintained by <a class="reference external" href="https://www.noviat.com">Noviat</a>, Odoo integrator in Belgium,
|
||||||
|
specialised in accounting and finance since 2009. We configure the connection with your banks
|
||||||
|
and support you through the first cycles.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,28 +1,48 @@
|
|||||||
.. image:: https://img.shields.io/badge/licence-LGPL--3-blue.svg
|
============================
|
||||||
:target: https://www.gnu.org/licenses/lgpl
|
EBICS - Payment Orders (OCA)
|
||||||
:alt: License: AGPL-3
|
============================
|
||||||
|
|
||||||
==============================
|
**Send an OCA payment order to the bank from Odoo, without touching a file.**
|
||||||
Upload Payment Order via EBICS
|
|
||||||
==============================
|
|
||||||
|
|
||||||
This module allows to upload a Payment Order to the bank via the EBICS protocol.
|
This module lets you upload a payment order of the OCA ``account_payment_order`` module to
|
||||||
|
the bank over EBICS.
|
||||||
|
|
||||||
|
.. image:: https://raw.githubusercontent.com/Noviat/account_ebics/18.0/account_ebics_payment_order/static/description/ebics_upload.png
|
||||||
|
:alt: Uploading a payment file over EBICS, with the test mode option
|
||||||
|
:width: 100%
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
This module depends upon the following modules (cf. apps.odoo.com):
|
This module depends on:
|
||||||
|
|
||||||
- account_ebics
|
- ``account_ebics`` (https://github.com/Noviat/account_ebics);
|
||||||
- account_payment_order
|
- ``account_payment_order`` (https://github.com/OCA/bank-payment).
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Set the EBICS File Format on your Payment Modes.
|
Set the **EBICS File Format** on your payment modes.
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
|
|
||||||
Create your Payment Order and generate the bank file.
|
Create the payment order and generate the bank file, then upload it with the **EBICS
|
||||||
Upload the generated file via the 'EBICS Upload' button on the payment order.
|
Upload** button of the payment order.
|
||||||
|
|
||||||
|
Part of the EBICS suite
|
||||||
|
=======================
|
||||||
|
|
||||||
|
This module extends **EBICS Banking Protocol** (``account_ebics``), the EBICS implementation
|
||||||
|
for Odoo developed and maintained by Noviat. Install it first:
|
||||||
|
https://github.com/Noviat/account_ebics
|
||||||
|
|
||||||
|
What EBICS is and what it changes, in plain language, with screen recordings of the flow:
|
||||||
|
https://www.noviat.com/ebics
|
||||||
|
|
||||||
|
Credits
|
||||||
|
=======
|
||||||
|
|
||||||
|
Developed and maintained by `Noviat <https://www.noviat.com>`_, Odoo integrator in Belgium,
|
||||||
|
specialised in accounting and finance since 2009. We configure the connection with your banks
|
||||||
|
and support you through the first cycles.
|
||||||
@@ -2,7 +2,8 @@
|
|||||||
# License LGPL-3 or later (https://www.gnu.org/licenses/lgpl).
|
# License LGPL-3 or later (https://www.gnu.org/licenses/lgpl).
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "Upload Payment Order via EBICS",
|
"name": "EBICS - Payment Orders (OCA)",
|
||||||
|
"summary": "Send an OCA payment order to the bank over EBICS",
|
||||||
"version": "18.0.1.2.0",
|
"version": "18.0.1.2.0",
|
||||||
"license": "LGPL-3",
|
"license": "LGPL-3",
|
||||||
"author": "Noviat",
|
"author": "Noviat",
|
||||||
@@ -13,6 +14,6 @@
|
|||||||
"views/account_payment_order_views.xml",
|
"views/account_payment_order_views.xml",
|
||||||
"views/account_payment_mode_views.xml",
|
"views/account_payment_mode_views.xml",
|
||||||
],
|
],
|
||||||
"images": ["static/description/cover.png"],
|
"images": ["static/description/banner.png"],
|
||||||
"installable": True,
|
"installable": True,
|
||||||
}
|
}
|
||||||
@@ -71,6 +71,6 @@ msgstr ""
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"This payment order doesn't contains attachments.\n"
|
"This payment order doesn't contain attachments.\n"
|
||||||
"Please generate first the Payment Order file."
|
"Please generate first the Payment Order file."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * account_ebics_payment_order
|
||||||
|
#
|
||||||
|
# Jérémy Didderen <jeremy.didderen@noviat.com>, 2026.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"PO-Revision-Date: 2026-10-11 21:14+0000\n"
|
||||||
|
"Last-Translator: Jérémy Didderen <jeremy.didderen@noviat.com>\n"
|
||||||
|
"Language-Team: German <https://translation.noviat.io/projects/noviat-generic-"
|
||||||
|
"account-ebics-v18/account_ebics_payment_order/de/>\n"
|
||||||
|
"Language: de\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: \n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 2026.9.1\n"
|
||||||
|
|
||||||
|
#. module: account_ebics_payment_order
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_payment_order.field_account_payment_mode__ebics_format_id
|
||||||
|
msgid "EBICS File Format"
|
||||||
|
msgstr "EBICS-Dateiformat"
|
||||||
|
|
||||||
|
#. module: account_ebics_payment_order
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
||||||
|
#: model_terms:ir.ui.view,arch_db:account_ebics_payment_order.account_payment_order_form
|
||||||
|
msgid "EBICS Upload"
|
||||||
|
msgstr "EBICS-Upload"
|
||||||
|
|
||||||
|
#. module: account_ebics_payment_order
|
||||||
|
#: model:ir.model.fields,field_description:account_ebics_payment_order.field_account_payment_order__hide_ebics_upload
|
||||||
|
msgid "Hide Ebics Upload"
|
||||||
|
msgstr "EBICS-Upload ausblenden"
|
||||||
|
|
||||||
|
#. module: account_ebics_payment_order
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
||||||
|
msgid "Missing EBICS File Format setting on your Payment Mode."
|
||||||
|
msgstr "Fehlende Einstellung für das EBICS-Dateiformat in Ihrem Zahlungsmodus."
|
||||||
|
|
||||||
|
#. module: account_ebics_payment_order
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
||||||
|
msgid "No active EBICS configuration available for the selected bank."
|
||||||
|
msgstr "Keine aktive EBICS-Konfiguration für die ausgewählte Bank verfügbar."
|
||||||
|
|
||||||
|
#. module: account_ebics_payment_order
|
||||||
|
#: model:ir.model,name:account_ebics_payment_order.model_account_payment_mode
|
||||||
|
msgid "Payment Modes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: account_ebics_payment_order
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
||||||
|
#: model:ir.model,name:account_ebics_payment_order.model_account_payment_order
|
||||||
|
msgid "Payment Order"
|
||||||
|
msgstr "Zahlungsauftrag"
|
||||||
|
|
||||||
|
#. module: account_ebics_payment_order
|
||||||
|
#: model:ir.model.fields,help:account_ebics_payment_order.field_account_payment_mode__ebics_format_id
|
||||||
|
msgid "Select EBICS File Format to upload."
|
||||||
|
msgstr "Wählen Sie das hochzuladende EBICS-Dateiformat."
|
||||||
|
|
||||||
|
#. module: account_ebics_payment_order
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
||||||
|
msgid ""
|
||||||
|
"This payment order contains multiple attachments.\n"
|
||||||
|
"Please remove the obsolete attachments or upload the payment order file via "
|
||||||
|
"the EBICS Processing > EBICS Upload menu"
|
||||||
|
msgstr ""
|
||||||
|
"Dieser Zahlungsauftrag enthält mehrere Anhänge.\n"
|
||||||
|
"Bitte entfernen Sie die veralteten Anhänge oder laden Sie die "
|
||||||
|
"Zahlungsauftragsdatei über das Menü EBICS Processing > EBICS Upload hoch"
|
||||||
|
|
||||||
|
#. module: account_ebics_payment_order
|
||||||
|
#. odoo-python
|
||||||
|
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
||||||
|
msgid ""
|
||||||
|
"This payment order doesn't contain attachments.\n"
|
||||||
|
"Please generate first the Payment Order file."
|
||||||
|
msgstr ""
|
||||||
|
"Dieser Zahlungsauftrag enthält keine Anhänge.\n"
|
||||||
|
"Bitte erstellen Sie zuerst die Zahlungsauftragsdatei."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This payment order doesn't contains attachments.\n"
|
||||||
|
#~ "Please generate first the Payment Order file."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Dieser Zahlungsauftrag enthält keine Anhänge.\n"
|
||||||
|
#~ "Bitte erstellen Sie zuerst die Zahlungsauftragsdatei."
|
||||||
@@ -3,13 +3,13 @@
|
|||||||
# * account_ebics_payment_order
|
# * account_ebics_payment_order
|
||||||
#
|
#
|
||||||
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2026.
|
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2026.
|
||||||
|
# Jérémy Didderen <jeremy.didderen@noviat.com>, 2026.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2026-08-10 02:54+0000\n"
|
"PO-Revision-Date: 2026-10-11 21:14+0000\n"
|
||||||
"Last-Translator: Weblate Translation Memory <noreply-mt-weblate-translation-"
|
"Last-Translator: Jérémy Didderen <jeremy.didderen@noviat.com>\n"
|
||||||
"memory@weblate.org>\n"
|
|
||||||
"Language-Team: French <https://translation.noviat.io/projects/noviat-generic-"
|
"Language-Team: French <https://translation.noviat.io/projects/noviat-generic-"
|
||||||
"account-ebics-v18/account_ebics_payment_order/fr/>\n"
|
"account-ebics-v18/account_ebics_payment_order/fr/>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
@@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 2026.7.1\n"
|
"X-Generator: Weblate 2026.9.1\n"
|
||||||
|
|
||||||
#. module: account_ebics_payment_order
|
#. module: account_ebics_payment_order
|
||||||
#: model:ir.model.fields,field_description:account_ebics_payment_order.field_account_payment_mode__ebics_format_id
|
#: model:ir.model.fields,field_description:account_ebics_payment_order.field_account_payment_mode__ebics_format_id
|
||||||
@@ -41,6 +41,7 @@ msgstr "Masquer le téléversement Ebics"
|
|||||||
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
||||||
msgid "Missing EBICS File Format setting on your Payment Mode."
|
msgid "Missing EBICS File Format setting on your Payment Mode."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Paramètre de format de fichier EBICS manquant sur votre mode de paiement."
|
||||||
|
|
||||||
#. module: account_ebics_payment_order
|
#. module: account_ebics_payment_order
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
@@ -64,7 +65,7 @@ msgstr "Ordre de paiement"
|
|||||||
#. module: account_ebics_payment_order
|
#. module: account_ebics_payment_order
|
||||||
#: model:ir.model.fields,help:account_ebics_payment_order.field_account_payment_mode__ebics_format_id
|
#: model:ir.model.fields,help:account_ebics_payment_order.field_account_payment_mode__ebics_format_id
|
||||||
msgid "Select EBICS File Format to upload."
|
msgid "Select EBICS File Format to upload."
|
||||||
msgstr ""
|
msgstr "Sélectionnez le format de fichier EBICS à téléverser."
|
||||||
|
|
||||||
#. module: account_ebics_payment_order
|
#. module: account_ebics_payment_order
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
@@ -74,11 +75,23 @@ msgid ""
|
|||||||
"Please remove the obsolete attachments or upload the payment order file via "
|
"Please remove the obsolete attachments or upload the payment order file via "
|
||||||
"the EBICS Processing > EBICS Upload menu"
|
"the EBICS Processing > EBICS Upload menu"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Cet ordre de paiement contient plusieurs pièces jointes.\n"
|
||||||
|
"Veuillez supprimer les pièces jointes obsolètes ou téléverser le fichier de "
|
||||||
|
"l'ordre de paiement via le menu EBICS Processing > EBICS Upload"
|
||||||
|
|
||||||
#. module: account_ebics_payment_order
|
#. module: account_ebics_payment_order
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"This payment order doesn't contains attachments.\n"
|
"This payment order doesn't contain attachments.\n"
|
||||||
"Please generate first the Payment Order file."
|
"Please generate first the Payment Order file."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Cet ordre de paiement ne contient aucune pièce jointe.\n"
|
||||||
|
"Veuillez d'abord générer le fichier de l'ordre de paiement."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This payment order doesn't contains attachments.\n"
|
||||||
|
#~ "Please generate first the Payment Order file."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Cet ordre de paiement ne contient aucune pièce jointe.\n"
|
||||||
|
#~ "Veuillez d'abord générer le fichier de l'ordre de paiement."
|
||||||
@@ -3,13 +3,13 @@
|
|||||||
# * account_ebics_payment_order
|
# * account_ebics_payment_order
|
||||||
#
|
#
|
||||||
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2026.
|
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2026.
|
||||||
|
# Jérémy Didderen <jeremy.didderen@noviat.com>, 2026.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 18.0+e\n"
|
"Project-Id-Version: Odoo Server 18.0+e\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2026-08-10 02:54+0000\n"
|
"PO-Revision-Date: 2026-10-11 21:14+0000\n"
|
||||||
"Last-Translator: Weblate Translation Memory <noreply-mt-weblate-translation-"
|
"Last-Translator: Jérémy Didderen <jeremy.didderen@noviat.com>\n"
|
||||||
"memory@weblate.org>\n"
|
|
||||||
"Language-Team: Dutch <https://translation.noviat.io/projects/noviat-generic-"
|
"Language-Team: Dutch <https://translation.noviat.io/projects/noviat-generic-"
|
||||||
"account-ebics-v18/account_ebics_payment_order/nl/>\n"
|
"account-ebics-v18/account_ebics_payment_order/nl/>\n"
|
||||||
"Language: nl\n"
|
"Language: nl\n"
|
||||||
@@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 2026.7.1\n"
|
"X-Generator: Weblate 2026.9.1\n"
|
||||||
|
|
||||||
#. module: account_ebics_payment_order
|
#. module: account_ebics_payment_order
|
||||||
#: model:ir.model.fields,field_description:account_ebics_payment_order.field_account_payment_mode__ebics_format_id
|
#: model:ir.model.fields,field_description:account_ebics_payment_order.field_account_payment_mode__ebics_format_id
|
||||||
@@ -40,13 +40,14 @@ msgstr "Ebics-upload verbergen"
|
|||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
||||||
msgid "Missing EBICS File Format setting on your Payment Mode."
|
msgid "Missing EBICS File Format setting on your Payment Mode."
|
||||||
msgstr ""
|
msgstr "Instelling EBICS-bestandsformaat ontbreekt op uw betaalwijze."
|
||||||
|
|
||||||
#. module: account_ebics_payment_order
|
#. module: account_ebics_payment_order
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
||||||
msgid "No active EBICS configuration available for the selected bank."
|
msgid "No active EBICS configuration available for the selected bank."
|
||||||
msgstr "Geen actieve EBICS-configuratie beschikbaar voor de geselecteerde bank."
|
msgstr ""
|
||||||
|
"Geen actieve EBICS-configuratie beschikbaar voor de geselecteerde bank."
|
||||||
|
|
||||||
#. module: account_ebics_payment_order
|
#. module: account_ebics_payment_order
|
||||||
#: model:ir.model,name:account_ebics_payment_order.model_account_payment_mode
|
#: model:ir.model,name:account_ebics_payment_order.model_account_payment_mode
|
||||||
@@ -63,7 +64,7 @@ msgstr "Betalingsopdracht"
|
|||||||
#. module: account_ebics_payment_order
|
#. module: account_ebics_payment_order
|
||||||
#: model:ir.model.fields,help:account_ebics_payment_order.field_account_payment_mode__ebics_format_id
|
#: model:ir.model.fields,help:account_ebics_payment_order.field_account_payment_mode__ebics_format_id
|
||||||
msgid "Select EBICS File Format to upload."
|
msgid "Select EBICS File Format to upload."
|
||||||
msgstr ""
|
msgstr "Selecteer het te uploaden EBICS-bestandsformaat."
|
||||||
|
|
||||||
#. module: account_ebics_payment_order
|
#. module: account_ebics_payment_order
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
@@ -73,11 +74,23 @@ msgid ""
|
|||||||
"Please remove the obsolete attachments or upload the payment order file via "
|
"Please remove the obsolete attachments or upload the payment order file via "
|
||||||
"the EBICS Processing > EBICS Upload menu"
|
"the EBICS Processing > EBICS Upload menu"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Deze betalingsopdracht bevat meerdere bijlagen.\n"
|
||||||
|
"Verwijder de verouderde bijlagen of upload het betalingsopdrachtbestand via "
|
||||||
|
"het menu EBICS Processing > EBICS Upload"
|
||||||
|
|
||||||
#. module: account_ebics_payment_order
|
#. module: account_ebics_payment_order
|
||||||
#. odoo-python
|
#. odoo-python
|
||||||
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
#: code:addons/account_ebics_payment_order/models/account_payment_order.py:0
|
||||||
msgid ""
|
msgid ""
|
||||||
"This payment order doesn't contains attachments.\n"
|
"This payment order doesn't contain attachments.\n"
|
||||||
"Please generate first the Payment Order file."
|
"Please generate first the Payment Order file."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Deze betalingsopdracht bevat geen bijlagen.\n"
|
||||||
|
"Genereer eerst het betalingsopdrachtbestand."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This payment order doesn't contains attachments.\n"
|
||||||
|
#~ "Please generate first the Payment Order file."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Deze betalingsopdracht bevat geen bijlagen.\n"
|
||||||
|
#~ "Genereer eerst het betalingsopdrachtbestand."
|
||||||
@@ -39,7 +39,7 @@ class AccountPaymentOrder(models.Model):
|
|||||||
if not attach:
|
if not attach:
|
||||||
raise UserError(
|
raise UserError(
|
||||||
self.env._(
|
self.env._(
|
||||||
"This payment order doesn't contains attachments."
|
"This payment order doesn't contain attachments."
|
||||||
"\nPlease generate first the Payment Order file."
|
"\nPlease generate first the Payment Order file."
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
|
After Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 310 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 19 KiB |
@@ -1,389 +1,39 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!-- Generated from README.rst: edit the README, not this file. -->
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
<div class="section" id="ebics-payment-orders-oca">
|
||||||
<head>
|
<h1>EBICS - Payment Orders (OCA)</h1>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<p><strong>Send an OCA payment order to the bank from Odoo, without touching a file.</strong></p>
|
||||||
<meta name="generator" content="Docutils 0.20.1: https://docutils.sourceforge.io/" />
|
<p>This module lets you upload a payment order of the OCA <tt class="docutils literal">account_payment_order</tt> module to
|
||||||
<title>README.rst</title>
|
the bank over EBICS.</p>
|
||||||
<style type="text/css">
|
<img alt="Uploading a payment file over EBICS, with the test mode option" src="ebics_upload.png" style="width: 100%;" />
|
||||||
|
|
||||||
/*
|
|
||||||
:Author: David Goodger (goodger@python.org)
|
|
||||||
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
|
|
||||||
:Copyright: This stylesheet has been placed in the public domain.
|
|
||||||
|
|
||||||
Default cascading style sheet for the HTML output of Docutils.
|
|
||||||
|
|
||||||
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
|
||||||
customize this style sheet.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* used to remove borders from tables and images */
|
|
||||||
.borderless, table.borderless td, table.borderless th {
|
|
||||||
border: 0 }
|
|
||||||
|
|
||||||
table.borderless td, table.borderless th {
|
|
||||||
/* Override padding for "table.docutils td" with "! important".
|
|
||||||
The right padding separates the table cells. */
|
|
||||||
padding: 0 0.5em 0 0 ! important }
|
|
||||||
|
|
||||||
.first {
|
|
||||||
/* Override more specific margin styles with "! important". */
|
|
||||||
margin-top: 0 ! important }
|
|
||||||
|
|
||||||
.last, .with-subtitle {
|
|
||||||
margin-bottom: 0 ! important }
|
|
||||||
|
|
||||||
.hidden {
|
|
||||||
display: none }
|
|
||||||
|
|
||||||
.subscript {
|
|
||||||
vertical-align: sub;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
.superscript {
|
|
||||||
vertical-align: super;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
a.toc-backref {
|
|
||||||
text-decoration: none ;
|
|
||||||
color: black }
|
|
||||||
|
|
||||||
blockquote.epigraph {
|
|
||||||
margin: 2em 5em ; }
|
|
||||||
|
|
||||||
dl.docutils dd {
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
|
||||||
dl.docutils dt {
|
|
||||||
font-weight: bold }
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.abstract {
|
|
||||||
margin: 2em 5em }
|
|
||||||
|
|
||||||
div.abstract p.topic-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
|
||||||
div.hint, div.important, div.note, div.tip, div.warning {
|
|
||||||
margin: 2em ;
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em }
|
|
||||||
|
|
||||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
|
||||||
div.important p.admonition-title, div.note p.admonition-title,
|
|
||||||
div.tip p.admonition-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
|
||||||
div.danger p.admonition-title, div.error p.admonition-title,
|
|
||||||
div.warning p.admonition-title, .code .error {
|
|
||||||
color: red ;
|
|
||||||
font-weight: bold ;
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
|
||||||
compound paragraphs.
|
|
||||||
div.compound .compound-first, div.compound .compound-middle {
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
div.compound .compound-last, div.compound .compound-middle {
|
|
||||||
margin-top: 0.5em }
|
|
||||||
*/
|
|
||||||
|
|
||||||
div.dedication {
|
|
||||||
margin: 2em 5em ;
|
|
||||||
text-align: center ;
|
|
||||||
font-style: italic }
|
|
||||||
|
|
||||||
div.dedication p.topic-title {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-style: normal }
|
|
||||||
|
|
||||||
div.figure {
|
|
||||||
margin-left: 2em ;
|
|
||||||
margin-right: 2em }
|
|
||||||
|
|
||||||
div.footer, div.header {
|
|
||||||
clear: both;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
div.line-block {
|
|
||||||
display: block ;
|
|
||||||
margin-top: 1em ;
|
|
||||||
margin-bottom: 1em }
|
|
||||||
|
|
||||||
div.line-block div.line-block {
|
|
||||||
margin-top: 0 ;
|
|
||||||
margin-bottom: 0 ;
|
|
||||||
margin-left: 1.5em }
|
|
||||||
|
|
||||||
div.sidebar {
|
|
||||||
margin: 0 0 0.5em 1em ;
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em ;
|
|
||||||
background-color: #ffffee ;
|
|
||||||
width: 40% ;
|
|
||||||
float: right ;
|
|
||||||
clear: right }
|
|
||||||
|
|
||||||
div.sidebar p.rubric {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-size: medium }
|
|
||||||
|
|
||||||
div.system-messages {
|
|
||||||
margin: 5em }
|
|
||||||
|
|
||||||
div.system-messages h1 {
|
|
||||||
color: red }
|
|
||||||
|
|
||||||
div.system-message {
|
|
||||||
border: medium outset ;
|
|
||||||
padding: 1em }
|
|
||||||
|
|
||||||
div.system-message p.system-message-title {
|
|
||||||
color: red ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
div.topic {
|
|
||||||
margin: 2em }
|
|
||||||
|
|
||||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
|
||||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
|
||||||
margin-top: 0.4em }
|
|
||||||
|
|
||||||
h1.title {
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
h2.subtitle {
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
hr.docutils {
|
|
||||||
width: 75% }
|
|
||||||
|
|
||||||
img.align-left, .figure.align-left, object.align-left, table.align-left {
|
|
||||||
clear: left ;
|
|
||||||
float: left ;
|
|
||||||
margin-right: 1em }
|
|
||||||
|
|
||||||
img.align-right, .figure.align-right, object.align-right, table.align-right {
|
|
||||||
clear: right ;
|
|
||||||
float: right ;
|
|
||||||
margin-left: 1em }
|
|
||||||
|
|
||||||
img.align-center, .figure.align-center, object.align-center {
|
|
||||||
display: block;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
table.align-center {
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.align-left {
|
|
||||||
text-align: left }
|
|
||||||
|
|
||||||
.align-center {
|
|
||||||
clear: both ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
.align-right {
|
|
||||||
text-align: right }
|
|
||||||
|
|
||||||
/* reset inner alignment in figures */
|
|
||||||
div.align-right {
|
|
||||||
text-align: inherit }
|
|
||||||
|
|
||||||
/* div.align-center * { */
|
|
||||||
/* text-align: left } */
|
|
||||||
|
|
||||||
.align-top {
|
|
||||||
vertical-align: top }
|
|
||||||
|
|
||||||
.align-middle {
|
|
||||||
vertical-align: middle }
|
|
||||||
|
|
||||||
.align-bottom {
|
|
||||||
vertical-align: bottom }
|
|
||||||
|
|
||||||
ol.simple, ul.simple {
|
|
||||||
margin-bottom: 1em }
|
|
||||||
|
|
||||||
ol.arabic {
|
|
||||||
list-style: decimal }
|
|
||||||
|
|
||||||
ol.loweralpha {
|
|
||||||
list-style: lower-alpha }
|
|
||||||
|
|
||||||
ol.upperalpha {
|
|
||||||
list-style: upper-alpha }
|
|
||||||
|
|
||||||
ol.lowerroman {
|
|
||||||
list-style: lower-roman }
|
|
||||||
|
|
||||||
ol.upperroman {
|
|
||||||
list-style: upper-roman }
|
|
||||||
|
|
||||||
p.attribution {
|
|
||||||
text-align: right ;
|
|
||||||
margin-left: 50% }
|
|
||||||
|
|
||||||
p.caption {
|
|
||||||
font-style: italic }
|
|
||||||
|
|
||||||
p.credits {
|
|
||||||
font-style: italic ;
|
|
||||||
font-size: smaller }
|
|
||||||
|
|
||||||
p.label {
|
|
||||||
white-space: nowrap }
|
|
||||||
|
|
||||||
p.rubric {
|
|
||||||
font-weight: bold ;
|
|
||||||
font-size: larger ;
|
|
||||||
color: maroon ;
|
|
||||||
text-align: center }
|
|
||||||
|
|
||||||
p.sidebar-title {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold ;
|
|
||||||
font-size: larger }
|
|
||||||
|
|
||||||
p.sidebar-subtitle {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
p.topic-title {
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
pre.address {
|
|
||||||
margin-bottom: 0 ;
|
|
||||||
margin-top: 0 ;
|
|
||||||
font: inherit }
|
|
||||||
|
|
||||||
pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
|
||||||
margin-left: 2em ;
|
|
||||||
margin-right: 2em }
|
|
||||||
|
|
||||||
pre.code .ln { color: grey; } /* line numbers */
|
|
||||||
pre.code, code { background-color: #eeeeee }
|
|
||||||
pre.code .comment, code .comment { color: #5C6576 }
|
|
||||||
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
|
||||||
pre.code .literal.string, code .literal.string { color: #0C5404 }
|
|
||||||
pre.code .name.builtin, code .name.builtin { color: #352B84 }
|
|
||||||
pre.code .deleted, code .deleted { background-color: #DEB0A1}
|
|
||||||
pre.code .inserted, code .inserted { background-color: #A3D289}
|
|
||||||
|
|
||||||
span.classifier {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-style: oblique }
|
|
||||||
|
|
||||||
span.classifier-delimiter {
|
|
||||||
font-family: sans-serif ;
|
|
||||||
font-weight: bold }
|
|
||||||
|
|
||||||
span.interpreted {
|
|
||||||
font-family: sans-serif }
|
|
||||||
|
|
||||||
span.option {
|
|
||||||
white-space: nowrap }
|
|
||||||
|
|
||||||
span.pre {
|
|
||||||
white-space: pre }
|
|
||||||
|
|
||||||
span.problematic {
|
|
||||||
color: red }
|
|
||||||
|
|
||||||
span.section-subtitle {
|
|
||||||
/* font-size relative to parent (h1..h6 element) */
|
|
||||||
font-size: 80% }
|
|
||||||
|
|
||||||
table.citation {
|
|
||||||
border-left: solid 1px gray;
|
|
||||||
margin-left: 1px }
|
|
||||||
|
|
||||||
table.docinfo {
|
|
||||||
margin: 2em 4em }
|
|
||||||
|
|
||||||
table.docutils {
|
|
||||||
margin-top: 0.5em ;
|
|
||||||
margin-bottom: 0.5em }
|
|
||||||
|
|
||||||
table.footnote {
|
|
||||||
border-left: solid 1px black;
|
|
||||||
margin-left: 1px }
|
|
||||||
|
|
||||||
table.docutils td, table.docutils th,
|
|
||||||
table.docinfo td, table.docinfo th {
|
|
||||||
padding-left: 0.5em ;
|
|
||||||
padding-right: 0.5em ;
|
|
||||||
vertical-align: top }
|
|
||||||
|
|
||||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
|
||||||
font-weight: bold ;
|
|
||||||
text-align: left ;
|
|
||||||
white-space: nowrap ;
|
|
||||||
padding-left: 0 }
|
|
||||||
|
|
||||||
/* "booktabs" style (no vertical lines) */
|
|
||||||
table.docutils.booktabs {
|
|
||||||
border: 0px;
|
|
||||||
border-top: 2px solid;
|
|
||||||
border-bottom: 2px solid;
|
|
||||||
border-collapse: collapse;
|
|
||||||
}
|
|
||||||
table.docutils.booktabs * {
|
|
||||||
border: 0px;
|
|
||||||
}
|
|
||||||
table.docutils.booktabs th {
|
|
||||||
border-bottom: thin solid;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
|
||||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
|
||||||
font-size: 100% }
|
|
||||||
|
|
||||||
ul.auto-toc {
|
|
||||||
list-style-type: none }
|
|
||||||
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="document">
|
|
||||||
|
|
||||||
|
|
||||||
<a class="reference external image-reference" href="https://www.gnu.org/licenses/lgpl"><object data="https://img.shields.io/badge/licence-LGPL--3-blue.svg" type="image/svg+xml">License: AGPL-3</object></a>
|
|
||||||
<div class="section" id="upload-payment-order-via-ebics">
|
|
||||||
<h1>Upload Payment Order via EBICS</h1>
|
|
||||||
<p>This module allows to upload a Payment Order to the bank via the EBICS protocol.</p>
|
|
||||||
<div class="section" id="installation">
|
<div class="section" id="installation">
|
||||||
<h2>Installation</h2>
|
<h2>Installation</h2>
|
||||||
<p>This module depends upon the following modules (cf. apps.odoo.com):</p>
|
<p>This module depends on:</p>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li>account_ebics</li>
|
<li><tt class="docutils literal">account_ebics</tt> (<a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a>);</li>
|
||||||
<li>account_payment_order</li>
|
<li><tt class="docutils literal">account_payment_order</tt> (<a class="reference external" href="https://github.com/OCA/bank-payment">https://github.com/OCA/bank-payment</a>).</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="configuration">
|
<div class="section" id="configuration">
|
||||||
<h2>Configuration</h2>
|
<h2>Configuration</h2>
|
||||||
<p>Set the EBICS File Format on your Payment Modes.</p>
|
<p>Set the <strong>EBICS File Format</strong> on your payment modes.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="usage">
|
<div class="section" id="usage">
|
||||||
<h2>Usage</h2>
|
<h2>Usage</h2>
|
||||||
<p>Create your Payment Order and generate the bank file.
|
<p>Create the payment order and generate the bank file, then upload it with the <strong>EBICS
|
||||||
Upload the generated file via the 'EBICS Upload' button on the payment order.</p>
|
Upload</strong> button of the payment order.</p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="part-of-the-ebics-suite">
|
||||||
|
<h2>Part of the EBICS suite</h2>
|
||||||
|
<p>This module extends <strong>EBICS Banking Protocol</strong> (<tt class="docutils literal">account_ebics</tt>), the EBICS implementation
|
||||||
|
for Odoo developed and maintained by Noviat. Install it first:
|
||||||
|
<a class="reference external" href="https://github.com/Noviat/account_ebics">https://github.com/Noviat/account_ebics</a></p>
|
||||||
|
<p>What EBICS is and what it changes, in plain language, with screen recordings of the flow:
|
||||||
|
<a class="reference external" href="https://www.noviat.com/ebics">https://www.noviat.com/ebics</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="credits">
|
||||||
|
<h2>Credits</h2>
|
||||||
|
<p>Developed and maintained by <a class="reference external" href="https://www.noviat.com">Noviat</a>, Odoo integrator in Belgium,
|
||||||
|
specialised in accounting and finance since 2009. We configure the connection with your banks
|
||||||
|
and support you through the first cycles.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||