Paiements conditions

I am trying to understand the payments conditions rules. how do you indicate the last day of the month ?
if the invoice is in January, it will be the 31th
in fev 2027 i would be the 28th
in fev 2028 the 29th
in april, it would be the 30th.

so how could you indicate +45 days AND the last day of the month (after the 45 days) ?

i can says +45 days but if i says 31th for april it calculates 1st may.

i read here :

and i did not understood, nor i found the code to read in case it would help me to understood.

Here is the code, in specific you need to understand the relativedelta:

By creating 2 deltas:
First delta: days: 45
Second delta: day:31

I did not understand any of the examples of the dates you posted as you did not bring the posted date of the invoice and just talk about days but not months, the only one I can understand is (+45+last day) with the delta configs mentioned and a date posted in 1rst Jan, it will compute 28th Feb. Be aware of the difference between using days (Number of days) and day (Day of Month)

By using day 31 you are indicating last day, it doesn’t matter if the month will have less or more days, relativedelta will handle it.

There is a dedicated article about the topic in the documentation: Creating payment terms

  • I found that code and read it before posting.

  • i did not find the topic in the documentation
    but it did not address the case
    if the 9th fev à want to have 30 fays + end of month, i do not know how to do it

i know how to do 30 days ;
line :
remainder
days +30

i know how to do end of month
line :
remainder
months +1
days -1
day (of month) 31
=> always the last day of the current month

but i do not kow how to do +30 days && end of month
i have

line :
remainder
days +30
day (of month) 31

if you test with date of invoice 09 fev 25 => 30-03-25 (should be 31-03)
if you test with date of invoice 01 jan 25 => 02-03-25 (should be 28-02)

I think that you did not see how to create multiple deltas, inside the remainder line, you can create multiple deltas, here is a screenshot, hope it helps:

yes i knew that you could add multi-lines.
(i work with ant-erp/open-erp/tryton for almost 20 years)

but in my version (6.x) it seems that it is not the same

maybe i miss a module ?

ok i am a dumb stupid noobs… i saw… i’ll try

thank you very very much for pointing what i did not saw.

that did the trick

For the record “30 days end of month” does not mean that.
It means end of the next month.
See Add default standard payment term (#13863) · Issues · Tryton / Tryton · GitLab

For the record “30 days end of month” does not mean that.
It means end of the next month.

for the record, nope

“end of the next month” is… “end of the next month”, surely not “30 days end of month”

if you buy the 30th of jan “30 days end of month” means 30 days and go to the last day of the month after thoses 30 days. so with the 30th of january (works with 29 too) you should not pay on the 28(29) of feb but 31st of march. We must be precise when we talk else nobody will understand.

i know that with month with 30 or 31 days, it means end of the next month, but it is not a “rule”

https://www.economie.gouv.fr/dgccrf/les-fiches-pratiques/delais-de-paiement-les-regles-connaitre

Le délai de 45 jours fin de mois peut se décompter des deux manières suivantes : date de facture + 45 jours + fin du mois ou date de facture + fin du mois + 45 jours.

in the second case lets calculate with 30FM

date de facture + fin du mois + 30 jours.

lets have an invoice of 1st jan
1st jan >> end of month 31 jan>> +30 days >> 2th of march

I did not express correctly.
30 days EOM means that it is 30 days starting from the end of the month of the invoice date.
But it does not mean 30 days from the invoice date and after take the end of the month as you tried to implement. A standard term is “End of Month Following” which is probably what you are looking for.

this is from french gvt :

Le délai de 45 jours fin de mois peut se décompter des deux manières suivantes : date de facture + 45 jours + fin du mois ou date de facture + fin du mois + 45 jours.

The 45-day month-end period can be calculated in one of two ways: invoice date + 45 days + end of month or invoice date + end of month + 45 days.

i do not know how it is called, i just know that wen in french we says “30 jours fin de mois” is what i was looking for. but i do not know if it is eom or other things.

some times trying to “translate” do not work. it is almost every time the end of the next month except for february

And “30 jours fin de mois” is not what you describe: Qu’est-ce que le paiement à 30 jours ?, Calcul des délais de paiement : fins de mois, échéance de paiement

But it is a common mistake but when you think about it, it does not make that much sense. And maybe this mistake became an accepted interpretation in France.

But the world wide usage of the term is the one I describe.

And this is probably not by chance that relativedelta of dateutil computes this way.

i much prefer the french gvt explication than a lambda

I think it says exactly what it was supposed to say.
some time ago, big company had a invoicing software (or a subcontractor doing reg/accountancy… like for pay slip ) And the invoices/payments was done at the end of the month so maybe end of month was related to that.

In some company pay slip is end of month, in some it is 5th of the next month…

i agree that it would be “logical” end of the next month, but you could face a nitpicker that really, in january, tries to have the invoice the 30th or 31th. to gain one month for the payment. I guess that this way of calculation became a habit. (feb is the exception)

the example in the gvt page is talking about 45 days, that skip the feb exception. Even thought it says it can be calculated in 2 different ways (and that do not arise the same date of payment)

  • invoice + end of month + 45 days =>
    invoice 15th jan. => payment 17th march

  • invoice + 45 days + end of month =>
    invoice 15th jan. => payment 31st march
    invoice 10th jan => payment 28th feb

the example can also be pointed out with insurance company. You pay your insurance for 12 month.
so when you start in june, it should be june => june nextYear

BUT it is june=>31st of march and then 1st april =>31st of march Y+1 because i guess that there invoicing/assurinf softare is calibrates 1st april => 31st march

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.