Skip ahead to 


Training Video





A customer who purchases auto parts pays a core charge for certain remanufactured parts if requirements are not met for the return of the replaced part, also called a core. The parts seller or the car repair business includes the core charge on the final invoice sent to the customer, which could be the car repair shop that ordered the part or an automobile owner in for repairs that required the part. Parts sellers and repair shops use a process for invoicing the core charge that includes a grace period for returning the part.

WSM is enabling the collection of core charges through a feature called "Product fees".

What product fees are NOT

This feature is labeled "product fees", but it may not behave in ways that you might expect with such a generic name. Remember that this enhancement was primarily added for a way to support core charges (as mentioned above), but could be cracked open a bit more with future work to support a larger set.

  • Product fees are NOT optional. If a fee is attached to a product, it's required for that product.
  • If multiple fees are defined on a product, customers can NOT choose which one they want to pay for.
  • Product fees cannot be assigned as non-taxable.
  • You must issue product fee refunds through your payment gateway. 


Enabling the feature

Submit a Service Desk ticket to request the feature. If a fee is required you will be sent an agreement to sign before the feature will be enabled.



Clients have the ability to manage these additional product fees on each product.

Rules / guidelines

  • To remove/delete a fee, click the red "X" icon and save the product.
  • To add a fee click the Add Row button
  • The "Fee label" will display as a prefix on the product name when it appears in the cart and on an order.
  • The "Return first label" will display as a suffix on the product name when it appears in the cart and on an order.
  • Product fees will be included in sales tax calculation (if applicable)
  • If your site uses any order related integrations (like Kount of Affirm), you MUST assign the product fee a Stock #. 



The following is a list of different interactions that a customer will have on the site in relation to product fees.

  • Viewing products with fees:
    • Additional fees will be displayed below the product title, including the price.
    • These fees are required, and cannot be removed or avoided by the customer.
  • Viewing products with fees that have Return first enabled:
    • Checkbox will be displayed and the customer can choose whether or not they want to return the product first.
    • Checking the box will reduce the product fee price to $0.00 (even if set to any other value). The client/company will not ship the new product until the original one is returned to them.
    • Not checking the box will keep the product fee at the stated price. The client/company will immediately ship the part and it will be up to to the customer to return the original part for a refund of the fee.
  • Adding multiple quantities from the product details page:
    • Items are kept grouped together with their entered quantity, per submission. If the customer adds qty=1, the product + fee will appear in the cart. If the customer then adds another qty=1, the product+fee will appear a second time in the cart (and not as qty=2 for both). This is done because the system treats each of these submissions uniquely, and cannot add quantities as a product+fee group with other existing product+fee groups. This is different than simply increasing/decreasing the qty of a product+fee group directly in the cart.
  • Adding product+fee to the cart but with a different "Return first" selection:
    • If the customer chooses qty=3, qty=3 will show in the cart. If the customer then adds another qty=3, a second qty=3 will show in the cart – NOT qty=6. This is done to reduce the complexity of handling cases where the customer chose Return first=YES for the first submission and Return first=NO for the second submission. 
  • Changing quantities from the cart page:
    • Quantity changes are only allowed on the primary product. If the quantity on the primary product changes, quantities on the fees follow in parallel/sync.
  • Deleting products from the cart page:
    • Deleting a primary product will remove all associated fees.
    • Product fees can NOT be deleted directly.
  • Moving products between cart/wishlist:
    • Moving a product from cart → wishlist or wishlist → cart will also move the associated fees.



Product API

Product fees are surfaced through the Product API. A product will have a new fees element that looks like the following:

        <feeLabel>Supplies fee</feeLabel>
        <returnFirstLabel />
        <feeLabel>Core charge</feeLabel>
        <returnFirstLabel>Return first</returnFirstLabel>

Order API

Product fees are available through the Orders API, but will appear like any other custom product.

  • The "Return first" selection is indicated by the label that's suffixed to the product name. This is how the fee is inserted into the cart and is then subsequently represented the same in the order.
    Example: "Core charge - 250 Amp OEM Alternator - Return first"


Product fees can be imported with the following format:

Import Field: Fee

Compound Delimiter: > (greater than symbol)

Multi-value Delimiter: ; (semi-colon)

Spreadsheet column content: amount>fee label>stock#>allow return first>return first label


  • All Fields populated: 10>Mandatory Core Charge>CC10>1>I will return fist
  • No Stock #: 10>Mandatory Core Charge>>1>I will return fist
  • Amount and Fee Label Only: 10>Mandatory Core Charge>0>>