<p>Unfortunately, I found myself in the exact same situation.</p>

<p>What I ended up doing was including both the billing and shipping form on the same page but the billing form hidden. I used <a href="https://vuejs.org/" rel="nofollow noreferrer">vue.js</a> form/model binding to ensure the values were copied to the billing form. This way it captures two identical addresses, but at least they have the opportunity to edit the information separately at final checkout if shipping is required.</p>

CC BY-SA 3.0
2017-06-22T15:42:04.127Z
2017-06-22T15:42:04.127Z
casey
<p>By default all users fill out shipping information first, and then can select "Use same address for billing".</p>

<p>Because 95% of items I am selling are digital, 9 out of 10 sales will be digital and have no shipping.</p>

<p>What I would like to do is ask for a billing address, and then user the <code>&lt;input type="hidden" name="sameAddress" value="1"&gt;</code> to set the shipping address. </p>

<p>This is what I have now which works...</p>

<p><strong>shop/checkout/addresses</strong></p>

<pre><code>&lt;div class="col-xs-12 col-sm-6"&gt;
    {% include 'shop/_includes/addresses/fieldset' with {
        title: "Billing Information"|t,
        class: 'ShippingAddress',
        name: 'shippingAddress'
    } %}
&lt;/div&gt;
&lt;div class="col-xs-12 col-sm-6"&gt;
    {% include 'shop/_includes/addresses/fieldset' with {
        title: "Shipping Information"|t,
        class: 'BillingAddress hidden',
        name: 'billingAddress'
    } %}
&lt;/div&gt;

...


{% if freeShipping %}
    &lt;input type="hidden" name="sameAddress" value="1"&gt;
{% else %}
    &lt;input type="hidden" name="sameAddress" value="0"&gt;
    &lt;label&gt;
    &lt;input type="checkbox" name="sameAddress" id="sameAddress" checked="checked"&gt; Use same address for shipping
    &lt;/label&gt;
{% endif %}
</code></pre>

<p>As you can see I'm still setting the shipping first, To the user it just looks like I am asking for billing first. This works until I have something that requires shipping. If a user un-checks "Use same address", then I show what looks like the Shipping Address. But in reality, it's the billing address they are changing.</p>

<p><strong>TL;DR</strong></p>

<p>By default, shipping drives billing. I would like billing to drive shipping.</p>

<p>Thank you for any suggestions!</p>

<plugin-craftcommerce>
How can I set shipping address same as billing?
# How can I set shipping address same as billing?

(Asked by: username_0 on 2017-04-17)

By default all users fill out shipping information first, and then can select "Use same address for billing".
Because 95% of items I am selling are digital, 9 out of 10 sales will be digital and have no shipping.
What I would like to do is ask for a billing address, and then user the  to set the shipping address. 
This is what I have now which works...
shop/checkout/addresses

    {% include 'shop/_includes/addresses/fieldset' with {
        title: "Billing Information"|t,
        class: 'ShippingAddress',
        name: 'shippingAddress'
    } %}


    {% include 'shop/_includes/addresses/fieldset' with {
        title: "Shipping Information"|t,
        class: 'BillingAddress hidden',
        name: 'billingAddress'
    } %}


...


{% if freeShipping %}
    
{% else %}
    
    
     Use same address for shipping
    
{% endif %}

As you can see I'm still setting the shipping first, To the user it just looks like I am asking for billing first. This works until I have something that requires shipping. If a user un-checks "Use same address", then I show what looks like the Shipping Address. But in reality, it's the billing address they are changing.
TL;DR
By default, shipping drives billing. I would like billing to drive shipping.
Thank you for any suggestions!

**Tags:** plugin-craftcommerce

---

## 1 answers

### Answer by username_1 on 2017-06-22. Score: 2

Unfortunately, I found myself in the exact same situation.

What I ended up doing was including both the billing and shipping form on the same page but the billing form hidden. I used [vue.js](https://vuejs.org/) form/model binding to ensure the values were copied to the billing form. This way it captures two identical addresses, but at least they have the opportunity to edit the information separately at final checkout if shipping is required.


---

