Hi,
I’m seeing what looks like a gap in the B2B draft order experience and wanted to check whether this is expected behavior.
We have a client that wants staff users to create draft orders on behalf of B2B customers.
Our setup is:
When a staff member creates a draft order in admin, adds the customer, and selects the relevant company location, the pricing appears to be resolved correctly from the catalog assigned to that company location.
However, when searching for products to add to the draft order, the staff member can still search for and add products that are not included in that catalog.
So from what we can see:
This is problematic, because it means staff can create draft orders containing products that the B2B customer should not be allowed to purchase through their assigned catalog.
My questions are:
-
Is this the expected behavior for B2B draft orders in Shopify admin?
-
Is there any way to restrict staff so they can only add products included in the catalog(s) assigned to the selected company location?
-
If not, is support for this planned?
Kind regards,
Frederik
1 Like
Hey @Frederik_Gadegaard
Catalog pricing is respected in draft orders, but the product picker doesn’t filter by catalog product availability. Staff can search for and add any product regardless of what’s included in the assigned catalog. This is the current expected behavior.
From the API side, the draftOrderCreate mutation works the same way. You can pass any variant ID in the line items and it won’t validate against the catalog assigned to the company location. So there’s no built-in enforcement at either the admin UI or API level.
That said, if you’re building a custom workflow, you can query the catalog’s product list programmatically. Each CompanyLocation exposes its associated catalogs, and each catalog has a publication that defines which products are included. You could use that to build a pre-validation step before creating the draft order via the API, essentially checking whether a product belongs to the catalog before adding it.
There’s no native setting to restrict the product picker by catalog in draft orders today so I’ve gone ahead and submitted this as a feature request on your behalf. The more a specific feature is requested by our merchants and partners, the more likely it is to be considered for future development by our product teams so hopefully this can be added soon!
1 Like
On a related note, or to add to this issue: is there a plan to include minimum order quantities when creating a draft order for a customer? Sales reps need to be able to know what the minimum order quantities are for the customer (based on their catalog) when creating Draft orders. When a catalog has thousands of SKUs, it’s hard for them to remember the MOQs.
1 Like
Good point, @javiercenteno! I’ve passed this feedback along to the product team internally alongside the catalog product filtering gap Frederik raised. Worth keeping an eye on the developer changelog and general changelog for future updates to B2B draft order behavior.