Odoo Help

11 Answers
--Qutechs, Ahmed M.Elmubarak--

Qutechs, Ahmed M.Elmubarak
11/3/16, 2:23 AM

Hello Again Noah :)

Actually the invoicing date takes the 'current date of pressing the create invoice button' and you can check this here in the wizard 

and this will be passed cross multiple functions starting from here. So to solve this you can change the value of this field 'invoice date' to the SO's date. Or you can modify the function that creates the invoice which you can modify the create dict from here 


Try to update this line to be as:

'date_invoice': order.date_order or order.create_date or context.get('date_invoice', False),

Hope this will give you some clues ...

Noah Alama
11/3/16, 2:42 AM

Hello Ahmed, thanks so much for answering my question. I do understand what you are talking about, but my Python skills are non-existent! Can you please give me lines or pieces of code to change, that would help me a lot.

Just tell me what files to change on my Odoo server, thanks a lot for all your efforts.

Qutechs, Qutechs, Ahmed M.Elmubarak
11/3/16, 3:19 AM

Hi, Actually I'vn't Odoo 8 instance right now , I'll try to update my answer later on when it is available ... /

Noah Alama
11/3/16, 3:26 AM

Thanks a lot for your very valuable help, I was looking at https://github.com/odoo/odoo/blob/8.0/addons/sale/sale.py#L205 in the hope of understanding where I can get the SO's date snippet, no luck, I have no idea where to start! :)

Qutechs, Qutechs, Ahmed M.Elmubarak
11/3/16, 6:29 AM

Hi, I've updated my answer. I'm still can't check this on v8, so check it and feedback :

Noah Alama
11/3/16, 7:35 AM

God bless you, it works :) :)

Qutechs, Qutechs, Ahmed M.Elmubarak
11/3/16, 9:12 AM

Glad that is works for you :)

11/2/16, 11:47 PM

You can change 'invoice date' before you validate an invoice

or try this on code
add this line in 'def _prepare_invoice' function>>invoice_vals ={}

ie in sale.py file line no between 237-250

'date_invoice': order.order_date.date()

Noah Alama
11/3/16, 1:07 AM

Yes, this would work, but I'm interested in an automatic solution, with as little human intervention as possible.

Noah Alama
11/3/16, 7:39 AM

Thanks for your help.

Budi Hartono
3/19/18, 1:58 AM

Hello Noah,

Your question was the same as my question, but I currently use Odoo 11. I'm grateful for having found the answer from this thread, so I want to share my solution (for Odoo 11.0) instead of creating a new thread.

What I changed in the code is the confirmation_date value, I see that if I change the confirmation_date, the generated stock picking scheduled date will also have the same value, and that is what I need in my case. Then the confirmation date value will be assigned to invoice date as well when I create an invoice based on that sales order. The line affected in the code file is https://github.com/odoo/odoo/blob/11.0/addons/sale/models/sale.py#L523

I changed the code from

'confirmation_date': fields.Datetime.now()


'confirmation_date': self.date_order

that's all.

Ask a Question
About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now