This page explains how to upgrade to OneStepCheckout version 5.0.1 (from any version). In case you don't see the latest version of OneStepCheckout in your account, check that you have a valid Support and Update Plan.

There are no major structural changes in version 5.0.1 since version 3, with a few exceptions. We always recommend to perform the upgrade on a non-production website, so you can perform the upgrade and verify that the process works as expected, before making any changes to your production environment.

Things to consider

* Have you made any changes to the main template (checkout.phtml) ?

* Have you made any changes to the CSS file (onestepcheckout.css) ?

* Are you using the "Terms and conditions" feature that we now have changed ?

* The Javascript file for OneStepCheckout has been moved from "js" to "skin" folders, to allow easier overriding

Step by step upgrade

Remember to not perform the upgrade directly in a production environment.

Backup your changed templates (if any)
If you have not copied or modified any template or layout files, skip this step. Look in your template and layout folders, to see if you have copied the "base/default" templates into your theme directories. If you have done this, please take a backup of the files, and then delete them (or rename to .bak or similar), so they are out of the way for the new files. It might also be wise to perform a diff between your customized files and the original ones (in base/default), this will make it easier for you to re-apply the changes after the upgrade.

Upload the new unzipped module to your Magento root directory
Download and unzip the latest version of OneStepCheckout 5.0.1, and then upload it directly to your Magento installation root, and choose to overwrite all existing files.

Refresh cache and check the frontend
Go to your Magento administration, and under System -> Cache Management, you choose to refresh all cache. Then, take a look at the frontend (add a product to your cart and go to checkout) to make sure it is working properly.

Visit admin configuration page for new features
Go to your administration under System -> Configuration -> OneStepCheckout, and check out the new features that are available from there.

Re-apply changes in template files
If you had any design / markup changes in the previous version, now is the time to re-apply these changes. Remember to copy layout file and template from "base/default" to your local theme directory, and make your changes. Remember to test in frontend as you go to make sure everything is working properly.

Your upgrade is now completed and ready for use!
Perform the same steps in your production environment.

Checklist after the upgrade

When you are done with the upgrade steps above, you should go through this list to make sure you utilize OneStepCheckout to the fullest.

'''If you are using terms and conditions feature''', please go to the administration and read the details under "Terms and conditions". We have now added support for the built-in functionality in Magento for terms and conditions. This lets you setup multiple agreements if you prefer, and require the customer to check that he approves all of the agreements.

'''It is now possible to set defaults for City, Zip, Region and other fields''' directly from the administration.

In case there are any errors after upgrade, please go through the following list:

* Are template/skin/layout files from latest version really being used ? Old files may be used from theme folder. Please disable One Step Checkout files in theme folders:
app/design/frontend/[your theme]/template/onestepcheckout.OFF
app/design/frontend/[your theme]/layout/onestepcheckout.xml.OFF
skin/frontend/[your theme] /onestepcheckout.OFF

* If you are using "Magento Admin>System>Configuration>Developer>Combine JS into same file", please disable that for checking from what theme folder the files get loaded and update files if files from old package are used

* Some cache may need to been flushed. It is best to DISABLE ALL CACHES during testing. If you are using APC/XCache/OPCache, Varnish, Redis, Cloudfare or any proxy cache, ‘combine javascripts’ option or Fooman ‘Opti’ , Fooman Speedster, Apptha minifier, Minify HHTML CSS JS for Magento by Apptrian,
Company_DeferJS preferably disable all caches or at least check if new files are really used.

​* Check One Step Checkout page source and in case there are multiple jquery imports, remove all except one. If jquery is included more than 1 time, it breaks scripts. You can ignore the One Step Checkout jquery import, it has a if-condition and only gets loaded if jquery has not been loaded before. Please see the One Step Checkout jquery import, it has an if condition and does not get loaded if jquery has already been loaded. Add this also to other jquery files and it should solve your issue.
File: skin/frontend/base/default/onestepcheckout/js/jquery-1.11.3.min.js
Code:
if (typeof jQuery === 'undefined') {
[...Jquery file content...]
}

You are done! Congratulations, you are now running OneStepCheckout 5.0.1!

As always, we are available on support@onestepcheckout.com if you have any questions or run into problems.