Missing invoice_state "posted" on sale module is intentional or not?

Hi guys,

i was checking on sales with invoices always have waiting status, but when i saw code missing “posted” status on “invoice_state” field. That is intentional or not?


I supose you want to now if the sales invoice has been posted (thus is waiting for customer payment) or it’s still in draft waiting the accountant to post it and deliver to the customer.

This posted state is easy to determine when there is only one invoice for the sale but in case of multiple invoices when it will be posted? When all the invoices are posted or only when one is posted?

More over it is not really the responsibility of the salesmen to ensure posting invoices but of the accountant. And the accountant has a view to see all draft/confirmed invoices waiting to be posted.

Hi @pokoli,

waiting status in invoice would mean that the invoice is waiting to be posted, but if we say that the status of the invoice is posted then we would say that the client has not paid it. I think it would be interesting to be more explicit with the invoices states in sales.

that is right, when you have one invoice is easy but when are two or more then that task is hard by salesman to determ, but if he have real status would have a fastview even from tree view.

Hi @ced , a good salesman keep track of your sales, and more when they gain comission by posted or paid invoices depending specific cases but if he think that invoice not was posted then are bad news for him.

1 Like

But he can not do anything about that so it is pointless.

Len Silverston on The Data Model Resource Book Volume 1 says:


Even for a normal sales process where the seller is the one who handles the entire process, it is somewhat complicated but, and if it were a situation like this where several people manage the process:

That does not invalidate the Tryton design. It does not say that all the status of the invoice should be pushed back to the sale order.

Probably the invoice state could change to “posted” when all the sale lines are invoiced and posted. That would be a good indicator to salesman.

Difficult to figure out what you mean.

that is idea that i’m presenting. @jeromarquez, improve invoice status indicator on sales

I’m not saying that the Tryton design is invalid, I’m just saying that the presentation of the states can be improved

I see no rational for that. The invoice state is a problem of accountant not salesmen.
And if a salesmen really want to have proper information about invoicing, he can open the invoices.

I see no improvement but only increase of complexity.

Jeje, sorry about that. I’ll try do it better.
At this moment the Invoice State of the Sale reamains Waiting until all the Invoices of the Sale get paid. When all the Invoices of the Sale get paid the Invoice State of the Sale changes its value from Waiting to Paid. Probably a better way to do it its to also show when all the lines(*) are Invoiced and Posted so you know the sale is “ready”, so you just need to wait it to be paid. Some times a long time after the sale. Just at that moment the sale is Finished. Now you have no idea if the Invoice is posted or it remains already in Draft or something like that.
Just my two cents.

(*) Doing form lines has no conflict with sales with more than one Invoice.

1 Like

Ok, it was about Invoice State of the Sale and not state of the invoice. Clear now. Thank you.

thanks @jeromarquez an excellent explain

This is too simplistic and does not cover all the use cases. You can have multiple invoices with many different states etc. The current state computation is already too much complicated.
But reducing complex setup to a single state will just provide more confusion to the user. Especially if we reuse the name of a state of the invoice.
If a user wants to know the state of each invoices of a sale, he just has to open them.

Indeed I think we should remove the ‘paid’ state because it has nothing to do for the sale. It should be replaced by ‘invoiced’ which is set when all invoices has been posted or paid.

I would prefer this feature:
When an action is made, it creates pending actions according to the workflow (actions which require to be completed). I think we might have a list of pending actions generated by this action.
Example for sale: when a sale is ordered, it generates pending purchases, pending moves, pending production, pending invoices, pending shipments … Wouldn’t it be useful to just get the list of pending actions ?
When process is completed, the list is empty.
my 2cts

This is exactly what we would like to see.

I don think so, it’s also a good information for salesman. But I think you are proposing it to be checked by the Done state of the Sale.

I just would summarize the Posted state to the actual way of working.
Just my opinion.

But there is not action to do on a sale once it is confirmed.

Please provide a use case?