Shipping and Billing Address Problem (for orders where shipping and billing are different)

4 0 2

Greetings. We will have lots of orders where shipping and billing are different (bridal registry orders). The way that Shopify handles the customer billing/shipping address is causing problems.

By default, Shopify saves the customer’s last shipping address as their new default customer address. From what I can see there is not a way to save and preserve a separate “default billing address”

Problem 1

If “Shipping Address is Same as Billing Address” is default, this is a problem when customer’s ship to an address other than their own. The other person’s address is filled in the billing address by default. One of our order testers missed this, and the order went through with the wrong billing address. To add to the problem, if you change the billing name/address in Shopify, it changes the name and address on the customer’s account (even when they are logged in with their unique e-mail address). Our tester who put through the order with the wrong billing name/address had her account name changed to the other person’s name. She also received notifications addressed to the other person after this happened.

Problem 2

If “Shipping Address is NOT Same as Billing Address” by default, it is fine the first time the customer ships to a different address. The order will correctly have the other person’s shipping address and the account holder’s billing address. However, once the customer logs out and comes back to place an order for themselves, problems arise. Their default shipping address will be the last address they shipped to (the other persons). When they change the shipping address back to their own address at checkout, because “Shipping Address is NOT Same as Billing Address” is default in this scenario, they will end up with the other person’s name and address auto-filling into the billing address. Then, you end up stuck with the same problem as mentioned in Problem 1 above.

I've already opened a support ticket for this issue, but I am posting here in the hope that other merchants have encountered this problem and may know a work-around. Other e-commerce platforms allow customers to keep a completely separate billing address that is not affected by changes to the shipping address. I wish this was the case with Shopify. One of the customer service reps advised us to turn off customer accounts, but we can't because our bridal registry app requires customer accounts to be turned on. Any ideas or suggestions on how to approach this problem would be appreciated.



New Member
5 0 0

Did you get an answer to this from support?

New Member
1 0 1

I am also having similar problems with customers using our website to order products as gifts to send to a separate address. We are left with address details that are muddled and contact information that belongs to the recipient of the (often) surprise gift - which makes for a very awkward situation when we try to contact the customer to confirm their details and instead reach the person whom the gift is unknowingly for.

I really hope Shopify resolves this asap!

14 0 6

Hi Clare,

Adding our 2 cents worth to this issue. We also have a high percentage of orders go out as gifts and have the same problem that you have described. For us the issue occurs when the customer uses PayPal as their payment method. In a nutshell - the Billing details are overwritten with the Shipping details. The end result is that the order record transmitted to us indicates the child receiving the gift is the person who placed the order. We lose customer contact details, which causes all sorts of problems. We also have no way of knowing if billing information should be included with a parcel and have had to resort to never including receipts as a precaution.

There are other threads on this problem (we are not the only Shopify stores with this issue).  Out of the blue the problem corrected itself around 5 - 6 weeks ago (the miraculous fix also noticed by others). Unfortuatnley the correction was short lived - we had around 3 blissful problem free weeks and then BAM! the issue resurfaced and we are back to chaos.

I have spent hours on the phone/ email with both Paypal and Shopify. Both point fingers in the other direction. This problem really needs to be sorted. Shopify ??

6 0 3

I can't believe this hasn't been fixed after a year. It's a nightmare.

14 0 6

I am with you Josh Hutson - there is not a day that goes by where this issue does not cause us a problem.

6 0 3

Here is the response I received after a 2 hour chat session yesterday. I am still crafting my reply. I had to walk away for a minute. -----------

Karen B (Shopify)

Apr 4, 17:50 EDT 

Hey Josh!

Karen here again from Shopify! We were chatting earlier about how your customer accounts function and I wanted to reach back out with what I've learned :)

I can appreciate that this is a pain point for you - when there are so many things going on in your business, having the right name on the account is a small, but important, detail.

I personally reached out to my product development team to talk to them, and this isn't the first time they have received feedback around this. Currently, we don't have a direct fix within the admin. Once a different name is entered under the billing address, it changes the name associated with the customer. The same thing happens with Paypal, since Shopify pulls what is entered within Paypal for the customer name, under the same billing address which is associated with the contestant.

I know you had mentioned you didn't want the information to be included in the notes, there might be other options. There are also order and customer tags you might be also able to use, which would be easier to filter through.

Another option could be to assign the the contestants name in another section of the order, such as the second shipping address. You an view our Order object documentation to help edit your current registration form.

Another great option would be to work with a Shopify Expert to have this custom coded for you! Our experts are developers that are fully vetted by Shopify - so you know you’re getting the very best.

I appreciate this is something that's important for you and your business, and I have given this feedback to our team.

Thanks again for chatting in! If you have any other questions or concerns, or would like more clarification, please feel free to reply back and we can keep chatting. Hope you have a great day!


Karen - Shopify Guru

6 0 3

Here is the chat support transcript for reference. ----

Full chat transcript below. All timestamps in UTC timezone.

17:17 Brooke J: Hi! Brooke here from the Shopify Guru team - go ahead and type your question, I'll be right with you! :)

17:17 Josh Hutson: hello brooke

17:19 Josh Hutson: My customers are the children of the bill payer's. They are Contestant's. I need a way to have the Contestant's name be the actual Cutomer Name and not have it overwritten everythime a parent or a grandparent pays a fee for them. The billing address overwrites the cutomer name everythiime and it's causing a huge mess

17:20 Brooke J: Hi Josh!

17:21 Josh Hutson: And before you say use a Note field, that wont work

17:21 Josh Hutson: because no outside apps can query on it

17:22 Brooke J: Ok let me think about this a minute and poke around a bit to see if there is anything we can do.

17:23 Brooke J: Ok so the parent or the grandparent is purchasing the fee on behalf of the contestant, and you want to be able to track the contestants name, correct?

17:23 Josh Hutson: if you go to my register page you will see that i have reversed the Parent and Contestant names w/ the parent being the note field

17:23 Josh Hutson: that would work fine if it didnt get overwritten the moment an order is placed

17:23 Josh Hutson: Agent has disconnected

17:24 Karen B: Hey there! It seems like my colleague has disconnected - my name’s Karen and I’m a Guru. Just give me a quick moment to get caught up :)

17:24 Josh Hutson:

17:24 Josh Hutson: No problem Karen

17:26 Josh Hutson: what i need is to be able to create a real contestant[first_name] field

17:26 Karen B: Thanks so much for being patient here! I just received a message from Brooke - there is an app called Infinite Options, that would allow customers to enter the pageant persons name on the right on the product page. 

17:26 Josh Hutson: checking

17:27 Karen B: I have the link for you here:

17:28 Karen B: There is definitely an opportunity to have custom coding done - I see that you are using a SHopify theme. We could send your request along to our Theme Support to see if they could make this change for you :) As part of our [Design Policy]( you would qualify for up to 60 minutes of design time and this could be a perfect use for it!

17:28 Karen B: I'm not able to promise - but we could ask!

17:28 Josh Hutson: i don't need just a monogramming. They have to be accounts. From the first

17:29 Josh Hutson: id be down w/ the coding

17:30 Josh Hutson: I need what I have on my register page just like it is, but not w/ notes. Basically 2 fields added to the customer form

17:30 Karen B: Just to make sure I'm on the right page, when this form is being filled out - the Parent becomes the customer? [![alt](](

17:31 Josh Hutson: that's what's happening

17:31 Josh Hutson: ![Screen Shot 2017-04-04 at 12.31.29 PM.png](

17:32 Josh Hutson: That Josh Hutson at the top was Joshina Hawkins until i paid the registration fee

17:33 Karen B: Did you create the registration page through an app Josh?

17:33 Josh Hutson: there isn't even a record of the change so I lose the information immediately. 

17:33 Josh Hutson: no

17:33 Josh Hutson: i wrote the code

17:34 Josh Hutson: {% comment %}
This form must use 'create_customer'
{% endcomment %}
{% form 'create_customer' %}

{{ form.errors | default_errors }}

<label for="first_name">Contestant's First Name</label>
<input type="text" name="customer[first_name]" id="first_name" placeholder="Required- Contestant's First Name" {% if form.first_name %}value="{{ form.first_name }}"{% endif %} autocapitalize="off" autofocus>

<label for="last_name">Contestant's Last Name</label>
<input type="text" name="customer[last_name]" id="last_name" placeholder="Required- Contestant's Last Name" {% if form.last_name %}value="{{ form.last_name }}"{% endif %} autocapitalize="off">
{% comment %}
<label for="customer_address_first_name">Parent's First Name</label>
<input type="text" name="customer_address[last_name]" id="customer.address.first_name" placeholder="Required- Parent's First Name" {% if form.contestant_first_name %}value="{{ form.contestant_first_name }}"{% endif %} autocapitalize="off">

<label for="customer_address_last_name">Parent's Last Name</label>
<input type="text" name="customer_address[last_name]" id="customer.addresses.last_name" placeholder="Required- Parent's Last Name" {% if form.contestant_last_name %}value="{{ form.contestant_last_name }}"{% endif %} autocapitalize="off">

<label for="contestant_state">State</label>
<input type="text" name="customer_address[province]" id="customer_address.province" placeholder="Required- State" {% if form.province %}value="{{ form.province }}"{% endif %} autocapitalize="off">
{% endcomment %} 

<label for="email">Email</label>
<input type="email" name="customer[email]" id="email" placeholder="{{ '' | t }}" {% if form.errors contains "email" %} class="error"{% elsif %} value="{{ }}"{% endif %} autocorrect="off" autocapitalize="off">

<label for="customer type">Are you a Contestant or Advertising Sponsor?</label>

17:35 Karen B: So this is a custom coded page then? I'm sorry for missing the mark, but the custom coding by our theme team wouldn't be an option for this page as it isn't our code. It seems like there is something in the code that needs to pull the correct name for the Customer Account.

17:35 Josh Hutson: If the Billing address wouldn't change the name I could work with what I have. It's a pain, but it works

17:35 Karen B: Have you thought about working with an expert to work with the code and customize it further to better fit your needs?

17:36 Josh Hutson: No, all I did was add the Note feilds to the register template

17:36 Josh Hutson: I shouldn't have to pay someone to keep the Billing Address from overwriting the Default Customer name

17:37 Josh Hutson:

17:37 Karen B: So the customization was built off of this guide Josh?

17:38 Josh Hutson: yes. ignore the comment in the middle. I was hoping it woudl work, but obviously it won't

17:39 Josh Hutson: {% comment %}
This form must use 'create_customer'
{% endcomment %}
{% form 'create_customer' %}

{{ form.errors | default_errors }}

<label for="first_name">Contestant's First Name</label>
<input type="text" name="customer[first_name]" id="first_name" placeholder="Required- Contestant's First Name" {% if form.first_name %}value="{{ form.first_name }}"{% endif %} autocapitalize="off" autofocus>

<label for="last_name">Contestant's Last Name</label>
<input type="text" name="customer[last_name]" id="last_name" placeholder="Required- Contestant's Last Name" {% if form.last_name %}value="{{ form.last_name }}"{% endif %} autocapitalize="off">

<label for="email">Email</label>
<input type="email" name="customer[email]" id="email" placeholder="{{ '' | t }}" {% if form.errors contains "email" %} class="error"{% elsif %} value="{{ }}"{% endif %} autocorrect="off" autocapitalize="off">

<label for="customer type">Are you a Contestant or Advertising Sponsor?</label>
<select name="customer[note][Customer Type]" id="customer_type">

<label for="parents_first_name">Parent's First Name</label>
<input id="parents_first_name" type="text" name="customer[note][Parent's First Name]" placeholder="Required- Parent's First Name" />

<label for="parents_last_name">Parent's Last Name</label>
<input id="parents_last_name" type="text" name="customer[note][Parent's Last Name]" placeholder="Required- Parent's Last Name" />

<label for="contestant's birthday">Contestant's birthday</label>
<input id="contestants_birthday" type="text" name="customer[note][Contestant's Birthday]" placeholder="Contestant's birthday" />

<label for="contestant's state">Contestant's birthday</label>
<input id="contestants_state" type="text" name="customer[note][State]" placeholder="Contestant's birthday" 

17:39 Josh Hutson: The note fields just say "Required" they are fake required

17:40 Karen B: I can definitely appreciate it can be frustrating when something isn't working how you would like. As gurus aren't trained in coding, this is beyond what we can support. That said - since you used our guide to create the customization - with your permission - I'm happy to send it to our theme team for them to look at and see what can be done.

17:40 Karen B: I wouldn't be able to promise, but we can ask!

17:41 Josh Hutson: i'm not the only one with this problem. Your help forums have years of complaints about excactly this issue.

17:41 Josh Hutson: That would be fine

17:42 Josh Hutson: Gurus aren't trained in coding? 

17:42 Josh Hutson: that's interesting

17:43 Karen B: OK :) So we can definitely send this along - let me just make sure I have all the right info!

17:44 Josh Hutson: ok

17:45 Karen B: Does this capture the essence of the problem? I will be including more information for our chat as well: [![alt](](

17:45 Josh Hutson: no

17:47 Josh Hutson: do me a favor and create an account real quick. If you are a parent then fill out your daughter as the contestant.

17:48 Karen B: Ok! :)

17:48 Josh Hutson: If you aren't a parent't fill it out like you are the contestant and put your parent's name in the appropriatte spotsim going to send you a link to a free item so you can checkout after u create the account.

17:50 Karen B: So I did set it up - it's under Tiny Shopify with me as the parent. I used my cat haha

17:52 Josh Hutson: Nice. Im testing something real quick

17:53 Karen B: Ok :) I'm really sorry for misunderstanding the issue there, Josh!

17:55 Josh Hutson: IT'S ok

17:56 Josh Hutson: please standbyt for just a sec

17:56 Karen B: Sure thing!

17:59 Josh Hutson: ok this gets more interesting. let's see what happens with yours. I'm going to send you a link to a free item. It should cause the failure but i'm not 100% sure becasue there won't be a shipping address

17:59 Josh Hutson:

18:01 Karen B: [![alt](](

18:02 Josh Hutson: when you go back to you r account page?

18:02 Karen B: [![alt](](

18:05 Karen B: Hey, are you still there? :)

18:05 Josh Hutson: Tiny Shopify
3308 Sharon Drive
moore OK 73160
United States 

18:05 Karen B: Yup :)

18:05 Josh Hutson: yes. You need to use the Paren'ts name in the Billing address. Like a parent paying w/ a CC would

18:06 Josh Hutson: let's create a fresh acct and try again plz

18:06 Josh Hutson: Or a cat owner paying the Vet

18:06 Josh Hutson: althought Tiny is the actual customer

18:07 Karen B: Ahh - OK I see what you mean, let me get this done here quick for us!

18:07 Josh Hutson: no worries

18:07 Josh Hutson: im no where near losing my cool

18:09 Josh Hutson: and if we need to run actual money through it I can do it and refund it. just send me the acct loging info

18:10 Karen B: [![alt](](

18:11 Karen B: Sorry! This one should go first - Tuffy is the contestant.

18:11 Josh Hutson: ![Screen Shot 2017-04-04 at 12.31.29 PM.png](

18:11 Karen B: I'm now using my dog :)

18:11 Josh Hutson: ![Screen Shot 2017-04-04 at 12.56.41 PM.png](

18:11 Josh Hutson: notice the default addresses

18:12 Josh Hutson: ![Screen Shot 2017-04-04 at 1.12.17 PM.png](

18:12 Josh Hutson: everyone is Blair

18:13 Josh Hutson: now you feel my pain?

18:14 Josh Hutson: and everyone is blair in mailchimp now

18:14 Karen B: So I'm not sure I'm following, Josh. For Blair, the default address is in Oklahoma. For Josh, it's in Florida as well?

18:15 Josh Hutson: Did you put Blair's name in as both the Contestant and the Parent?

18:15 Karen B: But then, Tuffy was listed as the contestant. So when Blair went through to checkout and pay, Blair became the customer instead of Tuffy. Correct?

18:16 Josh Hutson: Tuffy is gone

18:16 Josh Hutson: yes

18:16 Josh Hutson: I don't even know that Tuffy existed

18:18 Karen B: I super appreciate you walking me through this! I'm going to need to follow up with the team to see what is possible - I think based on our testing it is related to the set up of the Customer accounts themselves, not the form/coding.

18:20 Josh Hutson: Not sure, But what i was showing you about the default addys that i sent you w/ my address on them. The default address should be Josh Hutson, but because I used Beezle Bubba in PayPal it has overwritten my Default Address. If i had sed a diffeernt street numvber it would be different too

18:21 Karen B: So will customers not be checking out with Shopify at all?

18:22 Karen B: They are just using PayPal correct?

18:22 Josh Hutson: What I need to solve myy immediate super pain iin arse problem is 2 fields added to my CUstomer Records. contestant.first_name and contestant.last_name

18:23 Josh Hutson: contestant.first_name contestant.last_name

18:23 Josh Hutson: those are getting overwritten with no paypal involved. Blair's item was free

18:24 Josh Hutson: we actually have 2 seperate bugs here.

18:26 Karen B: So I would need to follow up with the team on what might be possible in terms of adding in additional customer fields in coding. I see there is some information on coding in addition to what you were working with before:

18:27 Karen B: But it's a bit beyond me, to be honest. 

18:27 Karen B: Let me dig into this with the team, Josh! And I'll be able to email you back with what I learn :)

18:31 Karen B: Hey, are you still there? :)

18:31 Josh Hutson: works for me. Again though, I'm not the only one w/ this problem, your boards are ful of them. It seems like a fairly simple fix to me. If i had access to the backend the problem would have already been taken care. You have been great and patient and I really appreciate it. Plz don't let the code geeks blow you off. You have a lot of unhappy customers out here and the opportunity to turn that around.

18:32 Karen B: I hear your frustrated Josh! Let me see what I can dig up for us as a resolution :)

18:32 Josh Hutson: Thank you. we are done w/ the chat then?

18:32 Karen B: If that's Ok! I'm going to pull all our info and reach out to a couple of teams, I'll be able to email you with what I find :)

18:33 Josh Hutson: good to go. Thank you Karen!

18:33 Karen B: Cheers, Josh! 

18:33 Josh Hutson: don't hesitate to contact w/ questions

18:34 Karen B: Will do for sure :) You've been great with the testing!

6 0 3

Here is my reply o their email. I encourage anyone else having this problem to email me @ and I will include your emails with my current ticket.

< ----------------------------------------- >


I am working on a detailed response to your email, but for now I would like for you to read your sentence again and really consider what you said.

“...having the right name on the account is a small, but important, detail.”

Now consider that every time your Vet communicated with you regarding your pets he called your dog Karen, called you Tiny, and he didn’t have the slightest idea who Tuffy was and was constantly surprised to find out that a cat was even part of your family. That could happen to anyone once, so you correct him. He updates his records so that it doesn’t happen again. But then you pay the bill and we are back to your vet calling Tuffy Karen and you Tiny and he has lost all of your cat’s medical records. How long would you trust him to take care of your fur babies, much less your children? Not long at all. You would find a new vet that cares enough about you, your animals, and his records to get your names right and your records in proper order.

"Another option could be to assign the the contestants name in another section of the order, such as the second shipping address."


I need my Contestant’s names from the very first interactivity they have with my company. The children are my customers and they are the center of attention, not the random person with a credit card. That’s why I collect the contestant’s name first. Everything is personalized around that name from informational newsletters to mail chimp workflows to printed ribbons. I may only have have a name and an email address for quite a while before we ever collect a shipping address. 


"Another great option would be to work with a Shopify Expert to have this custom coded for you! Our experts are developers that are fully vetted by Shopify - so you know you’re getting the very best."

I’m actually insulted by this. You know I could write the custom code myself if I could have access to the backend files. The idea of me paying a third party to solve Shopify’s problem is utterly ridiculous. Shouldn’t “The Best” be the geeks actually working for Shopify rather than freelancing cleaning up Shopify’s messes? I don’t have much faith in the vetting process if the ones doing the vetting can’t fix their own code.


All this would take to solve this problem for thousands of Shopify’s users is 2 additional fields under customer.register. These 2 fields should be “shopkeeper_defined_1" and “shopkeeper_defined_2". Each shopkeeper could name those 2 fields whatever he needed them to be and they wouldn’t be affected by the billing address, the shipping address, or PayPal. That’s all it would take. No lengthy chat support sessions, no “Shopify Experts”. Just simple end-user functionality.


I need my customers name not to change in my records, and so do thousands of other Shopify customers and Business owners. That is not an unreasonable request. I shouldn’t have to be spending so much precious time screwing around with something as basic and as vital as air and water. Since this seems to be beyond the capabilities of Shopify’s programmers I am going to need a technical supervisor to contact me and explain to me truly what the problem is. I have been calm and patient about this but that is quickly coming to an end. I certainly do appreciate your help but I need to talk to a manager now. 




Josh Hutson

President, CEO_CIO

MAC Pageants


14 0 6

"having the right name on the account is a small, but important, detail"

Nearly choked on my cereal when I read the above comment.  Having the right billing name (and in our case also the right  billing addess) on an acount is actually a really BIG detail.

Dear Shopify, please also consider these examples:

Scenario 1: Jill Smith submits an order. Ten minutes later she casually opens her order confirmation email. Despite carefully checking the billing and shipping details before submitting the order, the confirmation now indicates that the child receiving the gift is also the account holder. Eeeeeek! Jill doesn't want price/receipt information to go with the gift! She phones you in a panic. We apologise to Jill . We explain that we can't correct the Billing Details, the system won’t let us. We reassure Jill that billing information will not be included with the gift. Jill relaxes, thanks us and hangs up. Jill makes a mental note to never order from us again. 

Ten minutes later the phone rings again. It’s the same problem, just a different customer.

Scenario 2: The order record indicates Tom Smith is the account holder, the order is also being shipped to Tom Smith.  While packing the order, you encounter an issue. You ring the contact number and ask for Tom Smith...  The person on the end of the line is confused. Tom Smith is a 3 day old baby. How unprofessional do we look?

Scenario 3: Sally Smith receives a surprise gift. The card reads "Happy Birthday from all of us".  Problem is, Sally is not sure who 'all of us" is. She contacts your business to find out who sent the gift.  Errrrrr sorry Sally, we can't tell you. The billing details were overwritten with the shipping when the order came through, we don't know who sent you the gift. How unprofessional do we look?