OpenCart: Remove step 3 on the checkout page

When it comes to checkout, OpenCart provides a way for your customers to specify different addresses for delivery and billing. Some may consider it a fraud risk to separate addresses and would rather let buyers specify a single address only.

OpenCart doesn't allow doing it by default. However, we've developed a simple and free module to do it.

UPDATED on 10/05/2016: OpenCart 2.x version is now available!

This is a free vQmod that removes step 3 (delivery details) on the checkout page. It is a one-file vQmod addon so you need vQmod installed. However, if you don't want to use vQmod, you can modify your core files according to the xml file - it only introduces a couple of changes.

This module doesn't remove shipping as such, it just makes it impossible for customers to choose different addresses for billing and delivery. The reason for that is that some consider it a fraud risk to separate addresses.

You can download the file here: [wpdm_file id=4]


About the authorMartin Boze is the Founder of MultiMerch Marketplace. I also love skydiving, motorcycles and space. And other cool things.

16 replies
  1. HLJ
    HLJ says:

    Helo, really need this mod but not working when i upload to my xml folder using oc
    still ask's me for existing address or new address option. Will appreciate if you could help

  2. Martin Boze
    Martin Boze says:

    If you are using a theme other than default, you'll need to replace all occurrences of /default/ with /yourtheme/ in the xml. If you are using the default theme and it still doesn't work, check your vqmod.log for error messages for this specific xml.

  3. Pamela Alford
    Pamela Alford says:

    Trying to get this to work, but it is completely removing the ability to go to all the other steps in the checkout. Any idea what I may be doing wrong? The steps are fairly simple and I am used to making these mods - but something isn't right. Thanks

    • Martin Boze
      Martin Boze says:

      It really depends on in what way it doesn't work for you. Any error messages, anything in vqmod logs? You will need to tune it if you aren't using the default theme.

      You might want to mail us a line with the link if it is online so we can check it out, but it will probably take some time.

  4. Pamela Alford
    Pamela Alford says:

    Thank you for getting back to me - I would gladly pay to have someone remove Step 3 for me if it could be done quickly! I am using a custom theme which is probably why it isn't working.

    Possible to get quick help? or no?

  5. Paul
    Paul says:

    So I think your extension/action would work for my site, but I had a question. I went to your demo site, "Demo
    The module in action can be seen in our demo store: There is no checkout step 3 on the checkout page"

    But when I went there, I added some items to the demo shopping cart, and then tried to check out, both by logging into the default demo account and by registering a new account. In both instances, there was indeed a checkout step 3 shown on the demo site.

    I had tried to put the xml file on our server, and I replaced the word default with the name of our theme, but it didn't seem to remove that step either.

  6. Paul
    Paul says:

    If you are using a theme other than default, you'll need to replace all occurrences of /default/ with /yourtheme/ in the xml

    And I assume that the name of my theme is found by going to System->Settings->Edit(name of store)->Store tab->Template

    I assume that the name of the theme is what is listed in the template box?

  7. Paul
    Paul says:

    Sorry to post so many replies. So I did get your extension to run, and it did remove the shipping address step, but there is a major bug (in my opinion) for customers checking out who have previously registered an account. If a customer has an existing account, their account has an address saved for both the billing and the shipping information, let's call it SHIP_ONE. Let's say that they move to a new house, and go to place a new order. This time they enter SHIP_TWO under the single address field.

    When I go to inspect their order in Opencart's Orders page, it shows this second order with the following information, SHIP_TWO for billing, and SHIP_ONE for shipping! So when they have already registered an account, it never updates the original shipping address entered when they first created the account!

    I think this occurs because Opencart removes the option for the checkbox when a registered user is going through check-out. If they already have an account, Opencart doesn't show that checkbox, and forces the customer to pick both a billing and a shipping address. But in this case it just defaults back to the original shipping address. Now if the action copied the new address information into both fields whenever a person goes to checkout, that would solve the problem and make this work flawlessly (in my opinion).

    • Martin at MultiMerch
      Martin at MultiMerch says:

      Hi Alexandros!

      It's not possible with this particular version of the module (as you can see the post itself is quite a bit out of date), but since it's been quite a popular request we've decided to update it to OpenCart 2.x.

      I'll publish an update to this post shortly :)


Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published.