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
173 changes: 173 additions & 0 deletions account_payment_term_partner_not_paydays/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
=======================================
Payment Term - Partner Not Payment Days
=======================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:150e48e380df2df5d2435713f6d0dd9cedcbac8398e7dbed82539c00bab89d50
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--payment-lightgray.png?logo=github
:target: https://github.com/OCA/account-payment/tree/17.0/account_payment_term_partner_not_paydays
:alt: OCA/account-payment
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/account-payment-17-0/account-payment-17-0-account_payment_term_partner_not_paydays
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/account-payment&target_branch=17.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

There may be a scenario where you don't want to make a payment to a
partner, whether due to vacation, an unofficial agreement, or other
reasons.

This module allows you to automate these scenarios by defining
non-payment date ranges for each partner and calculating the due date
based on those defined ranges and the initial payment terms.

**Table of contents**

.. contents::
:local:

Configuration
=============

Enable non-payment ranges
-------------------------

1. Go to Invoicing > Configuration > Settings > Payment Terms

2. Enable the option "Days not pay"

3. Save

|Enable day not pay|

.. |Enable day not pay| image:: https://raw.githubusercontent.com/OCA/account-payment/17.0/account_payment_term_partner_not_paydays/static/img/readme/enable_day_not_pay.png

Usage
=====

Set payment days per customer
-----------------------------

1. Go to Invoicing > Customers > Customers

2. Select or create a new partner

3. Go to tab "Sales & Purchases" in section "SALES"

4. Enter the payment days separated by commas (,), dashes (-) or spaces
( ) in field Customer Payment day(s). Example: 12,18,26,29

|Partner days pay|

5. Save

Add range not pay to partner
----------------------------

1. Go to Invoicing > Customers > Customers

2. Select or create a new partner

3. Go to tab "Invoicing" in section "DAYS NOT PAY"

4. Add the range of days not pay

5. Save

|Partner days not pay|

Create invoice with partner configured for non-payment days
-----------------------------------------------------------

1. Go to Invoicing > Customers > Invoices

2. Create a new invoice and select a partner that has configured
no-payment ranges.

3. If, when selecting the partner, today's date falls within a
non-payment range, a notification message will be displayed.

|Invoice due date not valid|

4. You can manually change the due date to a valid range if desired.
Otherwise, when confirming the invoice, it will be set to a valid
date based on the following conditions:

1. If no payment days are configured, the default day (usually today)
will be used.

2. If a valid due date is not configured, the due date will be set
based on the partner's payment days and invalid date ranges.

Example: Partner Mitchell:

- Payment Days: 5, 17
- Payment Terms: 30 days
- Non-Payment Range: 8/1/2025 - 8/31/2025 (Customer Invoice)

Invoice: Partner: Mitchell Invoice Date: 7/15/2025 Due Date:
8/15/2025 (30-day payment terms) Since the due date falls within a
non-payment range, it is changed to 9/17/2025, as 17 is one of the
customer's payment days and is later than 15 in a valid date
range.

.. |Partner days pay| image:: https://raw.githubusercontent.com/OCA/account-payment/17.0/account_payment_term_partner_not_paydays/static/img/readme/partner_days_pay.png
.. |Partner days not pay| image:: https://raw.githubusercontent.com/OCA/account-payment/17.0/account_payment_term_partner_not_paydays/static/img/readme/partner_days_not_pay.png
.. |Invoice due date not valid| image:: https://raw.githubusercontent.com/OCA/account-payment/17.0/account_payment_term_partner_not_paydays/static/img/readme/invoice_due_date_not_valid.png

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-payment/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/account-payment/issues/new?body=module:%20account_payment_term_partner_not_paydays%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Binhex

Contributors
------------

[Binhex] (https://www.binhex.cloud):

- Edilio Escalona Almira [email protected]

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/account-payment <https://github.com/OCA/account-payment/tree/17.0/account_payment_term_partner_not_paydays>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions account_payment_term_partner_not_paydays/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import wizards
25 changes: 25 additions & 0 deletions account_payment_term_partner_not_paydays/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Copyright 2025 Binhex <https://www.binhex.cloud>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Payment Term - Partner Not Payment Days",
"version": "17.0.1.0.0",
"category": "Accounting & Finance",
"summary": """
Recalculate the due date based on the non-payment
days configured per contact.
""",
"author": "Binhex,Odoo Community Association (OCA)",
"maintainer": "OCA",
"website": "https://github.com/OCA/account-payment",
"license": "AGPL-3",
"depends": ["account_payment_term_partner_paydays"],
"data": [
"security/ir.model.access.csv",
"views/res_partner_views.xml",
"views/account_payment_term_views.xml",
"views/account_move_views.xml",
"wizards/res_config_settings_view.xml",
],
"installable": True,
}
Loading
Loading