We run a marketplace app. When a customer buys on the marketplace store, we charge them there, then create the matching order in the vendor’s own Shopify store so the vendor can fulfil it.
Today we do that with draftOrderCreate followed by draftOrderComplete (paymentPending: false). The prices and shipping line come from the marketplace order, in its currency (presentmentCurrencyCode).
Some vendors use Managed Markets. When the shipping address is in one of their Managed Markets markets, the completed order:
- gets
merchantOfRecordApp: { name: "Managed Markets" },taxesIncluded: true,dutiesIncluded: trueand theglobaletag - shows VAT as “included” in the price we sent
- causes a “Duties, taxes and cross-border fees deduction” on the vendor’s Shopify Payments payout
The order hence go through the Managed Market and the store get charged for “Duties, taxes and cross-border fees deduction” which is unexpected.
Questions:
- Can an app choose the merchant of record on a draft order, or exclude it from Managed Markets, through the Admin API?
DraftOrderInputhas no such field (checked in 2025-07, 2026-07 and unstable). This thread says it can only be changed in the admin. Is that still true, and is an API field planned? - Does Managed Markets apply to orders created with
orderCreate, or only to checkout and draft orders? IforderCreateorders to a Managed Markets country are left alone, is that behaviour guaranteed? - If neither is possible, what do you recommend for a dropshipping app whose orders are already paid elsewhere?
- Is there a way to tell from the API, before completing the draft, that it will be handled by Managed Markets?
draftOrderCalculatedoes not seem to expose this.
Thank you!