You can also use the register in the Purchase Order module, named Purchase Quotation Requests. You can create this request record and then convert it into an actual purchase order when confirmed from the Create menu.
Hi, Paul.
Sounds like you're talking about REST API. And that your are overwriting data with older values if B managed to read record before A finished to update it. Classic conflict resolution ...