Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .docker_files/main/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"account_move_unique_reversal",
"account_negative_debit_credit",
"account_payment_cancel_group",
"account_payment_from_move_line",
"account_search_by_amount",
"account_search_date_range",
"account_show_full_features",
Expand Down
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ COPY account_move_unique_reversal /mnt/extra-addons/account_move_unique_reversal
COPY account_negative_debit_credit /mnt/extra-addons/account_negative_debit_credit
COPY account_search_by_amount /mnt/extra-addons/account_search_by_amount
COPY account_payment_cancel_group /mnt/extra-addons/account_payment_cancel_group
COPY account_payment_from_move_line /mnt/extra-addons/account_payment_from_move_line
COPY account_show_full_features /mnt/extra-addons/account_show_full_features
COPY account_search_date_range /mnt/extra-addons/account_search_date_range
COPY bank_statement_import_csv /mnt/extra-addons/bank_statement_import_csv
Expand Down
96 changes: 96 additions & 0 deletions account_payment_from_move_line/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
Account Payment From Move Line
==============================
This modules allows to generate a payment from an existing journal item (account.move.line).

.. contents:: Table of Contents

Context
-------
In vanilla Odoo, a payment can be registered directly from an invoice.

.. image:: static/description/invoice_payment_wizard.png

This allows to automatically fill the payment values based on the invoice.

However, a journal entry can be created manually to recognize a receivable item.

.. image:: static/description/receivable_item_list.png

In such case, prefilling a payment from the receivable item is not possible (in vanilla Odoo).

Usage
-----
As member of the group ``Accounting / Billing``, I go to the list view of journal items.

I filter to display the receivable items for a given customer.

.. image:: static/description/receivable_item_list.png

I select the items and click on ``Register a payment``.

.. image:: static/description/receivable_item_list_register_payment.png

A wizard is opened.

.. image:: static/description/payment_from_move_line_wizard.png

I notice that:

* The payment is prefilled with the sum of amounts from the selected receivables.
* The date of payment is ``Today`` (by default).
* The payment journal is not filled (a default value can be parametrized per company).

Then, I replace the prefilled amount with a partial payment amount and select a journal.

The system asks what to do with the balance; either ``Keep Open`` or ``Mark as Fully Paid``.

.. image:: static/description/wizard_partial_amount.png

I select ``Mark as Fully Paid`` and select a ``Difference Account``.

.. image:: static/description/wizard_difference_account.png

I click on ``Validate``.

.. image:: static/description/wizard_validate_button.png

The form view of the new payment is open.

.. image:: static/description/payment_form.png

I notice that the selected receivable items are now reconciled.

.. image:: static/description/journal_items_reconciled.png

Constraints
-----------
The journal items selected for registering payments must comply with the following constraints.
If one constraint fails, a detailled error message will be displayed.

Same Currency, Account and Partner
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Selected items must have the same currency, GL account and commercial partner.
This is required so that the payment can be reconciled with the selected journal items.

Unreconciled
~~~~~~~~~~~~
Selected items must not be fully reconciled.

Posted
~~~~~~
Selected items must be posted.

Known Issues
------------
For now, this module does not support payable journal items and outbound payments.
It only supports receivables and inbound payments.

The reason is that supporting payables and outbound payments adds extra complexity.
This complexity is not required by Numigi's clients.

A constraint is implemented to prevent users from selecting non-receivable journal items
for registering payments.

Contributors
------------
* Numigi (tm) and all its contributors (https://bit.ly/numigiens)
4 changes: 4 additions & 0 deletions account_payment_from_move_line/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2019 - today Numigi (tm) and all its contributors (https://bit.ly/numigiens)
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

from . import models, wizard

Check notice on line 4 in account_payment_from_move_line/__init__.py

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

account_payment_from_move_line/__init__.py#L4

'.models' imported but unused (F401)
22 changes: 22 additions & 0 deletions account_payment_from_move_line/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2019 - today Numigi (tm) and all its contributors (https://bit.ly/numigiens)
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

{

Check warning on line 4 in account_payment_from_move_line/__manifest__.py

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

account_payment_from_move_line/__manifest__.py#L4

Statement seems to have no effect
"name": "Account Payment From Move Line",
"version": "16.0.1.0.0",
"author": "Numigi",
"maintainer": "Numigi",
"website": "https://www.numigi.com",
"license": "LGPL-3",
"category": "Accounting",
"summary": "Generate payment from receivable journal item",
"depends": [
"account",
],
"data": [
"security/ir.model.access.csv",
"views/account_move_line.xml",
"wizard/account_payment_from_move_line.xml",
],
"installable": True,
}
Loading