Custom product specs get lost in B2B checkout. Here is how to fix it.
TL;DR: Custom product options (dimensions, cut sizes, personalization notes) entered by your customers must survive the entire B2B checkout flow. If they don’t, your warehouse gets an order without the specs it needs to fulfill it. This update fixes that gap for Shopify stores using draft-order-based B2B checkout.
Here’s a scenario that plays out more often than merchants realize. A buyer configures a product: height 2400mm, width 960mm, left-hand hinge, white oak finish. They add it to cart. Everything looks correct.
Then they go through a B2B checkout flow. The draft order gets created, payment goes through, and the order lands in Shopify admin. But when the warehouse opens it, the custom dimensions are gone. Just a variant ID, a quantity, and a price.
The product was “ordered.” The specs were not.
Standard Shopify checkout handles line-item properties natively. If a customer fills in a “Special instructions” field or selects a custom size, those values stick to the order.
Draft-order-based checkout is different. The app building the draft order has to explicitly read each cart line item’s properties and pass them into the API payload. If the implementation only sends variant_id, quantity, and price, everything else is silently lost.
No error. No warning. The order completes, the customer pays, and the data gap only surfaces when someone on your team tries to build or ship the product.
This is not a cosmetic problem. For stores selling configurable, made-to-measure, or personalized products, missing option data hits margins directly.
Business customers expect accuracy. One fumbled custom order can cost more than the sale itself.
The approach is straightforward. When creating a draft order from a Shopify cart, the checkout flow now:
properties object.The result: custom dimensions, notes, material choices, and any other line-item property your option app stores will appear on the final order in Shopify admin. Your warehouse sees exactly what the customer entered.
VO Product Options is one popular app, but this fix works with any product customization tool that writes to Shopify’s line-item properties. That includes apps like Infinite Options, Bold Product Options, and custom-built solutions.
If the data shows up in /cart.js under a line item’s properties key, it can be preserved through the draft-order checkout path.
One caveat: apps that store option data in cart attributes, order notes, or metafields instead of line-item properties use a different data path. Those require explicit mapping and aren’t covered by this update.
You don’t need to wait for a customer complaint to find out if your setup has this gap. Here’s a quick audit:
/cart.js in your browser. Check the line item’s properties array. All your option values should be listed there.items[] entry includes the properties you expect.If the properties appear in cart but are missing from the draft order, you have a pass-through gap.
properties (not cart attributes or metafields)Run through this list once. It catches the failures that actually affect customers.
Product option data preservation is one piece of a reliable B2B checkout. It should sit alongside:
Tax correctness and product-spec correctness are not separate problems. If your B2B checkout handles one but drops the other, orders will still break.
Does this only work for dimension-type options?
No. Any value stored in line-item properties gets preserved: text fields, dropdown selections, checkbox values, file upload references. The logic is generic.
What about hidden or private properties?
If a property exists on the cart line item, it gets forwarded. Whether it’s visible in Shopify admin depends on the property’s naming convention and your admin setup.
Does this change anything for non-B2B checkout?
This update targets the draft-order-based B2B flow specifically. Standard Shopify checkout already handles line-item properties natively. But the same data-continuity principle applies everywhere.
Can VAT metadata and product options exist on the same line item?
Yes. The implementation merges both sets of properties cleanly. VAT compliance data and product customization data live side by side without collisions.
For merchants selling custom products through B2B checkout, “the order went through” is not enough. The real test: did every dimension, every note, every configuration choice entered by the customer make it to the line item your team uses to fulfill the order?
That’s what this update guarantees.
Install EU Tax Exemption for Shopify
Need help verifying that your custom product options survive the full checkout path? Get in touch.