@KyleG-Shopify interesting. so we can add this to a draft order but not a normal order with orderCreate? Or is paymentTermsTemplates allowed in orderCreate as well.
Can you convert orders from Draft > Confirmed via graphQL? might be suitable if we can.
The orderCreate input doesn’t have this field. Typically orderCreate is used for a record of an order that is placed outside of the store so it couldn’t be put in to a state with active payment terms. If the order had terms, you could use one of the custom fields to add that, or set the transactions as pending if it hasn’t been paid yet.
Draft orders would be best for this. The draftOrderComplete mutation converts a draft order in to an order with the terms and pending payment. You can then use the orderCreateManualPayment mutation to mark the order as paid.
got it, is there a reason why orderCreate doesnt allow this?I guess from my point of view, we do a fair bit of marketplace orders (where they are net 30 accounts), and instead of a draftOrderInput then draftOrderComplete, it would be much easier to do this via a createOrder. currently we have to post a manual payment then rec in quickbooks. whereas if we could do this it would save that process step.
I can see how it would be useful on orderCreate to have that record more inline with draft orders. Can you share a little additional context on your flow where orderCreate would be easier? I’ll pass that on to our product teams.
We currently have several marketplace clients who have net30/net14 terms, so we have them set up as wholesale customers on B2B (as we are plus) with payment terms.
Currently:
Webhook > IPaaS > DraftOrder > Order
IPaaS is our server that gets the payload and processes it to allow the payload to be DraftOrder
DraftOrderCreate Is the order we need to create to get the defered payments.
Order is the mutation we need do to convert from draft to order. (we would catch the response from DraftOrderCreate and then send a second call)
The problem with this is that it makes managing draft order (that we also use for actual draft order) really hard as we effectively have these draft orders sitting there after the fact (as that is the draft order process).
Ideally:
Webhook > IPaaS > OrderCreate
Single Payload to OrderCreate with defered payment within
This would reduced the amount of records by 1x (as we would no longer need to create draft orders for these), as well as reduce our API usage by 1x (as we would no longer need to have the second call for the mutation to convert the draft to an actual order). Apart from that, it will make it easier to manage draft orders as we would have less helper orders (ones that are created just to facilitate the Defered Payment).
I think additionally, it would help standardise payment options across all orders irregardless of source (draft / order)