Status "exeption" of invoice and shipment

Hello everybody,

with one point in tryton I repeatedly get into trouble - cancellation of orders and invoices. Most likely, I didn’t really understand the underlying concepts.

By now, I have “undead” positions in my setup I cannot get rid of:

one is “invoice state: exception” and “shipment state: Sent”
one is “invoice state: exception” and “shipment state: exception”

What does “exception” really mean - and how can I get rid of these entries?


I’m guessing that you are talking about on sales orders?

If so, this may of help: Handling shipment and invoice exceptions.

1 Like

:cold_sweat: I seem to understand in tryton much less than I thought…
At present, I cannot find one single wizard in my menu. There is a long list of wizards in the menu under

Administration > UI > Actions > Wizards

but how would I use them?
Sorry, I really feel stupid with this question, but all my trials failed…


The wizards you are looking for are available as button on the sale/purchase.

You will see a “Handle Invoice/Shipment button” on each sale that has an exception state.
Take care that the button will be hidden if there is no exception to handle :wink:

Allright - understood. Actually, I used these buttons several times, but the result causes reactions I do not understand. I’ll try to explain, but that’s really confusing, as I do not really know what’s happening and where I have to go to.

I created an invoice, noticed a severe mistake and tried to cancel it.

This is how sales look like now:

It looks as if invoice and cancellation balance each other. But why do they not disappear from “processing”?

These are invoices referring to the sale:

One is in the status “draft” - but whenever I delete it, it will reappear.

And these are shipments:

Guess this is not so serious - and just creates wrong stock numbers in the warehouse. True?

Sorry I’m creating such a mess - but I tried as good as I could…


The key thing to understand is that a sale’s purpose is to manage the selling process and one part of this is to create the invoices and shipments at the right time.

Whenever the sale is processed (which is triggered automatically by various actions on things related to the sale, but can also be done manually by pressing the Process button on the sale) the sale will look to see what invoices, or shipments need creating. This means that if you delete a sale’s invoice or shipment, then when the sale is next processed it looks like that invoice or shipment doesn’t exist, so the sale creates it, which causes:

To get round this you should cancel the invoice or shipment. Then as it is still there it won’t get recreated.

However, if you cancel an invoice or shipment the sale doesn’t know whether you’ve done this because you no longer want to invoice or ship it, or because there was a problem and you now need the invoice or shipment recreating.

So the sale’s invoice or shipment state goes into an Exception state, until you tell it which of these two things you want it to do. This is what the Handle ... Exception buttons are for.

One important thing to be aware of is that when you click on these buttons all the items to recreate are already selected by default, so you must deselect them if you don’t want them recreating.

So, if it was just the invoice that you wanted to cancel you should have been able to do that by:

  • cancelling the invoice
  • on the sale clicking on the Handle Invoice Exception button
  • deselecting the invoice (you may have to hold down Ctrl when clicking on it depending on what client / os you are using)
  • clicking on the OK button to finish handling the invoice exception.

However if it was the entire sale you wanted to cancel, then you would also have needed to cancel the shipment too.

So, if you don’t want to invoice or ship sale 52 or 67 and you want them to become done you will need to:

  • cancel all the outstanding invoices and shipments for both sales
  • on each sale handle the invoice and shipment exceptions, making sure that you deselect the items to recreate when running the wizards - so they don’t get recreated.

You should then find that both sales move into the done state.


Very many thanks to @dave - again and again. With an online session, we could resolve my problem. Even so, it was not so easy (especially for him) - and here comes my thought, that a certain UI design decision may make cancelling invoices and deliveries more complicated than it has to be.

To me, even after hours of trial, it was no bit of obvious, that in this window:

Bildschirmfoto von 2021-02-15 15-11-46

items are selected by default and need to be deselected, and I could even not understand Dave’s written explanation.

So my suggestion is

  • let’s add a few lines of explanation in that window, saying “if you want to delete the invoice/delivery, de-highlight the lines in question” - “else keep them highlightened”
  • to make it obvious to the user that he can select or deselect items (I was very surprised to find that functionality and Dave had a hard time to push my nose onto it…), we could eg use checkboxes instead of just highlightening items.

Thank you so much, Dave!

I remember having to discover the same thing when I first used the handle exception wizards.

I think sometimes the client / desktop theme doesn’t help make it clear that the list of lines can be selected or deselected.

Another unhelpful thing is the fact that often you need to hold down a modifier key to deselect a line. So if the list only has a single item in it then clicking on the item does not change its selected/deselected state.

I don’t really think that it is feasible to add checkboxes to the lines (although I may be wrong) because the list of lines is done using a multi-selection field.

I think it would be possible to improve the message at the top of the handle exception windows so that it is more obvious that the lines need to be selected / deselected as required.

For this I have created Issue 10112: Make it clearer that lines can be selected / deselected on handle exception wizards - Tryton issue tracker

1 Like

I did my first cancellation of an order totally on my own - and I’m a little proud I succeeded with it. (((-;

When I now look at the sales’ list, I see the status “done” - as it’s the case with the other cancellations. To me, this looks a little confusing as well - as it has the same status as sales which actually were carried out. Is it possible (and sensible) to use another expression here? - “Cancelled” for example? - And the same for “invoice state”? - That would help a simple mind as mine to get a quick overview.


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