Using Trytond 5.0 there is a transactional queue. It seems that this queue is also used if you make a shipment. After the shipment, a task is handed over to the worker to create an invoice. Between the sale and the actual shipment were several months. In that time some changes were made in the data making the creation of the invoice impossible due to a domain error. Nobody got noticed that creating the invoice didn’t happen. Fortunately in the end it got picked up by administration.
The user doesn’t get any errors or warnings because the creation of the invoice runs in a separate worker / process. So it would be nice to send the user a notification or an email when there is an error. You know the user because the record has it. You can also dig through the logfiles but sometimes it maybe too late.