Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
0cf352b
Add module account_invoice_overdue_reminder
alexis-via Jun 15, 2020
9502892
Switch row and col in pivot view of overdue reminders
alexis-via Jun 19, 2020
bbeac27
overdue_reminder: explicit error when email is missing
alexis-via Jun 22, 2020
b1abee8
[FIX] overdue_reminder: don't link mail.template to a wizard record !
alexis-via Sep 11, 2020
5b717ee
overdue_reminder: use form_view_ref to display customer invoice form …
alexis-via Sep 11, 2020
9b0bd5a
overdue_reminder: Order overdue invoices starting from oldest (NOTE: …
alexis-via Nov 12, 2020
ea668c1
overdue_reminder: link mails to res.partner
alexis-via Nov 12, 2020
7f03f0f
Add migration script for my previous commit
alexis-via Nov 13, 2020
b7ef903
Improve string and fix translation of selection field
Nov 24, 2020
f35fd62
Fix translation of selection field
Nov 24, 2020
aca8211
[MIG] account_invoice_overdue_reminder to v14.0
alexis-via Feb 11, 2021
ceade90
account_invoice_overdue_reminder: black, isort and other reformatting
alexis-via Feb 11, 2021
661f749
[UPD] Update account_invoice_overdue_reminder.pot
oca-travis Jul 29, 2021
1c7ed83
[UPD] README.rst
OCA-git-bot Jul 29, 2021
fcdfc18
[ADD] icon.png
OCA-git-bot Jul 29, 2021
28442e9
Added translation using Weblate (Italian)
stevech091 Aug 23, 2021
0f82131
[IMP] account_invoice_overdue_reminder: yellow alter banner on overdu…
alexis-via Aug 28, 2021
19fcb11
[UPD] Update account_invoice_overdue_reminder.pot
oca-travis Sep 10, 2021
bef3e26
account_invoice_overdue_reminder 14.0.1.1.0
OCA-git-bot Sep 10, 2021
85aa25d
Update translation files
oca-transbot Sep 10, 2021
bc0d921
[FIX] account_invoice_overdue_reminder: bad string
alexis-via Feb 2, 2022
b009a8e
[UPD] Update account_invoice_overdue_reminder.pot
oca-travis Feb 3, 2022
d4260fc
Update translation files
oca-transbot Feb 3, 2022
2fb2a84
Added translation using Weblate (Catalan)
ofonseca-pyming Feb 16, 2022
f0df4cf
Added translation using Weblate (French)
May 5, 2022
c63a760
Translated using Weblate (French)
May 5, 2022
1feb93f
[IMP]account_invoice_overdue_reminder: Set default values
GuillemCForgeFlow Jul 27, 2022
a06f078
account_invoice_overdue_reminder 14.0.1.1.1
OCA-git-bot Aug 31, 2022
67afea3
[FIX] account_invoice_overdue_reminder: prevent error when no overdue…
JordiMForgeFlow Sep 9, 2022
bd832d6
[IMP] account_invoice_overdue_reminder: decouple mail validation and …
JordiMForgeFlow Sep 5, 2022
f3265d3
[IMP] account_invoice_overdue_reminder: black, isort, prettier
JasminSForgeFlow Sep 8, 2022
ab455e2
[MIG] account_invoice_overdue_reminder: Migration to 15.0
JasminSForgeFlow Sep 12, 2022
d4626ed
[IMP] account_invoice_overdue_reminder: add method to get reminder te…
JudithAforgeFlow Jun 14, 2022
5a05a60
[IMP] account_invoice_overdue_reminder: add the method to get the att…
JudithAforgeFlow Jun 20, 2022
c1f50e1
[UPD] Update account_invoice_overdue_reminder.pot
Oct 17, 2022
49ff85e
[UPD] README.rst
OCA-git-bot Oct 17, 2022
d76e145
Update translation files
weblate Oct 17, 2022
0a3dcea
[MIG] account_invoice_overdue_reminder to v16
alexis-via Feb 28, 2023
5a2b44a
[UPD] Update account_invoice_overdue_reminder.pot
Mar 8, 2023
58d3b3f
[UPD] README.rst
OCA-git-bot Mar 8, 2023
4e1eee5
Update translation files
weblate Mar 8, 2023
f0833f6
account_invoice_overdue_reminder: allow to remove invoices in the wizard
alexis-via Apr 27, 2023
e9fc525
[UPD] Update account_invoice_overdue_reminder.pot
May 4, 2023
657cfdc
account_invoice_overdue_reminder 16.0.1.1.0
OCA-git-bot May 4, 2023
a1a2d98
Update translation files
weblate May 4, 2023
4e18ab6
Update __manifest__.py
andreampiovesana May 23, 2023
5a6d55e
Added translation using Weblate (Dutch)
Jan-Onestein Aug 29, 2023
4acfdb8
Translated using Weblate (Dutch)
Jan-Onestein Aug 29, 2023
d1461a0
[UPD] README.rst
OCA-git-bot Sep 3, 2023
4bd32fe
Added translation using Weblate (Spanish)
Ivorra78 Sep 4, 2023
bc71b44
Translated using Weblate (Spanish)
Ivorra78 Sep 4, 2023
bf7087e
Translated using Weblate (Spanish)
Ivorra78 Sep 4, 2023
7a7242e
overdue_reminder: change menu sequence
alexis-via Sep 21, 2023
f36a842
Added translation using Weblate (Portuguese)
pedrocs-exo Sep 28, 2023
6b2154c
Translated using Weblate (Portuguese)
pedrocs-exo Sep 28, 2023
94df518
Translated using Weblate (Portuguese)
pedrocs-exo Sep 28, 2023
59ab4f7
Translated using Weblate (Portuguese)
pedrocs-exo Sep 28, 2023
e08865d
Update translation files
weblate Oct 10, 2023
00cc1ae
Translated using Weblate (Dutch)
Jan-Onestein Oct 12, 2023
5cb47dc
[IMP] account_invoice_overdue_reminder: hide button if reminded
astirpe Oct 16, 2023
6c577c3
[FIX] account_invoice_overdue_reminder: TypeError: '>' not supported …
astirpe Oct 17, 2023
2e24b53
Translated using Weblate (Dutch)
Jan-Onestein Oct 17, 2023
7c8a407
Translated using Weblate (Dutch)
Jan-Onestein Oct 17, 2023
c7169be
[16.0] account_invoice_overdue_reminder: remind partially paid invoices
astirpe Oct 19, 2023
2230a37
[IMP] account_invoice_overdue_reminder: code review
astirpe Nov 16, 2023
b06c3ac
[BOT] post-merge updates
OCA-git-bot Nov 24, 2023
010dba2
[IMP] account_invoice_overdue_reminder: Add credit notes to overdue e…
carmenbianca Oct 27, 2022
cce3219
[IMP] account_invoice_overdue_reminder: Remove unreconciled button
carmenbianca Oct 28, 2022
8390765
[IMP] account_invoice_overdue_reminder: Change log
carmenbianca Oct 28, 2022
c309975
[FIX] account_invoice_overdue_reminder: Widen restraint to credit notes
carmenbianca Nov 30, 2022
2360c0d
[UPD] Update account_invoice_overdue_reminder.pot
Dec 11, 2023
0aaa45c
[BOT] post-merge updates
OCA-git-bot Dec 11, 2023
27fcc08
Update translation files
weblate Dec 11, 2023
fb3fc8c
[BOT] post-merge updates
OCA-git-bot Dec 11, 2023
6e72ed8
Translated using Weblate (Spanish)
Ivorra78 Dec 12, 2023
b39d630
[UPD] Update account_invoice_overdue_reminder.pot
Dec 28, 2023
b8dc40b
[BOT] post-merge updates
OCA-git-bot Dec 28, 2023
3517818
Update translation files
weblate Dec 28, 2023
ff1a2a6
Translated using Weblate (Spanish)
Ivorra78 Dec 29, 2023
ec0ae36
[IMP] account_invoice_overdue_reminder: add 3 read-only ACLs for audi…
alexis-via Jan 22, 2024
09e923d
Translated using Weblate (French)
Mar 2, 2024
b5066a3
Added translation using Weblate (German)
NICO-SOLUTIONS Mar 24, 2024
4cbe44f
Translated using Weblate (German)
NICO-SOLUTIONS Mar 24, 2024
074bbd4
Translated using Weblate (German)
NICO-SOLUTIONS Mar 24, 2024
b8fc289
[16.0][FIX] Add missing sheet to xml : allows to hook for a chatter f…
lmarion-source Aug 29, 2024
80132d7
[BOT] post-merge updates
OCA-git-bot Aug 29, 2024
c1e8ab1
Translated using Weblate (Italian)
mymage Oct 9, 2024
db6088a
Added translation using Weblate (Portuguese (Brazil))
mileo Nov 6, 2024
acb34ba
Translated using Weblate (Portuguese (Brazil))
mileo Nov 6, 2024
ec6b8d0
Translated using Weblate (Portuguese (Brazil))
mileo Nov 6, 2024
9bba158
Translated using Weblate (Portuguese (Brazil))
mileo Nov 12, 2024
3ff63d1
[FIX] account_invoice_overdue_reminder: access error
alexis-via Jan 10, 2025
05f8117
[BOT] post-merge updates
OCA-git-bot Mar 13, 2025
a7c8f30
Translated using Weblate (Italian)
primes2h May 29, 2025
977bd36
[BOT] post-merge updates
OCA-git-bot Jun 24, 2025
e7de130
[BOT] post-merge updates
OCA-git-bot Jun 24, 2025
99c9f13
[IMP] pre-commit auto fixes
alexis-via Jun 24, 2025
d31c116
[MIG] account_invoice_overdue_reminder to v18
alexis-via Jun 25, 2025
d0a925a
[UPD] Update account_invoice_overdue_reminder.pot
Jul 10, 2025
fbd3943
[BOT] post-merge updates
OCA-git-bot Jul 10, 2025
f112408
[FIX] account_invoice_overdue_reminder: install
DiegoParadeda Jul 22, 2025
f67d0af
[BOT] post-merge updates
OCA-git-bot Jul 23, 2025
0931368
[IMP] account_invoice_overdue_reminder: add message in the chatter of…
alexis-via Sep 4, 2025
b7f357e
[UPD] Update account_invoice_overdue_reminder.pot
Sep 5, 2025
e04c269
[BOT] post-merge updates
OCA-git-bot Sep 5, 2025
4642aac
Update translation files
weblate Sep 5, 2025
e3ae58e
Translated using Weblate (Italian)
mymage Sep 8, 2025
0e617c1
Translated using Weblate (French)
remi-filament Oct 14, 2025
4d4c31a
Translated using Weblate (French)
remi-filament Oct 14, 2025
a02820a
[OU-ADD] account_invoice_overdue_reminder: Migration scripts
victoralmau Oct 27, 2025
6f8b431
[FIX] account_invoice_overdue_reminder: use format_date() in mail.tem…
alexis-via Jan 23, 2026
c5c88f6
[UPD] Update account_invoice_overdue_reminder.pot
Mar 11, 2026
9dc67a9
[BOT] post-merge updates
OCA-git-bot Mar 11, 2026
8ae8cf6
Update translation files
weblate Mar 11, 2026
3a19bc4
Translated using Weblate (Italian)
mymage Mar 16, 2026
de5e2d9
[MIG] account_invoice_overdue_reminder: Migration to 19.0
stferraro Apr 28, 2026
70c71bd
[IMP] Add a config and a hook to sort moves using partner or residual…
lmarion-source Oct 10, 2024
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
191 changes: 191 additions & 0 deletions account_invoice_overdue_reminder/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

========================
Overdue Invoice Reminder
========================

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

.. |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/license-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%2Fcredit--control-lightgray.png?logo=github
:target: https://github.com/OCA/credit-control/tree/19.0/account_invoice_overdue_reminder
:alt: OCA/credit-control
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/credit-control-19-0/credit-control-19-0-account_invoice_overdue_reminder
: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/credit-control&target_branch=19.0
:alt: Try me on Runboat

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

This Odoo module is designed to send overdue invoice reminders to
customers. It handles reminders by e-mail, letter and phone.

This module is an alternative to the OCA module
*account_credit_control*. Why another module for invoice reminders ?
Because the module *account_credit_control* is quite complex (we
experienced that some users find it too complex and eventually stop
using it) and its interface is designed to send massive volume of
reminders.

This module has been designed from the start with the following
priorities:

- **keep control**: you must keep tight control on the overdue invoice
reminders that you send. Overdue invoice reminders are part of the
communication with your customers, and this is very important to keep
a good relation with your customers.
- **usability**: the module is easy to configure and easy to use.
- **no accounting skills needed**: the module can be used by users
without accounting skills. It can even be used by salesman!
- **multi-currency**: if you invoice your customer in another currency
that your company currency, the invoice reminders only mention the
currency of the invoices. And if you invoice a customer with different
currencies, the reminder is clear and easy-to-understand by your
customer, with a total residual per currency.
- **multi-channel**: supports overdue invoice reminders by e-mail
(default), phone and letter.
- **simplicity**: for the developers, the code is small and easy to
understand.

The specifications written before starting the development of this
module are written in this
`document <https://docs.google.com/document/d/1JIIAP5QsItbJ1zLiaGHuR0RAQplEGv3diOl-d4mS__I/edit?usp=sharing>`__
(in French).

The module has one important limitation: it sends a reminder for an
invoice when it has past it's *Due Date* (which is in fact the *Final
Due Date*): if the invoice has a payment term with several lines, it
won't send a reminder before the last term is overdue.

An overdue reminder for a customer always include all the overdue
invoices of that customer.

The module supports a clever per-invoice reminder counter mechanism:

- the reminder counter is a property of an invoice,
- the reminder counter of each overdue invoice is incremented when
sending a reminder by email or by post. It is not incremented for
reminders by phone.
- in an email or a letter, the subject will be *Overdue invoice reminder
n°N* where N is the maximum value of the counter of the overdue
invoices plus one.

There are two user interfaces to send reminders:

- the **one-by-one** interface, which displays one screen for each
customer that has overdue invoices, one after the other. You should
use this interface when you have a reasonable volume of reminders to
send (less than 100 overdue reminders for example). It gives you a
tight control on the reminders and the possibility to easily and
rapidly customize the reminder e-mails.
- the **mass** interface, which displays a list view of all customers
that have overdue invoices, and you can process several reminders at
the same time (via the *Actions* menu).

This video tutorial in English will show you how to configure and use
the module: `Youtube
link <https://www.youtube.com/watch?v=MaOoVAi7Tc0>`__.

**Table of contents**

.. contents::
:local:

Usage
=====

Of course, before sending invoice reminders, you must import your bank
statements and process them, so that you are up-to-date on customer
payments.

Then, go to the menu *Invoicing > Customers > Overdue Invoice Remind*:
you will get the start screen where you can:

- filter the customers that you want to remind (filter by customer or by
salesman),
- check that your bank journals are up-to-date,
- choose between the *one-by-one* and *mass* interfaces,
- customize some parameters.

Then follow the process until the end.

You can also start the invoice reminder wizard via the button *Overdue
Reminder* on an overdue invoice.

Changelog
=========

16.0.1.2.0 (2023-12-11)
-----------------------

**Features**

- Credit notes have been added to the e-mail summary that are sent to
the customer. They are marked in a different colour.

Furthermore, the button toggle to allow to send a reminder with
unreconciled payments has been removed. The warning remains.
(`#226 <https://github.com/OCA/credit-control/issues/226>`__)

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/credit-control/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/credit-control/issues/new?body=module:%20account_invoice_overdue_reminder%0Aversion:%2019.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
-------

* Akretion

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

- Alexis de Lattre <alexis.delattre@akretion.com>

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.

.. |maintainer-alexis-via| image:: https://github.com/alexis-via.png?size=40px
:target: https://github.com/alexis-via
:alt: alexis-via

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-alexis-via|

This module is part of the `OCA/credit-control <https://github.com/OCA/credit-control/tree/19.0/account_invoice_overdue_reminder>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions account_invoice_overdue_reminder/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from . import models
from . import wizard
from .hooks import pre_init_hook
33 changes: 33 additions & 0 deletions account_invoice_overdue_reminder/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Copyright 2020-2021 Akretion France (http://www.akretion.com/)
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Overdue Invoice Reminder",
"version": "19.0.1.0.0",
"category": "Accounting",
"license": "AGPL-3",
"summary": "Simple mail/letter/phone overdue customer invoice reminder ",
"author": "Akretion,Odoo Community Association (OCA)",
"maintainers": ["alexis-via"],
"website": "https://github.com/OCA/credit-control",
"depends": ["account"],
"data": [
"security/ir.model.access.csv",
"security/ir_rule.xml",
"wizard/overdue_reminder_wizard_view.xml",
"views/res_partner.xml",
"views/report.xml",
"views/report_overdue_reminder.xml",
"views/account_move.xml",
"views/account_invoice_overdue_reminder.xml",
"views/overdue_reminder_result.xml",
"views/overdue_reminder_action.xml",
"wizard/res_config_settings_view.xml",
"data/overdue_reminder_result.xml",
"data/mail_template.xml",
],
"installable": True,
"application": False,
"pre_init_hook": "pre_init_hook",
}
166 changes: 166 additions & 0 deletions account_invoice_overdue_reminder/data/mail_template.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright 2020-2021 Akretion France (http://www.akretion.com/)
@author Alexis de Lattre <alexis.delattre@akretion.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo noupdate="1">
<record id="overdue_invoice_reminder_mail_template" model="mail.template">
<field name="name">Overdue Invoice Reminder</field>
<field
name="model_id"
ref="account_invoice_overdue_reminder.model_overdue_reminder_step"
/>
<field name="auto_delete" eval="False" />
<field name="lang">{{object.partner_id.lang}}</field>
<field
name="email_from"
>{{object.user_id.email or object.company_id.email}}</field>
<field name="email_to">{{object.partner_id.email}}</field>
<field
name="subject"
>{{object.company_id.name}} - Overdue invoice reminder n°{{object.counter}}</field>
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px; font-size: 13px;">
<p>Dear customer,</p>
<p>According to our books, the following invoices are overdue:</p>

<table
style="border-spacing: 0; border-collapse: collapse; width: 100%; text-align: center;"
>
<tr>
<th
style="padding: 5px; border: 1px solid black;"
>Invoice Number</th>
<th
style="padding: 5px; border: 1px solid black;"
>Invoice Date</th>
<th
style="padding: 5px; border: 1px solid black;"
>Payment Terms</th>
<th style="padding: 5px; border: 1px solid black;">Due Date</th>
<th
style="padding: 5px; border: 1px solid black;"
>Order Ref.</th>
<th style="padding: 5px; border: 1px solid black;">Type</th>
<th
style="padding: 5px; border: 1px solid black;"
>Total Untaxed</th>
<th style="padding: 5px; border: 1px solid black;">Total</th>
<th style="padding: 5px; border: 1px solid black;">Residual</th>
<th
style="padding: 5px; border: 1px solid black;"
>Past Reminders</th>
</tr>
<t
t-foreach="object.invoice_ids.sorted(key='invoice_date')"
t-as="inv"
>
<tr
style="background-color:
% if inv.move_type == 'out_refund':
LightGray
% endif
"
>
<td style="padding: 5px; border: 1px solid black;">
<t t-out="inv.name" />
</td>
<td style="padding: 5px; border: 1px solid black;">
<t t-out="format_date(inv.invoice_date)" />
</td>
<td style="padding: 5px; border: 1px solid black;">
<t t-out="inv.invoice_payment_term_id.name or ''" />
</td>
<td style="padding: 5px; border: 1px solid black;">
<t t-out="format_date(inv.invoice_date_due)" />
</td>
<td style="padding: 5px; border: 1px solid black;">
<t t-out="inv.ref or ''" />
</td>
<td style="padding: 5px; border: 1px solid black;">
<t
t-out="dict(inv.fields_get(allfields=['move_type'])['move_type']['selection'])[inv.move_type]"
/>
</td>
<td
style="padding: 5px; border: 1px solid black; text-align: right;"
>
<t
t-out="format_amount(inv.amount_untaxed * (inv.move_type == 'out_refund' and -1 or 1), inv.currency_id)"
/>
</td>
<td
style="padding: 5px; border: 1px solid black; text-align: right;"
>
<t
t-out="format_amount(inv.amount_total * (inv.move_type == 'out_refund' and -1 or 1), inv.currency_id)"
/>
</td>
<td
style="padding: 5px; border: 1px solid black; text-align: right;"
>
<t
t-out="format_amount(inv.amount_residual * (inv.move_type == 'out_refund' and -1 or 1), inv.currency_id)"
/>
</td>
<td style="padding: 5px; border: 1px solid black;">
<t t-out="inv.overdue_reminder_counter" />
</td>
</tr>
</t>
<t t-foreach="object.total_residual()" t-as="total_residual">
<tr>
<td />
<td />
<td />
<td />
<td />
<td />
<td
colspan="2"
style="padding: 5px; border: 1px solid black; font-weight: bold; text-align: right;"
>
Total
Residual in
<t t-out="total_residual[0].name" />:
</td>
<td
style="padding: 5px; border: 1px solid black; font-weight: bold; text-align: right;"
>
<t
t-out="format_amount(total_residual[1], total_residual[0])"
/>
</td>
<td />
</tr>
</t>
</table>

<p
>If you made a payment for these invoices a few days ago, please ignore this email.</p>

<t t-if="object.company_id.overdue_reminder_attach_invoice">
<p>You will find enclosed the overdue invoices.</p>
</t>

<t t-if="object.counter > 2">
<p
>Despite several reminders, we are disappointed to see that these overdue invoices are still
unpaid.
In order to avoid legal proceedings, we urge you to paid these overdue invoices in the next
days.
</p>
</t>

<p>Regards,</p>

<t t-if="user.signature">
<p>
<t t-out="user.signature or ''" />
</p>
</t>
</div>
</field>
</record>
</odoo>
Loading
Loading