Canceling an invoice is basically a complete cancelation of an existing invoice. It is illegal to cancel or change the invoice. If an invoice has to be canceled, the credit note would work in most cases. A credit note is a legal document that is used to ' pay ' the invoice so that it is not overdue. However, there may be some situations where canceling is necessary.
Suppose the invoice is issued but the customer does not make a payment. In that situation, you can send a friendly email or make a polite phone call describing the mistake, after that you can issue a new invoice. Take another example in such a way that the invoice already sent has some kind of mistakes. In this case, the invoice canceling is a must.
Normally what happens is creating a credit note or refunding and reconciling etc. With these options, if the customer already paid the ‘paid’ status won't change to ‘canceled’ status. They just cancel the Invoice or Bill by making a Credit Note that reverses and eliminates the effect of the initial Invoice or Bill.
Odoo will not allow you to edit or update a validated invoice. Since accounting entries are recorded in the journal entry too, a cancelation of invoice will affect the journal entry.
Then what about canceling an invoice even after validating, you found a mistake or wrong entry?
Till Odoo 12, there was a module called the account_cancel module in Odoo Apps. This module provides an add on feature to delete the invoice. On installing account_cancel module, it provides a checkbox to allow canceling entries in the journal. So while creating an invoice, on enabling the checkbox ‘Allow Cancelling Entries’, you can cancel the invoice. Else you will get a warning message that you can’t cancel the invoice.
Let’s discuss how canceling of an invoice differs in Odoo 13.
In Odoo 13 the ‘account_cancel module’ is removed and the functionality of the account_cancel module is merged to the core accounting module.
Create a sample invoice, Accounting >Customers >Invoice >Create. Post it and send it to the customer.
Thus the invoice is in posted status. From here itself you can move the posted invoice back to the drafted stage by simply clicking ‘Reset To Draft’.
If you want to cancel the invoice, click on ‘cancel entry’. Thus the invoice is canceled before validating.
Now consider another situation in which a customer invoice is created and sent. Later registered the payment and validated, thus a ribbon widget PAID can be seen.
After validation one can find an option ‘RESET TO DRAFT’ option appear in the posted invoice. This is enabled because of the changes applied in the core of Odoo 13. On clicking ‘reset to draft’, the invoice changed back to draft state and another option will appear ‘CANCEL ENTRY’.
Now you can cancel the invoice by clicking on ‘cancel entry’ and check the journal entry. You can see the status as cancelled.
If the invoice has some existing payment, Un-reconcile them before cancelling. Let consider another invoice having some payment to un-reconcile.
Select journal entries and un-reconcile them first. Then you will get a notification to unreconcile entries.
Click on UNRECONCILE. Now you can cancel both journals and invoices.
This is how an invoice is canceled in Odoo 13.