How to allow customers to use their own shipping service?

tlever
New Member
1 0 1

You could create a custom field in the cart called something like "Customer Shipping Account Info" in order to capture their info. Is there the ability to have them choose between your shipping and their shipping on any order though? And if they choose their shipping, it removes your shipping calculation from the total.

 

Instructions for creating a custom field in cart are here.

sommerflyoffice
Tourist
3 0 2
That would work to get shipping info at checkout, but I don't think it can
actually be shipped through Shopify system using third party or alternate
accounts.
We were hoping to run all orders through Shopify, and drop our current
shipping management software.
0 Likes
ogeid
Excursionist
35 0 10

Hello Community,

I was looking for something similar. 

A "shipping option" that works like the "local pickup", but instead says: "Use your own freight account" and then asks for Carrier Name, Account number and preferred service.

It doesn't need to give the customer any cost estimate, it would simply be a "$0" option. The charges should than appear on the customer carrier bill.

Regards, Diego

ogeid
Excursionist
35 0 10

Hello All,

I'm coming back to this thread, in the hopes someone has a better solution and to share ours.

Our website: https://karanandassociates.com/ is a B2B website and many of our customers have better freight rates, so we want to allow them to use their own account.

We added some custom fields to the cart to collect the customer accounts and the customer can then select a "free" shipping option (see screen shot). 

In theory this works great, but the cart fields and the checkout options are not linked. I.e. customers can select the free option without providing their shipping account, or they provide the shipping account and then select a "paid" shipping options in the checkout.

I looked into making changes in the checkout versus the cart page, but that only seems possible with a Shopify Plus subscription, which is very pricy.

So, I'm very curious if you figured out a solution.

 

Here's a screenshot of how the additional fields in the cart show up: 

cart1.png

 

And this is the free "use your own shipping account" option in the checkout. Ideally this would be the place where we'd like to ask for the shipping account, instead of the cart page:

cart2.png

0 Likes
PM28
New Member
1 0 0

@ogeid - I'm curious, how are you capturing the shipping information from your B2B customers so that it can be used within the fulfillment? 

0 Likes
CoolErin
Tourist
4 0 1

Did you use an app to add this custom field or something else?

0 Likes
ogeid
Excursionist
35 0 10

@PM28 : It shows up in the additional detail under the notes on the order screen.

 

addtional details.png

0 Likes
ogeid
Excursionist
35 0 10

@CoolErin : You can use the Shopify UI Elements Generator: 

https://ui-elements-generator.myshopify.com/pages/cart-attribute

No app is needed, but you will need to copy&paste the code to your site.

0 Likes
Ronald321
Tourist
8 2 0

Thank you @ogeid so much for this! Figured I'd add in the code here to make it easier to copy/paste. I added this right above the  <div class="cart__buttons-container"> for the cart template.  This will help us greatly as we do LTL shipments and many of our customers have their own shipping accounts as well.

 

 <div style="display: none; background-color: #ebebeb; border: 1px solid black; padding: 5px;" class="shipping-options-box" align="left">
              
              
             <p class="cart-attribute__field" align="left">
               <input type="hidden" name="attributes[Do you need a Liftgate?]" value="No">
               <input type="checkbox" name="attributes[Do you need a Liftgate?]" value="Yes">
		      <label>Do you need a Liftgate?&nbsp;&nbsp;</label>
            </p>
              <p class="cart-attribute__field" align="left">
                <input type="hidden" name="attributes[Notification Before Delivery or Limited Access Delivery Location? ]" value="No">
                <input type="checkbox" name="attributes[Notification Before Delivery or Limited Access Delivery Location? ]" value="Yes">
              <label>Notification Before Delivery or Limited Access Delivery Location?&nbsp;&nbsp;</label>
            </p>
              <p class="cart-attribute__field" align="left">
                <input type="hidden" name="attributes[I want to use my own shipping account]" value="No">
                <input type="checkbox" onchange="showHideMyShippingOptions(this.checked)" name="attributes[I want to use my own shipping account]" value="Yes">
                <label>I want to use my own shipping account</label></p>
            
				<div id="MyShippingOptions" align="left" style="display: none;">

                  <label>Carrier Name</label>
                    <select id="carrier" name="attributes[Carrier]">
                      <option disabled="" selected="" value=""> -- select a shipping carrier -- </option>
                      <option value="FedEx">FedEx</option>
                      <option value="UPS">UPS</option>
                    </select>

                  <label for="carrier-account-number">Account Number</label>
                  <input id="carrier-account-number" type="text" name="attributes[Carrier Account Number]" value="">

                  <label for="shipping-method">Shipping Method</label>
                  <input id="shipping-method" type="text" name="attributes[Shipping Method]" value="">
                </div>            
              
              <script>
                function showHideMyShippingOptions(checked) {
                  if(checked) document.getElementById("MyShippingOptions").style.display= "block";
                  else {
                    document.getElementById("MyShippingOptions").style.display= "none";
                    document.getElementById('carrier').value = "";
                    document.getElementById('carrier-account-number').value = "";
                    document.getElementById('shipping-method').value = "";
                  }
                }
              </script>
            </div>

 

0 Likes