What is the difference between the Old and New Draft Order API logic?

Modified on Wed, 30 Sep at 2:14 AM

Hulk Product Options uses Shopify's Draft Order API to charge customers for add-on options such as custom prints, upgrades and gift wrap. The app has two ways of building the draft order.

Old Draft Order logic (separate customization line item - Default)

The main product and the option charges appear as two separate line items in checkout and in the order:

  1. Main product at its original price, with the selected options shown as line item properties.
    Example: T-Shirt – Blue – $30.00
  2. A separate custom line item for the total add-on cost, named "Customization Cost for [Product] - [Variant]".
    Example: Customization Cost for T-Shirt - Blue – $2.00, showing "checkbox: c2-charge [ $2.00 ]"

The customer pays $32.00 in total, across two lines.

New Draft Order logic (merged into the main product)

The add-on cost is merged into the main product's line item, so the customer sees a single line:

  • T-Shirt – Blue – $32.00, with "checkbox: c2-charge [ $2.00 ]" shown as a line item property

The total is the same, but checkout and the order summary are cleaner, with no extra "Customization Cost" line.


Which one should I use?

Old logicNew logic
Line items per product2 (product + customization cost)1 (merged)
Product price shownOriginal priceOriginal price + add-on cost
Add-on cost visibilitySeparate line with its own priceShown only in the line item properties
Option value weightCounted (on the custom line item)Not counted
Checkout lookBusier, with an extra line and no product imageCleaner, a single product line


Limitations:

Old Draft Order logic

  • An extra line item without an image appears in checkout, order confirmations and the admin, which some customers find confusing.
  • The customization line is a custom item, not a real product. It has no SKU, no inventory tracking and no product link, and it shows up separately in sales reports.
  • Discounts limited to specific products or collections won't apply to the customization line.
  • Fulfillment, invoice and 3PL apps may treat the customization line as a separate item to fulfill or print.

New Draft Order logic

  • Weight added to option values is not counted. The option properties are merged into the main product's line item, so no separate add-on item is created. Shopify can only carry extra weight on a separate add-on item, so this is a Shopify limitation that the new logic can't work around. Shipping rates are calculated on the main product's weight only. If your shipping rates depend on weight added by options, use the old logic or build that weight into the product or variant weight. 
  • The line item price differs from the product's catalog price. Reports attribute the full amount, add-on cost included, to the product, so customization revenue can't be seen separately.
  • The breakdown of the add-on cost is visible only in the line item properties, not as its own price.


Both logics

  • Pricing is applied through a Shopify draft order, so the customer checks out through the draft order's invoice checkout rather than the standard cart checkout.
  • Draft orders that aren't paid stay in Shopify Admin > Orders > Drafts until they're completed or deleted.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article