addons-cm/pos_account_payment_order_sepa
2026-06-26 19:57:07 +02:00
..
data paso a pos.sessions más natural, los apuntes están ahí. 2026-06-26 19:57:07 +02:00
__init__.py crea mandatos SEPA desde pedidos del TPV 2026-06-26 19:42:45 +02:00
__manifest__.py crea mandatos SEPA desde pedidos del TPV 2026-06-26 19:42:45 +02:00
README.md paso a pos.sessions más natural, los apuntes están ahí. 2026-06-26 19:57:07 +02:00

POS Account Payment Order SEPA

Adds a contextual action "Collect by SEPA direct debit" on the POS sessions list/form (Point of Sale → Sessions).

Purpose

When a POS order is paid with a "Customer Account" payment method (split_transactions = True) and is not invoiced, Odoo does not register a real collection nor a per-order accounting move: the amount lands as an open receivable for the customer inside the session's single journal entry (pos.session.move_id). This module lets you collect those receivables in bulk through a SEPA direct debit payment order (debit order), without re-invoicing the already-issued (simplified) tickets.

The action runs on sessions (not orders) precisely because the receivable lives in the session move, not in the order. Selecting the sessions of the affected period collects every open "Customer Account" line in them.

Usage

  1. Make sure the affected customers have a valid SEPA mandate (see account_banking_mandate_batch).
  2. Go to Point of Sale → Sessions, filter the sessions of the period, select them and run Action → Collect by SEPA direct debit.
  3. The action creates the payment lines inside a draft inbound SEPA payment order, grouped by payment mode. Receivable lines without a partner, already queued, or whose partner has no valid mandate are skipped and reported. Already-collected lines (reconciled) are ignored.
  4. Open Invoicing → Customers → Payment Orders, confirm it and generate the SEPA file (pain.008).

Payment mode resolution

The inbound SEPA payment mode is taken from the partner's customer_payment_mode_id when it is a valid sepa_direct_debit inbound mode; otherwise the first inbound sepa_direct_debit payment mode is used as fallback.