Contributors mailing list archives

Browse archives


Re: Odoo Invoice/Payment Cancellation with Reversal Entry.

Ecosoft Co. Ltd., Kitti Upariphutthiphong
- 22/03/2019 11:46:43
It is interesting to know that things are very much varied among countries.

I did use comments to discuss with out accountant, and it is confirmed that we will need the cancellation as this PR.

My question is, given this is quite specific to country, should I propose this to l10n-thailand, instead of account-financial-tools ?

Thank you,

On Wed, Mar 20, 2019 at 4:06 PM Sergio Corato <> wrote:
Cancel an invoice creating an account move is not valid in Italy, this is a legal document and can only be reversede by a refund

Sergio Corato

Il giorno mar 19 mar 2019 alle ore 18:57 Kevin McMenamin <> ha scritto:

Once an invoice is confirmed I do not consider it should eb able to be cancelled as the general ledger has been posted to. You start to get into difficult use cases – for example, what if the invoice was validated in the last month and those results have been finalised. Now you would have a difference between reported results and what you would get after cancelling an invoice. Also, the invoice will have been sent to a customer – this is a legal document and the customer may use for tax purposes – how do you ensure that this does not happen.


The correct way is to create a credit note in full – this ensures an audit trail for what has happened and keeps legal and accounting in the proper state.





From: Kitti Upariphutthiphong <>
Sent: Wednesday, 20 March 2019 3:38 AM
To: Contributors <>
Subject: Re: Odoo Invoice/Payment Cancellation with Reversal Entry.


Thank you for all opinions.


We do also have complication on VAT reports, from the deletion of move lines.


I also see that it might make things more complicated (and more bugs). But from years of working with Odoo, the cancellation thing is what annoy us most. So, I am trying something out none the less.


I created this addon - account_invoice_reversal (invoice cancel with reversed journal entry), hope to get some comments on it.





On Tue, Mar 19, 2019 at 4:01 PM Eric Caudal <> wrote:

In China we have a similar issue whether within the month or not (VAT declared or not).

If within the month -> just cancel

If outside -> need proper refund


We do not get to the same complexity as yours in terms of income tax though



Eric Caudal [Founder and CEO] - Shanghai Elico Limited
Skype: elico.corp - Phone: + 86 186 2136 1670 (Cell) // + 86 21 6211 8017/27/37 (Office)
More information:

Odoo Gold Partner // Best Odoo Partner APAC 2014, 2016 and 2018!

On 2019-03-19 4:52 p.m., Nhomar Hernández wrote:



We are having issues on MX because:


Cancellation != credit notes, cancel can be reverted, but credit note can not be used by law as a deviation of the income.


How this affect the customer?


1. Let's say I make a cancellation of an invoice of 1000 USD.

2. I cancel it in the same period.

3. Normal Odoo's behavior is Ok!-


2. i cancel it in a different period.

3. Odoo's behavior is not Ok, because It is affecting me a closed period, then My balance is incorrectly modified (which for auditory process is worng).


Correct behavior:


2. I cancel it in a different period.

3. A reverse entry must be done.


What if I make a credit note?


- The first period the income tax is for 1000

- I can not use a credit as substraction in the new period.

- Then the correct invoice (the one that replace the cancellation) affect to me **again** the new period, paying more taxes.


After 1 year:


- I recover the money, because it affect on this way only 50% of the provision on incomes.


Basically it affects in an ugly way in terms of income taxes (not vat thanks God), making me to provison month by moth 50% of the same income twice.


There are few laws that need a proper cancellation feature (at least in different or closed periods).


We are working in a solution, but any of the ones we did give the flexibility the original behavior gives, but once it is done we will share it at least at localization level.




On Tue, Mar 19, 2019 at 2:36 AM Frédéric Clementi <> wrote:

I though many times about trying to improve this part but I think it does not worth it.


The real issue in my view is that :

* there is no 'Cancelled' state on account moves. You could print your general ledger ignoring all these cancelled entries (since they have a neutral effect).

* One invoice cannot be linked to several moves (ie: the original one and the reversed one for cancellation)

* sequence of the invoice is the same that the sequence of the move.


This change must come from Odoo.




Frédéric Clementi

Project Manager 

Business Solutions 

+41 21 619 10 41



Le mar. 19 mars 2019 à 07:21, Eric Caudal <> a écrit :

Hi Kitti,

I usually see 2 scenarios in Odoo world and depending on the accounting habits/requirements:

* allow canceling entries: simple but few traceability

* reverse via credit note: full traceability


The problem is that on accounting point of view most of the time when an invoice is published, you just cannot touch it anymore (hence the 2nd way).

It is not the same an invoice that has been canceled before validation and after validation so the states cannot be merged.

I have the feeling nevertheless, that standard refund wizard does most of your requirement.

Why not simply rely on Odoo standard credit note feature but add a new stage in the invoice ("Canceled by CN") that would be triggered in the case of the refund/reconciliation wizard.



Eric Caudal [Founder and CEO] - Shanghai Elico Limited
Skype: elico.corp - Phone: + 86 186 2136 1670 (Cell) // + 86 21 6211 8017/27/37 (Office)
More information:

Odoo Gold Partner // Best Odoo Partner APAC 2014, 2016 and 2018!

On 2019-03-19 1:01 p.m., Kitti Upariphutthiphong wrote:

Hi everyone,


We have been discussing this in Odoo mailing list, and found that the real account invoice/payment cancellation does not exits.


So far, people suggest us to cancel document use Credit Note. Journal Entries wise is ok, but we think this will make front document marked as "Paid" instead of "Cancelled", which will be misleading.


So, I am thinking of doing a module like this, e.g. on invoice

·        A new button to open Cancel wizard, with Cancel Date and Cancel Reason.

·        Clicking cancel will create a reversed journal entry (using account_reversal) with same number of Invoice_VOID, and stamp to new account.invoice's cancel_move_id field.

·        Do reconciled for move_id and cancel_move_id and change invoice to Cancelled state.

Will do things in similar fashion in Payment too (reversed all related JE, do reconcile them and set cancel state).


Do you think this sound ok?


Again...I am so surprised that, until now, Odoo still lack this simple feature and wonder why no others feel it is a required feature of ERP.

I am afraid that I am doing something wrong now.


How are you guys currently handle account document cancellation?



Post to:

Post to:




Nhomar Hernandez

CEO Vauxoo.

Twitter: @nhomar

Odoo Gold Partner

Skype: nhomar00 (Envia mail previo no lo superviso siempre).

Móvil Venezuela:
+58 4144110269 (Telegram)

Móvil México:
+52 1 4773933942 (Whatsapp)

Post to:

Attention: This email may contain information intended for the sole use of the original recipient. Please respect this when sharing or disclosing this email's contents with any third party. If you believe you have received this email in error, please delete it and notify the sender or as soon as possible. The content of this email does not necessarily reflect the views of Solnet Solutions Ltd.

Post to:

Post to:

Mobile: +66-(0)8-1841-7480
Your ERP Partner =>