From 80f24bcc46370d8d2e67b09e1b772cecfc75671f Mon Sep 17 00:00:00 2001 From: GitHub Copilot Date: Fri, 26 Jun 2026 19:57:07 +0200 Subject: [PATCH] =?UTF-8?q?paso=20a=20pos.sessions=20m=C3=A1s=20natural,?= =?UTF-8?q?=20los=20apuntes=20est=C3=A1n=20ah=C3=AD.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pos_account_payment_order_sepa/README.md | 27 ++++++---- .../data/server_action.xml | 51 ++++++++++--------- 2 files changed, 42 insertions(+), 36 deletions(-) diff --git a/pos_account_payment_order_sepa/README.md b/pos_account_payment_order_sepa/README.md index a3b2615..d62a792 100644 --- a/pos_account_payment_order_sepa/README.md +++ b/pos_account_payment_order_sepa/README.md @@ -1,27 +1,32 @@ # POS Account Payment Order SEPA -Adds a contextual action **"Collect by SEPA direct debit"** on the POS orders -list/form (Point of Sale → Orders). +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`), Odoo does not register a real collection: it -leaves the amount as an **open receivable** for the customer inside the -session's journal entry. This module lets you collect those receivables in -bulk through a **SEPA direct debit payment order** (debit order), without +(`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 → Orders**, filter the orders paid on account, select - them and run **Action → Collect by SEPA direct debit**. +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. Orders without an open receivable, - without a partner, already queued, or whose partner has no valid mandate are - **skipped and reported**. + 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)**. diff --git a/pos_account_payment_order_sepa/data/server_action.xml b/pos_account_payment_order_sepa/data/server_action.xml index e3ab750..ea2af89 100644 --- a/pos_account_payment_order_sepa/data/server_action.xml +++ b/pos_account_payment_order_sepa/data/server_action.xml @@ -2,37 +2,38 @@ Collect by SEPA direct debit - - + + list,form code