[IMP] payment_providers: add SEPA provider and adapt related docs

task-4048339

closes odoo/documentation#13025

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
This commit is contained in:
Audrey (auva)
2025-01-31 15:20:40 +01:00
parent 480241f966
commit 5f366697fc
25 changed files with 338 additions and 367 deletions

View File

@@ -17,6 +17,8 @@ matching entries automatically.
- :doc:`bank_synchronization`
- :doc:`transactions`
.. _accounting/reconciliation/access:
Bank reconciliation view
========================
@@ -55,6 +57,8 @@ Resulting entry
validate the reconciliation or mark it as :guilabel:`To Check`. Any :ref:`reconciliation model
buttons <reconciliation/button>` are also available in the resulting entry section.
.. _accounting/reconciliation/reconcile:
Reconcile transactions
======================
@@ -102,7 +106,7 @@ suggested entries appearing first.
Batch payments
--------------
`Batch payments <payments/batch-payments>`_ allow you to group different payments to ease
:doc:`Batch payments <../payments/batch>` allow you to group different payments to ease
reconciliation. Use the :guilabel:`Batch Payments` tab to find batch payments for customers and
vendors. Similarly to the :guilabel:`Match Existing Entries` tab, the :guilabel:`Batch Payments` tab
has a search bar that allows you to search for specific batch payments.

View File

@@ -284,21 +284,13 @@ To register payments on multiple invoices/credit notes or bills/refunds, follow
Registering a single payment for multiple customers or vendors (batch payments)
===============================================================================
Batch payments allow grouping payments from multiple contacts to ease :doc:`reconciliation
<bank/reconciliation>`. They are also useful when depositing :doc:`checks <payments/checks>` to the
bank or for generating bank payment files such as :doc:`SEPA <payments/pay_sepa>` or :ref:`NACHA
<l10n_us/nacha>`. To do so, go to :menuselection:`Accounting --> Customers --> Payments` or
:menuselection:`Accounting --> Vendors --> Payments`. In the payments list view, select the payments
to be grouped in a batch, click :icon:`fa-cog` :guilabel:`Actions`, and select :guilabel:`Create
Batch Payment`.
.. note::
All payments in a batch must have the same :ref:`payment method
<accounting/payments/payment-methods>`.
Batch payments allow grouping payments from multiple customers to ease :doc:`reconciliation
<bank/reconciliation>`. They are also useful when depositing :doc:`checks <payments/checks>` or
cash payments to the bank or for generating bank payment files such as :doc:`SEPA
<payments/pay_sepa>` or :ref:`NACHA <l10n_us/nacha>`.
.. seealso::
- :doc:`payments/batch`
- :doc:`payments/batch_sdd`
:doc:`payments/batch`
.. _accounting/payments/matching:

View File

@@ -1,69 +1,55 @@
==============================
Batch payments by bank deposit
==============================
==============
Batch payments
==============
A **batch deposit** is a convenient way to group customer payments and deposit them into your bank
account. The feature lets you list multiple payments and generate a detailed deposit slip with a
batch reference. This reference can be used when reconciling to match bank statement lines with
transactions in the batch deposit.
Batch payments allow grouping payments from multiple customers or vendors into a single batch and
generating a detailed deposit slip or payment file with a batch reference. This reference can be
used during :doc:`reconciliation <../bank/reconciliation>` to match bank transactions with the
corresponding payments. This feature is particularly useful for submitting :doc:`SEPA Direct Debit
payments <batch_sdd>`, depositing cash payments or :doc:`checks <checks>`, or generating outgoing
payment files, such as :doc:`SEPA <pay_sepa>` or :ref:`NACHA <l10n_us/nacha>`.
Configuration
=============
Go to :menuselection:`Accounting --> Configuration --> Settings --> Customer Payments` and tick
:guilabel:`Batch Payments` to activate the feature.
To enable batch payments, go to :menuselection:`Accounting --> Configuration --> Settings`, scroll
down to the :guilabel:`Customer Payments` section, and enable :guilabel:`Batch Payments`.
Deposit multiple payments in batch
==================================
.. _accounting/batch/creation:
.. _batch-payments/register-payments:
Batch creation
==============
Register payments
-----------------
To create a batch payment, follow these steps:
Before performing a batch deposit, it is necessary to register each transaction's payment. To do so,
open the corresponding customer invoice and click :guilabel:`Register Payment`. In the pop-up
window, select the :guilabel:`Journal` linked to your bank account and :guilabel:`Batch Deposit` as
the :guilabel:`Payment Method`, and click :guilabel:`Create Payment`.
#. Make sure all payments to be included in the batch have been :ref:`registered
<accounting/payments/from-invoice-bill>`.
#. Go to :menuselection:`Accounting --> Customers --> Payments`.
#. Select the payments to include in the batch.
.. image:: batch/batch-payments.png
:alt: Registering a customer payment as part of a batch deposit
.. note::
All payments in the batch must use the same payment method. If needed, payments can be grouped
using the :guilabel:`Payment Method Line`.
Add payments to a batch deposit
-------------------------------
#. Click :guilabel:`Create batch` or click :icon:`fa-cog` :guilabel:`Actions` and select
:guilabel:`Create batch payment`.
#. In the batch payment form, review the selected payments. If any individual payments were missed,
click :guilabel:`Add a line` and select the missing payments to be included in the batch.
#. Once all relevant payments are included, click :guilabel:`Validate` to finalize the batch.
To add payments to a batch deposit, go to :menuselection:`Accounting --> Customers --> Batch
Payments`, and click :guilabel:`New`. Next, select the :guilabel:`Bank` and choose :guilabel:`Batch
Deposit` as the :guilabel:`Payment Method`.
.. image:: batch/batch-customer-payment.png
:alt: Filling out a new inbound batch payment form
Click :guilabel:`Add a line`. In the pop-up window, tick all payments to include in the batch
deposit, then click :guilabel:`Select`.
.. image:: batch/batch-lines-selection.png
:alt: Selecting all payments to include in the batch deposit
Once done, click :guilabel:`Validate` to finalize the batch deposit.
.. note::
Once validated, no additional payments can be added to a batch.
.. tip::
Click :guilabel:`Print` to download a PDF file to include with the deposit slip.
- Click :guilabel:`Print` to download a list of the included payments.
- To view existing batch payments, go to :menuselection:`Accounting --> Customers --> Batch
Payments`.
Bank reconciliation
-------------------
Once the bank transactions are on your database, you can reconcile bank statement lines with the
batch payment. To do so, go to the :guilabel:`Accounting Dashboard` and click :guilabel:`Reconcile
Items` on the related bank account. Go to the :guilabel:`Batch Payments` tab to select a specific
batch and click :guilabel:`Validate` to finalize the process.
.. image:: batch/batch-reconciliation.png
:alt: Reconciling the batch payment with all its transactions
.. note::
If a specific payment could not be processed by the bank or is missing, remove the related
payment before reconciling.
Once the bank transactions :doc:`have been created <../bank/transactions>` in your database, you can
:ref:`reconcile them with the batch payment <reconciliation/batch-payments>`.
.. seealso::
- :doc:`../payments`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

View File

@@ -1,130 +1,196 @@
=======================================
Batch payments: SEPA Direct Debit (SDD)
=======================================
=========================================
SEPA Direct Debit (SDD) customer payments
=========================================
SEPA, the Single Euro Payments Area, is a payment-integration initiative of the European Union for
simplification of bank transfers denominated in euros. With **SEPA Direct Debit** (SDD), your
customers can sign a mandate that authorizes you to collect future payments from their bank
accounts. This is particularly useful for recurring payments based on a subscription.
.. |sdd| replace:: :abbr:`SDD (SEPA Direct Debit)`
You can record customer mandates in Odoo, and generate `.xml` files containing pending payments made
with an SDD mandate.
SEPA (Single Euro Payments Area) is a payment-integration initiative of the European Union that
facilitates standardized and simplified electronic payments in euros across participating countries.
With **SEPA Direct Debit** (SDD), customers sign a mandate that authorizes you to collect future
payments from their bank accounts. This is particularly useful for recurring payments based on a
:doc:`subscription </applications/sales/subscriptions>`.
You can record customer |sdd| mandates in Odoo and generate XML files listing payments to be
collected with the mandates. :ref:`Uploading these files to your bank <accounting/batch_sdd/XML>`
instructs them to collect these payments from your customers.
.. note::
| SDD is supported by all SEPA countries, which includes the 27 member states of the European
- |sdd| is supported by all SEPA countries, which includes the 27 member states of the European
Union as well as additional countries.
| `List of all SEPA countries
- `List of all SEPA countries
<https://www.europeanpaymentscouncil.eu/document-library/other/epc-list-sepa-scheme-countries>`_.
.. _accounting/batch_sdd/sepa-configuration:
Configuration
=============
Go to :menuselection:`Accounting app --> Configuration --> Settings`, activate
:guilabel:`SEPA Direct Debit (SDD)`, and click on :guilabel:`Save`. Enter your company's
:guilabel:`Creditor Identifier`. This number is provided by your bank institution, or the authority
responsible for delivering them.
Creditor identifier
-------------------
.. image:: batch_sdd/creditor-identifier.png
:align: center
:alt: Add a SEPA Creditor Identifier to Odoo Accounting
To enable |sdd| for customer payments, go to :menuselection:`Accounting --> Configuration -->
Settings`, scroll to the :guilabel:`Customer Payments` section, enable :guilabel:`SEPA Direct
Deposit (SDD)`, and click :guilabel:`Save`. Then, scroll to the :guilabel:`Customer Payments`
section again, set the company's :guilabel:`Creditor Identifier`, and click :guilabel:`Save`.
.. tip::
The creditor identifier is provided by your bank or the authority responsible for delivering
them in your country. For testing purposes, you can use the test creditor identifier
`DE98ZZZ09999999999`.
PAIN file version
-----------------
By default, the :ref:`SEPA-compliant XML files <accounting/batch_sdd/XML>` generated by Odoo
use the |sdd| **PAIN.008.001.02** format. If your bank requires the updated 2023
version, go to :menuselection:`Accounting --> Configuration --> Journals` and select the
:guilabel:`Bank` journal. Then, in the :guilabel:`Incoming Payments` tab, set the :guilabel:`SEPA
Pain version` field to :guilabel:`Updated 2023 (Pain 008.001.08)`.
.. seealso::
`SEPA Direct Debit Core Customer-to-PSP Implementation Guidelines
<https://www.europeanpaymentscouncil.eu/document-library/implementation-guidelines/sepa-direct-debit-core-customer-psp-implementation-0>`_.
.. _accounting/batch_sdd/sdd_mandates:
SEPA Direct Debit Mandates
==========================
Create a mandate
----------------
An |sdd| mandate is a legal document authorizing a company to debit funds from a customer's bank
account. It includes key information, such as the customer's name and IBAN, the mandate's start
and end date, and the mandate's unique identifier. The mandate form must be filled in and signed by
the customer.
The :abbr:`SDD (sepa direct debit)` Mandate is the document that your customers sign to authorize
you to collect money directly from their bank accounts.
To create a new mandate, go to :menuselection:`Accounting app --> Customers -->
Direct Debit Mandates`, on :guilabel:`Create`, and fill out the form. Export the PDF file by
clicking on :guilabel:`Print`. It is then up to your customer to sign this document. Once done,
upload the signed file and click on :guilabel:`Validate` to start running the mandate.
.. important::
Make sure that the **IBAN bank accounts details** are correctly recorded on the debtors contact
form, under the :guilabel:`Accounting` tab, and in your own :doc:`Bank Account <../bank>` settings.
SEPA Direct Debit as a payment method
-------------------------------------
SDD can be used as a payment method both on your **eCommerce** or on the **Customer Portal** by
activating SDD as a **Payment Provider**. With this method, your customers can create their mandates.
To ensure the validity of the information given by the customer, they will have to confirm each
mandate with one successful bank transfer of the expected amount.
To do so, go to :menuselection:`Accounting app --> Configuration --> Payment Providers`, click on
:guilabel:`SEPA Direct Debit`.
.. important::
Make sure to change the :guilabel:`State` field to :guilabel:`Enabled` and set the provider as
"Published" so that it is available for your customers.
Customers using SDD as payment method get prompted to add their IBAN, email address, and to sign
their SEPA Direct Debit mandate.
.. todo::
Add link to future **Payment Provider** documentation.
Close or revoke a mandate
-------------------------
Direct debit mandates are closed automatically after their :guilabel:`End Date`. If this field is
left blank, the mandate keeps being **Active** until it is **Closed** or **Revoked**.
Clicking on :guilabel:`Close` updates the mandates end day to the current day. This means that
invoices issued after the present day will not be processed with an SDD payment.
Clicking on :guilabel:`Revoke` disables the mandate immediately. No SDD payment can be registered
anymore, regardless of the invoices date. However, payments that have already been registered are
still included in the next SDD `.xml` file.
.. warning::
Once a mandate has been :guilabel:`closed` or :guilabel:`revoked`, it cannot be reactivated.
Get paid with SEPA Direct Debit batch payments
==============================================
Customer invoices
Creating mandates
-----------------
You can register SDD payments for invoices issued to customers who have an active SDD mandate.
To create an |sdd| mandate:
To do so, open the invoice, click on :guilabel:`Register Payment`, and choose
:guilabel:`SEPA Direct Debit` as payment method.
#. Go to :menuselection:`Accounting --> Customers --> Direct Debit Mandates`.
#. Click :guilabel:`New` and fill out the fields.
#. Click :guilabel:`Send & Print`, optionally edit the email, then click :guilabel:`Send & Print`
to email the mandate form to the customer for signature.
#. Click :guilabel:`Validate` to activate the mandate.
Generate SEPA Direct Debit `.XML` files to submit payments
----------------------------------------------------------
`.xml` files with all SDD payment instructions can be uploaded to your online banking interface
to process all payments at once.
.. note::
The files generated by Odoo follow the SEPA Direct Debit **PAIN.008.001.02** specifications, as
required by the SEPA customer-to-bank `implementation guidelines
<https://www.europeanpaymentscouncil.eu/document-library/implementation-guidelines/sepa-credit-transfer-customer-psp-implementation>`_,
which ensures compatibility with the banks.
To generate your `.xml` file of multiple pending SDD payments, you can create a batch payment.
To do so, go to :menuselection:`Accounting app --> Customers --> Payments`, select the needed
payments, then click on :guilabel:`Action`, and finally :guilabel:`Create a batch Payment`. Once
you click on :guilabel:`Validate`, the `.xml` file is directly available for download.
.. image:: batch_sdd/xml.png
:align: center
:alt: Generate an .XML file for your SDD payments in Odoo Accounting
Finally, upload this file to your online banking interface to process the payments.
.. important::
A valid IBAN must be defined in the :guilabel:`Account Number` field of the :doc:`bank journal
<../bank>` used to receive |sdd| payments for the mandate.
.. tip::
You can retrieve all the generated SDD `.xml` files by going to
:menuselection:`Accounting app --> Customers --> Batch Payments`.
- To print the mandate form after the mandate has been validated, click the :icon:`fa-cog`
(:guilabel:`gear`) icon, then select :guilabel:`Mandate form`.
- The :guilabel:`SDD Scheme` depends on the type of customer: Select :guilabel:`CORE` for B2C
customers and :guilabel:`B2B` for B2B customers.
- |sdd| mandates are created automatically for :doc:`online payments made with SDD
<../../payment_providers/sdd>`.
Once an |sdd| mandate is active, subsequent |sdd| payments can be generated via Odoo and
:ref:`uploaded to your online banking interface <accounting/batch_sdd/XML>`. Customers with an
active |sdd| mandate can also use this payment method for :doc:`online purchases
<../../payment_providers/sdd>`.
Closing or revoking a mandate
-----------------------------
|sdd| mandates are closed automatically after their :guilabel:`End Date`. If this field is
left empty, the mandate remains active until it is closed or revoked. To close or revoke a mandate,
go to :menuselection:`Accounting --> Customers --> Direct Debit Mandates`, select the relevant
mandate, and click :guilabel:`Close` or :guilabel:`Revoke`.
**Closing** a mandate updates the mandate's end day to the current day. Invoices issued after the
present day will not be processed with an |sdd| payment. **Revoking** a mandate disables the
mandate immediately. No |sdd| payment can be registered anymore, regardless of the invoice's
date. However, payments that have already been registered are still included in the next :ref:`SDD
XML file <accounting/batch_sdd/XML>`.
.. warning::
Closed or revoked mandates cannot be reactivated.
.. _accounting/batch_sdd/XML:
Processing |sdd| payments
=========================
All registered |sdd| payments can be processed at once by uploading an XML file containing a batch
of all posted |sdd| payments to your online banking interface. To do so, follow these steps:
#. :ref:`Create a batch payment <accounting/batch/creation>` and include the |sdd| payments to
collect.
.. tip::
You can filter payments by SDD scheme using the :guilabel:`SDD CORE` and :guilabel:`SDD B2B`
filters.
#. :guilabel:`Validate` the batch payment. The XML file is generated automatically and available
for download in the chatter.
#. Download the XML file and upload it to your online banking interface to process the payments.
#. Once the |sdd| batch payment has been received, :doc:`reconcile the transaction
<../bank/reconciliation>` with the batch payment to mark the related invoices as
:guilabel:`Paid`.
.. tip::
- To view the payments and invoices linked to a specific |sdd| mandate, click the
:guilabel:`Collections` and :guilabel:`Invoices Paid` smart button on the :ref:`Direct Debit
Mandate <accounting/batch_sdd/sdd_mandates>` form.
- Click :guilabel:`Re-generate Export file` to regenerate the XML file.
.. seealso::
* :doc:`batch`
* :doc:`../bank`
* `List of all SEPA countries
<https://www.europeanpaymentscouncil.eu/document-library/other/epc-list-sepa-scheme-countries>`_
* `Sepa guidelines
- :doc:`batch`
- :doc:`SEPA Direct Debit for online payments <../../payment_providers/sdd>`
- `SEPA guidelines
<https://www.europeanpaymentscouncil.eu/document-library/implementation-guidelines/sepa-credit-transfer-inter-psp-implementation-guidelines>`_
|sdd| rejections
================
|sdd| rejections can occur for several reasons, the most common being insufficient funds in the
customer's account. With |sdd|, the recipient's account is credited before the funds are actually
debited from the customer's account. As a result, if an |sdd| payment is later rejected, the bank
automatically withdraws the amount of that payment from the recipient's account, and a new
transaction for a negative amount is created to reflect the |sdd| rejection.
|sdd| rejections are handled differently depending on whether :ref:`outstanding accounts
<accounting/bank/outstanding-accounts>` are configured or not for the |sdd| payment method.
.. note::
The following procedures assume that the incoming |sdd| payment's bank transaction has already
been :ref:`reconciled <accounting/reconciliation/reconcile>` with the payments or invoices.
.. tabs::
.. tab:: Without outstanding accounts
If no :ref:`outstanding accounts <accounting/bank/outstanding-accounts>` are configured for
the |sdd| payment method, no journal entry is created. In this case, you must cancel and
unreconcile the payment.
#. Access the invoice linked to the rejected |sdd| payment.
#. Click the :guilabel:`Payments` smart button to access the payment associated with the
invoice.
#. Click :guilabel:`Reset to draft`, then :guilabel:`Cancel`.
#. Go back to the invoice and click the :icon:`fa-info-circle` :guilabel:`(information)` icon
in the footer of the :guilabel:`Invoice Lines` tab, then click :guilabel:`Unreconcile`.
#. :ref:`Access the bank journal's reconciliation view <accounting/reconciliation/access>` and
:ref:`reconcile <accounting/reconciliation/reconcile>` the transaction created for the
|sdd| rejection with the debit (negative journal item) to the account receivable on the
incoming bank transaction.
.. tab:: Using outstanding accounts
If an :ref:`outstanding account <accounting/bank/outstanding-accounts>` is set on the |sdd|
payment method, |sdd| payments create journal entries. If an |sdd| payment is rejected, you
must reverse the journal entry associated with the rejected payment and reconcile the reversal
of the journal entry with the transaction for the |sdd| rejection. To do so, follow these
steps:
#. Access the invoice linked to the rejected |sdd| payment.
#. Click the :icon:`fa-info-circle` :guilabel:`(information)` icon in the footer of the
:guilabel:`Invoice Lines` tab, then click :guilabel:`View` to access the payment associated
with the invoice.
#. Click the :guilabel:`Journal entry` smart button to access the related journal entry.
#. Click :guilabel:`Reverse entry`, optionally edit the fields in the popup, then click
:guilabel:`Reverse`. A reversal entry is created with a :guilabel:`Reference` mentioning
the initial journal entry. As a result, the invoice is marked as :guilabel:`Not paid`.
#. :ref:`Access the bank journal's reconciliation view <accounting/reconciliation/access>` and
:ref:`reconcile <accounting/reconciliation/reconcile>` the transaction created for the
|sdd| rejection with the reversal of the entry related to the payment.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

View File

@@ -179,7 +179,7 @@ Bill payments
-------------
To generate Bacs files for bill payments, set the :guilabel:`Payment Method` to
:guilabel:`BACS Direct Debit` when :ref:`registering vendor payments <batch-payments/register-payments>`.
:guilabel:`BACS Direct Debit` when :doc:`registering vendor payments <../accounting/payments>`.
Then, create a vendor batch payment:
@@ -200,6 +200,9 @@ Export File` if you need a new Bacs file for that batch payment.
.. image:: united_kingdom/bacs-files.png
:alt: Vendor Batch Payment view with generated BACS file.
.. seealso::
:doc:`../accounting/payments/batch`
.. _localization/united-kingdom/invoice-payments:
Invoice payments
@@ -211,7 +214,7 @@ and click :guilabel:`New`. Select a :guilabel:`Customer`, their :guilabel:`IBAN`
:guilabel:`Journal` you wish to use.
To generate Bacs files for invoice payments, set the :guilabel:`Payment Method` to
:guilabel:`BACS Direct Debit` when :ref:`registering invoice payments <batch-payments/register-payments>`.
:guilabel:`BACS Direct Debit` when :doc:`registering invoice payments <../accounting/payments>`.
.. tip::
If you register the payment for an invoice linked to a subscription or via

View File

@@ -8,6 +8,7 @@ Online payments
:titlesonly:
payment_providers/wire_transfer
payment_providers/sdd
payment_providers/adyen
payment_providers/amazon_payment_services
payment_providers/asiapay
@@ -176,7 +177,7 @@ Bank payments
- | :doc:`Wire Transfer <payment_providers/wire_transfer>`
| When selected, Odoo displays your payment information with a payment reference. You have to
approve the payment manually once you have received it in your bank account.
- | :doc:`SEPA Direct Debit <../finance/accounting/payments/batch_sdd>`
- | :doc:`SEPA Direct Debit <payment_providers/sdd>`
| Your customers can make a bank transfer to register a SEPA Direct Debit mandate and get their
bank account charged directly.
@@ -458,6 +459,7 @@ payments from other payments.
.. seealso::
- :doc:`payment_providers/wire_transfer`
- :doc:`payment_providers/sdd`
- :doc:`payment_providers/adyen`
- :doc:`payment_providers/authorize`
- :doc:`payment_providers/asiapay`

View File

@@ -0,0 +1,75 @@
=================
SEPA Direct Debit
=================
.. |sdd| replace:: :abbr:`SDD (SEPA Direct Debit)`
SEPA (Single Euro Payments Area) is a payment-integration initiative of the European Union that
facilitates standardized and simplified electronic payments in euros across participating countries.
SEPA Direct Debit (SDD) is a payment provider that allows future payments to be collected from
customers' bank accounts based on a signed :ref:`SEPA Direct Debit mandate
<accounting/batch_sdd/sdd_mandates>`. This mandate authorizes the recipient to automatically
initiate one-time or :doc:`recurring </applications/sales/subscriptions>` payments using |sdd|.
.. important::
To use the SEPA Direct Debit (SDD) payment provider and create :ref:`SEPA Direct Debit mandates
<accounting/batch_sdd/sdd_mandates>`:
- The invoice being paid must be for an amount in euros.
- The :guilabel:`SEPA Direct Deposit (SDD)` feature must be enabled, and the company's
:guilabel:`Creditor Identifier` must be defined in the :ref:`Accounting or Invoicing settings
<accounting/batch_sdd/sepa-configuration>`.
To configure **SEPA Direct Debit**:
#. :ref:`Navigate to the SEPA Direct Debit payment provider <payment_providers/supported_providers>`.
#. In the :guilabel:`Configuration` tab, select whether the memo or :guilabel:`Communication` to be
displayed alongside the payment instructions should be:
- :guilabel:`Based on Document Reference`: the sales order or invoice number
- :guilabel:`Based on Customer ID`: the customer identifier
#. Select the :guilabel:`Enable QR codes` check box to activate QR code payments.
.. note::
:doc:`Additional accounting setup <../accounting/customer_invoices/epc_qr_code>` is required
to use QR codes.
#. Edit the default payment instructions in the :guilabel:`Messages` tab to include your **bank
account number**. These instructions are displayed at the end of the checkout process on your
ecommerce website or on the customer portal.
#. Set the :guilabel:`State` field to :guilabel:`Enabled`.
.. important::
- Leave the :guilabel:`Currencies` field set to the default :guilabel:`EUR` tag to ensure |sdd|
is only available for payments in euros.
- The :guilabel:`Bank Account` defined for the :guilabel:`Payment Journal` must be a valid IBAN.
.. tip::
You can also test SEPA direct debit payments using the :ref:`payment_providers/test-mode`.
.. seealso::
:doc:`../payment_providers`
Online payments with |sdd|
==========================
Customers selecting |sdd| as a payment method are prompted to enter their IBAN to complete the
:ref:`SEPA Direct Debit mandate <accounting/batch_sdd/sdd_mandates>`.
The |sdd| mandate is then automatically created in :guilabel:`Draft` based on the provided IBAN. To
validate the information, customers must confirm each new mandate with a successful bank transfer of
the expected amount **using the specified payment reference (communication)**. Once this initial
payment is received and reconciled, the mandate is automatically validated and updated to the
:guilabel:`Active` status. Once a mandate is active, it is reused for all subsequent payments made
with the |sdd| payment method. You can then collect them by :ref:`uploading them to your online
banking interface <accounting/batch_sdd/XML>`.
.. seealso::
:doc:`../accounting/payments/batch_sdd`
.. note::
|sdd| is also available as a payment method through other providers, such as :doc:`stripe`,
:doc:`adyen`, and :doc:`buckaroo`. In these cases, |sdd| mandates are handled externally by the
payment provider.

View File

@@ -2,25 +2,22 @@
Wire transfers
==============
The **Wire transfer** payment method allows you to provide payment instructions to your customers,
such as the bank details and communication. They are displayed:
The **Wire Transfer** payment method allows you to provide payment instructions to your customers,
such as your bank details and a reference to include with the payment. These instructions are
displayed after the customer selects :guilabel:`Wire Transfer` as the payment method and clicks the
:guilabel:`Pay now` button at the end of the checkout process on your ecommerce website or
on the customer portal.
- at the end of the checkout process, once the customer has selected :guilabel:`Wire transfer` as a
payment method and clicked the :guilabel:`Pay now` button:
.. image:: wire_transfer/payment_instructions_checkout.png
:alt: Payment instructions at checkout
- on the customer portal:
.. image:: wire_transfer/payment_instructions_portal.png
.. image:: wire_transfer/payment_instructions_portal.png
:scale: 80%
:alt: Payment instructions on the customer portal
.. note::
- While this method is very accessible and requires minimal setup, it is very inefficient
process-wise. We recommend setting up a :doc:`payment provider <../payment_providers>` instead.
- While this method is widely accessible and requires minimal setup, it is not efficient
process-wise. It is recommended to set up a :doc:`payment provider <../payment_providers>`
instead.
- Online orders remain in the :guilabel:`Quotation sent` (i.e., unpaid order) stage until you
receive the payment and :guilabel:`Confirm` the order.
receive the payment and manually :guilabel:`Confirm` the order.
.. tip::
**Wire transfer** can be used as a template for other payment methods that are processed
@@ -29,26 +26,33 @@ such as the bank details and communication. They are displayed:
Configuration
=============
To configure **Wire Transfer**, go to :menuselection:`Accounting / Website --> Configuration -->
Payment Providers`, and open the :guilabel:`Wire Transfer` card. Then, in the
:guilabel:`Configuration` tab:
To configure **Wire Transfer**:
- Select the :guilabel:`Communication` to be used;
#. :ref:`Navigate to the Wire Transfer payment provider <payment_providers/supported_providers>`.
#. In the :guilabel:`Configuration` tab, select whether the memo or :guilabel:`Communication` to be
displayed alongside the payment instructions should be:
- :guilabel:`Based on Document Reference`: sales order or invoice number
- :guilabel:`Based on Customer ID`: customer identifier
- :guilabel:`Based on Document Reference`: the sales order or invoice number
- :guilabel:`Based on Customer ID`: the customer identifier
- Tick the :guilabel:`Enable QR codes` check box to activate :doc:`QR code payments
<../accounting/customer_invoices/epc_qr_code>`.
#. Enable :guilabel:`Enable QR codes` to activate QR code payments.
Define the payment instructions in the :guilabel:`Messages` tab:
.. note::
:doc:`Additional accounting setup <../accounting/customer_invoices/epc_qr_code>` is required
to use QR codes.
.. image:: wire_transfer/payment_instructions.png
#. Define the payment instructions in the :guilabel:`Messages` tab. If :doc:`a bank account
<../accounting/bank>` has already been defined, the account number is automatically added to the
default message generated by Odoo. You can also add it afterward and update the message by
clicking :guilabel:`Reload pending message`.
.. image:: wire_transfer/payment_instructions.png
:alt: Define payment instructions
If you have already defined :doc:`a bank account <../accounting/bank>`, the account number will be
automatically added to the default message generated by Odoo. You can also add it afterwards and
update the message by clicking :guilabel:`Reload pending message`.
#. Set the :guilabel:`State` field to :guilabel:`Enabled`.
.. tip::
You can also test wire transfers using the :ref:`payment_providers/test-mode`.
.. seealso::
:ref:`payment_providers/journal`
:doc:`../payment_providers`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -280,6 +280,10 @@ If an :guilabel:`Online signature` or :guilabel:`Online payment` is required to
quotation, set the checkboxes next to either (or both) of these labels in the :guilabel:`Other Info`
tab, under the :guilabel:`SALES` section.
.. seealso::
- :doc:`/applications/finance/accounting/payments/online`
- :doc:`Payment providers and payment methods </applications/finance/payment_providers>`
.. toctree::
:titlesonly:
@@ -291,4 +295,3 @@ tab, under the :guilabel:`SALES` section.
subscriptions/automatic_alerts
subscriptions/scheduled_actions
subscriptions/reports
subscriptions/payment_providers

View File

@@ -1,10 +0,0 @@
:nosearch:
=================
Payment providers
=================
.. toctree::
:titlesonly:
payment_providers/wire_transfer

View File

@@ -1,156 +0,0 @@
=============
Wire transfer
=============
The *wire transfer* payment method allows for payment instructions to be shared with a customer
after purchasing a product. With a subscription, these payment instructions are shared every time
the payment is renewed.
.. note::
The wire transfer payment method requires minimal setup, but in most cases, it is inefficient
compared to other online payment providers. It is recommended to use another payment provider
with subscriptions, due to wire transfers requiring manual confirmation for each payment.
.. _subscriptions/wire-transfer-configuration:
Configuration
=============
To use the wire transfer payment method, first ensure the *Wire Transfer* payment method is enabled.
To do so, begin by navigating to the *Payment Providers* page in either the **Accounting**,
**Website**, or **Sales** apps.
For example, navigate to :menuselection:`Accounting app --> Configuration --> Online Payments:
Payment Providers`, then click the :guilabel:`Wire Transfer` card.
.. tip::
If the **Accounting** app is not installed, the *Payment Providers* page can also be reached by
navigating to :menuselection:`Website app --> Configuration --> eCommerce: Payment Providers`, or
:menuselection:`Sales app --> Configuration --> Online Payments: Payment Providers`.
Next, set the :guilabel:`State` to :guilabel:`Enabled` to enable wire transfers. Use the drop-down
menus next to the :guilabel:`Company` and :guilabel:`Website` fields to set where wire transfers can
be used.
The options in the :guilabel:`Configuration` tab can be used to customize the wire transfer.
Optionally tick the checkbox next to :guilabel:`Enable QR Codes` to enable the use of QR codes when
paying by wire transfer, if desired.
Use the drop-down menu next to the :guilabel:`Communication` field to select the communication type
used on sales orders. Choose :guilabel:`Based on Document Reference` to use the sales order (or
invoice number), or :guilabel:`Based on Customer ID` to use the customer identifier. With either
method selected, communication is given to the customer, once they choose the wire transfer payment
method.
The configuration options listed under the :guilabel:`Availability` section are used to set payment
restrictions, and are optional. Use the :guilabel:`Maximum Amount` field to set a maximum payment
value, the :guilabel:`Currencies` field to restrict any currencies from being used for payment, and
the :guilabel:`Countries` field to restrict payment from any particular countries, if desired.
In the :guilabel:`Messages` tab, use the :guilabel:`Pending Message` field to add a message
containing wire transfer information. This message is displayed to the customer after confirming
their order, as well as if the order is marked as pending after the payment is processed.
If :doc:`a bank account <../../../finance/accounting/bank>` has already been defined, the account
number is automatically added to the default message generated by Odoo. A bank account can also be
added afterwards, and the message updates with the appropriate bank information by clicking
:icon:`fa-refresh` :guilabel:`Reload pending message`.
Once all necessary configuration settings are complete, the :icon:`fa-eye-slash`
:guilabel:`Unpublished` smart button located at the top of the page automatically changes to
:icon:`fa-globe` :guilabel:`Published` to show the wire transfer payment option is now visible
to customers. Only keep the payment method published if payments are ready to be received.
.. tip::
It is possible to keep the payment method enabled, but **not** visible to customers, until
payments are ready to be received. To do that, set the smart button to :icon:`fa-eye-slash`
:guilabel:`Unpublished` after setting the :guilabel:`State` to :guilabel:`Enabled`.
.. image:: wire_transfer/wire-transfer-published.png
:align: center
:alt: The wire transfer card enabled and published.
Test mode
---------
The wire transfer payment method can be tested before it is accessed by customers by selecting the
:guilabel:`Test Mode` option in the :guilabel:`State` field on the form. Upon selecting
:guilabel:`Test Mode`, an orange :guilabel:`Test mode` banner appears in the upper-right corner of
the form.
Next, enter the credentials for a bank account with accessible transactions in the
:guilabel:`Messages` tab. To re-enable normal function after testing, change the :guilabel:`State`
setting to :guilabel:`Enabled`.
.. note::
By default, the payment provider remains :guilabel:`Unpublished` in :guilabel:`Test Mode`, so it
is not visible to visitors.
.. warning::
It is recommended to use the :guilabel:`Test Mode` setting on a duplicate (or test) database to
avoid potential issues with invoice numbering.
.. _subscriptions/wire-transfer-payment:
Pay by wire transfer
====================
With wire transfers :ref:`enabled and published <subscriptions/wire-transfer-configuration>`,
customers see wire transfers as an available payment method at checkout when purchasing a product.
When this method is selected by a customer, they are shown the *Pending Message* set in the
:ref:`wire transfer configuration page <subscriptions/wire-transfer-configuration>`, after
confirming their purchase. Once the purchase is confirmed, a sales order is created.
.. image:: wire_transfer/payment-instructions-checkout.png
:align: center
:alt: The wire transfer pending message shown to customers.
.. important::
Online orders remain in the *Quotation sent* (i.e. unpaid order) stage until both the payment is
received, *and* the order is confirmed manually, using the :guilabel:`Confirm` button on the
sales order.
To begin processing the payment, navigate to :menuselection:`Sales app --> Orders --> Orders`, and
click the corresponding sales order. Ensure the sales order is correct, then click
:guilabel:`Confirm` to confirm the sales order.
Next, click the new :guilabel:`Create Invoice` button, then choose :guilabel:`Regular invoice`, and
click :guilabel:`Create Draft Invoice`. A draft of the invoice appears. Click :guilabel:`Confirm` to
validate the invoice.
To send this invoice to the customer, click the :guilabel:`Send & Print` button. A :guilabel:`Send`
pop-up window appears, with an email template configured, and a PDF invoice attached.
Ensure the information is correct, then click :guilabel:`Send & Print`. The pop-up window
disappears, and the :guilabel:`Send & Print` button turns gray to show the invoice has been sent.
.. tip::
The default template for sending an invoice can be modified by navigating to
:menuselection:`Settings app --> Companies --> Email Templates --> Review All Templates -->
Invoice: Sending`.
Next, click the :guilabel:`Register payment` button on the invoice page. A pop-up window titled,
:guilabel:`Register Payment`, appears with options for selecting the type of payment. In the
:guilabel:`Journal` field, select :guilabel:`Bank` from the drop-down menu. Next, set the
:guilabel:`Payment Method` to :guilabel:`Manual`. Ensure the :guilabel:`Amount` and
:guilabel:`Payment Date` are correct, then click the :guilabel:`Create Payment` button.
.. image:: wire_transfer/register-payment.png
:align: center
:alt: The register payment pop-up window.
The customer invoice is revealed with a green :guilabel:`In Payment` banner in the upper-right
corner. At this point, the flow is now complete.
.. image:: wire_transfer/in-payment-banner.png
:align: center
:alt: The green in payment banner displayed on the invoice.
.. note::
If payment has been received before sending the invoice, such as in cash, the payment can still
be registered in Odoo by clicking the :guilabel:`Register Payment` button, and creating the
payment *before* clicking :guilabel:`Send & Print`. Now, when an invoice is sent using the
:guilabel:`Send & Print` button, a new line is automatically added to the invoice message,
stating the invoice is already paid.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -113,6 +113,8 @@ applications/sales/crm/acquire_leads/generate_leads.rst applications/sales/crm/a
applications/sales/crm/pipeline/multi_sales_team.rst applications/sales/crm/pipeline/manage_sales_teams.rst # multi_sales_team --> manage_sales_teams
applications/sales/point_of_sale/pricing/digital_labels.rst applications/sales/point_of_sale/pricing/electronic_labels.rst # digital_labels --> electronic_labels
applications/sales/point_of_sale/payment_methods/terminals/vantiv.rst applications/sales/point_of_sale/payment_methods/terminals.rst # terminals/vantiv --> terminals
applications/sales/subscriptions/payment_providers/wire_transfer.rst applications/finance/payment_providers/wire_transfer.rst
applications/sales/subscriptions/payment_providers/sdd.rst applications/finance/payment_providers/sdd.rst
# applications/services