We, like many farms, contract an agronomist to provide us with advice and guidance on the seeds and chemicals that we put on our fields. He, or rather his company, also supply many of those seeds and chemicals. The process runs something like this:-
1) He looks at the growing crops (and our plans for them, and soil maps and last year's yield maps and advice he is getting internally on disease pressure) and comes up with a Plan. This plan involves us doing something to the land and (usually) some chemicals.
2) The plan is turned into two things, a set of tasks for our tractor drivers to perform (usually in the form of an ISOBUS-XML file or its proprietary equivalent) and an Order for chemicals.
3) He passes the Order to us (I suppose this is the Order equivalent of a Self Billed Invoice) and the chemicals are dispatched to us.
4) A Delivery note is delivered along with the chemicals
5) If we decide not to do something - the weather might change and we can not get onto the land to do it in time, some of the chemicals might be returned and they will issue a Collection note.
6) An invoice is issued and from there on all is as one would expect.
The question is how to map the Order from step 3 onto UBL. I suppose it could be represented as a Quotation that we would then have to turn around into an Order and send to them, but their processes assume the Order is placed immediately when they generate it. Their returns policy, which is quick and efficient, makes it work where otherwise it might be open to miss-use. I suppose the possible conclusion might be that we need (and obviously this could not be a 2.2 issue it would have to wait for 2.3) a SelfGeneratedOrder,
or the rules and the flow diagram in 126.96.36.199.1 for an Order need to be extended to say that either end can generate it, but presumably if generated by the vendor then it should at least be accepted by the buyer before being "official".
As it happens the Order arrives in our arable management system electronically
but in a totally proprietary form, and we then can export it in an XML form
to our accounting system.