It appears that this is relatively straightforward to implement. Update the controller here (and a couple lines above) to listen for customer ref
github.com/odoo/odoo/blob/18.0/addons/sale/controllers/portal.py#L282
Send the correct data from the UI
https://github.com/odoo/odoo/blob/4fb8c7240d0a8e39b8e65705320362f63df5b25c/addons/portal/static/src/signature_form/signature_form.js#L77
Add the field
https://github.com/odoo/odoo/blob/4fb8c7240d0a8e39b8e65705320362f63df5b25c/addons/web/static/src/core/signature/name_and_signature.xml#L42
...and add a handler to grab the field data
https://github.com/odoo/odoo/blob/4fb8c7240d0a8e39b8e65705320362f63df5b25c/addons/web/static/src/core/signature/name_and_signature.js#L233
The trouble is this crosses like 3 different modules, I am normally a node dev, not sure the best way to actually make these modifications - I assume it is not best practice to just edit the files in place.
Any pointers on how to modify these modules?
Thanks
Thanks! I did see that, but what I want is for the customer to be able to enter their own PO number themselves when they approve the quote.
The parts of Odoo best suited to customization are those that allow you encode the parts of your business processes that you see as a competitive advantage, where you can be sure of a positive return on investment for the tech debt you create.
We have close to 100,000 Users a month using Odoo on our "standard" plan which allows no customizations - if they can manage their Purchasing without what you want, then so can you.
You will probably find most Users don't want to enter the PO themselves, they just want a price quickly and will normally ask for a specific PO if they know that in order to get the order approved on their end they will need to generate a PO for it.
Focus on changes that bring real business value. More often than not, these are things that surface after the day to day Users of Odoo become proficient at the tools. Given the space to improve processes, they suggest (and sometimes even implement) very creative improvements. This happens AFTER they gain domain knowledge in the tools AND have repeated enough transactions in Odoo to understand both where in the process they are being inefficient as well as all of the edge cases that would need to be accounted for.
Odoo is "good enough" at everything it is designed to do. Closing the gap and making it "better" is neither as simple as it seems or as effective as many people predict. It is costly to change the system, it adds risk, and end users act in ways that are often unpredictable to process designers.
The time to make changes to Odoo is when your Users tell you "I've done this 100 times and I am sick to death of having to click twice in step 7". THEN you will know how to make things "better".
Unhelpful answer, my question was not asking about whether this is a competitive advantage for my business, it was "how do I do this". If it is not possible just say so, if you don't know how that's fine too, and if you don't feel like telling me how, then I will wait for another user.
For a certain subset of my customers, they are not allowed to purchase my services without providing a PO number. This is not about convenience it is about compliance.
The Odoo Users who are creating Quotations already have the ability to enter a PO number and remain compliant.
Good luck with other answers that may be more helpful.
Perhaps your understanding of how well Odoo "already" works with no changes will develop over time - welcome to the Community!