Files
odoo_source/addons/account
Sven Fuehr e8dbf7a3d1 [FIX] account: fixes payment to self with early payment discount
This commit fixes a bug (corner case) concerning payments
to yourself where an early payment discount is applied.

Details / steps to reproduce the bug:
    1. Create an invoice
    2. Select your own (currently selected) company as customer
    3. Select some payment term with early payment discount (e.g. '2/7 Net 30')
    4. Confirm the invoice.
    5. Click "Register Payment" and keep the default values (i.e. "Mark as fully paid" should be selected)
    6. Click "Create Payment"
    7. A User Error like the following should appear (with different journal entry names):
       "Journal Entry Draft Entry PBNK1/2023/00001 (INV/2023/00005) is not valid. In order to proceed, the journal items must include one and only one receivable/payable account (with an exception of internal transfers)."

Why the bug happens:
The early payment discount adds some extra lines to the journal entry associated with the payment.
Currently those extra lines are classified as "counterpart lines" since the customer is our own company.
But there must be exactly 1 "counterpart line".

How the bug is fixed:
The condition that classifies the extra lines as "counterpart lines" was only intended for internal transfers.
Each company has a related "transfer account" that is used as an intermediary account for internal transfers.
Thus the old condition (c.f. commit diff) when checking whether a line is a "counterpart line"
can be replaced by checking whether the account associated with the line is the "transfer account" of our company.

task-3388294

closes odoo/odoo#127844

X-original-commit: b1536ecb6bc94a2bd5ff3bdf1b73289ca87a744d
Signed-off-by: Laurent Smet (las) <las@odoo.com>
2023-07-08 16:53:21 +02:00
..
2023-06-30 23:37:50 +02:00
…
2023-07-07 12:10:03 +02:00
2023-06-30 23:37:50 +02:00
…

Odoo Accounting

The Odoo Open Source Accounting app allows a better way to collaborate with your accountants, your customers and control your suppliers.

Activate features on demand, from integrated analytic accounting to budget, assets and multiple companies consolidation.

A Smart User Interface

Record transactions in a few clicks and easily manage all financial activities in one place. Odoo's user interface is designed with productivity in mind.

A Better Way To Work – Together

Share access to your latest business numbers with your team and your accountant – so everyone is up to speed. From work, home or on the go.

Connect Your Bank Accounts

Import your bank statements and reconcile them in just a few clicks. Prepare payment orders based on your supplier invoices and payment terms.

Electronic invoicing and automated follow-ups

Create and send professional invoices & get paid online. Get rid of the stress of having to constantly remind your debtors. Simply set-up and automate follow-ups to get paid quickly.

Sales Integration

Automatically create invoices from sales orders, delivery orders or base them on time and material. Re-invoice expenses on projects to your customer in just a few clicks.

Purchase Integration

Control supplier invocies based on purchase orders. Get real-time inventory valuation reports automatically posted in your accounts.

Multi-Level Analytic Accounting

Integrate your analytic accounting operations with timesheets, projects, invoices, expenses, etc. No need to record transactions, all analytic entries are posted automatically following your business rules.

Everything you need to grow

Manage your assets, track expenses, control budgets, multi-level analytic accounting; Odoo has all the features you need to sustain all your business activities.

Scale With Your Organization

Odoo supports multiple currencies, multiple users with different access rights, multiple companies with real time consolidation and unlimited analytic plans.