CINXE.COM
Upgrade Homepage | Odoo Upgrade
<link rel="stylesheet" type="text/css" href="/upgrade/static/css/upgrade.css"/><!DOCTYPE html> <html lang="en-US" data-website-id="1" data-main-object="ir.ui.view(909,)"> <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="generator" content="Odoo"/> <meta property="og:type" content="website"/> <meta property="og:title" content="Upgrade Homepage | Odoo Upgrade"/> <meta property="og:site_name" content="Odoo Upgrade"/> <meta property="og:url" content="https://upgrade.odoo.com/"/> <meta property="og:image" content="https://upgrade.odoo.com/web/image/website/1/logo?unique=ff93c2b"/> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:title" content="Upgrade Homepage | Odoo Upgrade"/> <meta name="twitter:image" content="https://upgrade.odoo.com/web/image/website/1/logo/300x300?unique=ff93c2b"/> <link rel="alternate" hreflang="nl" href="https://upgrade.odoo.com/nl"/> <link rel="alternate" hreflang="en" href="https://upgrade.odoo.com/"/> <link rel="alternate" hreflang="fr" href="https://upgrade.odoo.com/fr"/> <link rel="alternate" hreflang="de" href="https://upgrade.odoo.com/de"/> <link rel="alternate" hreflang="it" href="https://upgrade.odoo.com/it"/> <link rel="alternate" hreflang="es" href="https://upgrade.odoo.com/es"/> <link rel="alternate" hreflang="x-default" href="https://upgrade.odoo.com/"/> <link rel="canonical" href="https://upgrade.odoo.com/"/> <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin=""/> <title> Upgrade Homepage | Odoo Upgrade </title> <link type="image/x-icon" rel="shortcut icon" href="/web/image/website/1/favicon?unique=ff93c2b"/> <link rel="preload" href="/web/static/src/libs/fontawesome/fonts/fontawesome-webfont.woff2?v=4.7.0" as="font" crossorigin=""/> <link type="text/css" rel="stylesheet" href="/web/assets/808714-0c5f982/1/web.assets_frontend.min.css" data-asset-bundle="web.assets_frontend" data-asset-version="0c5f982"/> <script id="web.layout.odooscript" type="text/javascript"> var odoo = { csrf_token: "f4f9bee0aac42ebb2f4a29c89bad7a78c289da52o1764212328", debug: "", }; </script> <script type="text/javascript"> odoo.__session_info__ = {"is_admin": false, "is_system": false, "is_website_user": true, "user_id": false, "is_frontend": true, "profile_session": null, "profile_collectors": null, "profile_params": null, "show_effect": true, "bundle_params": {"lang": "en_US", "website_id": 1}, "translationURL": "/website/translations", "cache_hashes": {"translations": "1258c3c3d9ede82ef38e6879dd6b2d6a2610c98d"}, "geoip_country_code": "SG", "geoip_phone_code": 65, "lang_url_code": "en"}; if (!/(^|;\s)tz=/.test(document.cookie)) { const userTZ = Intl.DateTimeFormat().resolvedOptions().timeZone; document.cookie = `tz=${userTZ}; path=/`; } </script> <script defer="defer" type="text/javascript" src="/web/assets/796803-06b7079/1/web.assets_frontend_minimal.min.js" data-asset-bundle="web.assets_frontend_minimal" data-asset-version="06b7079"></script> <script defer="defer" type="text/javascript" data-src="/web/assets/808715-2b4491d/1/web.assets_frontend_lazy.min.js" data-asset-bundle="web.assets_frontend_lazy" data-asset-version="2b4491d"></script> </head> <body> <div id="wrapwrap" class="homepage "> <main> <div id="wrap" class="oe_structure"> <section class="banner-container"> <style> .js_language_selector { position: absolute; right: 0; } .js_language_selector button span { color: white; } </style> <div class="js_language_selector d-print-none"> <button type="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="true" class="btn btn-sm btn-outline-secondary border-0 dropdown-toggle "> <img class="o_lang_flag" src="/base/static/img/country_flags/us.png?height=25" loading="lazy"/> <span class="align-middle">English (US)</span> </button> <div role="menu" class="dropdown-menu "> <a href="/nl/" class="dropdown-item js_change_lang " data-url_code="nl"> <img class="o_lang_flag" src="/base/static/img/country_flags/nl.png?height=25" loading="lazy"/> <span> Nederlands</span> </a> <a href="/" class="dropdown-item js_change_lang active" data-url_code="en"> <img class="o_lang_flag" src="/base/static/img/country_flags/us.png?height=25" loading="lazy"/> <span>English (US)</span> </a> <a href="/fr/" class="dropdown-item js_change_lang " data-url_code="fr"> <img class="o_lang_flag" src="/base/static/img/country_flags/fr.png?height=25" loading="lazy"/> <span> Fran莽ais</span> </a> <a href="/de/" class="dropdown-item js_change_lang " data-url_code="de"> <img class="o_lang_flag" src="/base/static/img/country_flags/de.png?height=25" loading="lazy"/> <span> Deutsch</span> </a> <a href="/it/" class="dropdown-item js_change_lang " data-url_code="it"> <img class="o_lang_flag" src="/base/static/img/country_flags/it.png?height=25" loading="lazy"/> <span> Italiano</span> </a> <a href="/es/" class="dropdown-item js_change_lang " data-url_code="es"> <img class="o_lang_flag" src="/base/static/img/country_flags/es.png?height=25" loading="lazy"/> <span> Espa帽ol</span> </a> </div> </div> <div class="container text-center text-white pt32 pb32"> <h1> <b>Odoo Upgrade Service</b> </h1> </div> </section> <section class="manual-upgrade-container bg-white bg-200"> <style> ol li { font-weight: bold; } ul li { font-weight: normal; } li > p { font-weight: normal; } h3 { color: #7A436B; } code.var, code span.var { color: blueviolet; } </style> <div class="container text-center pt32 pb20"> <div class="row"> <div class="col-sm-12 mb32"> <div class="row"> <div class="col-sm-4"> <i class="fa fa-2x fa-calendar" style="color:#7A436B; border-radius: 50%;text-align: center;border-width: 1px;border-style: solid;width: 80px;height: 80px;line-height: 80px;"></i> <h4 class="mt-3" style="color:#7A436B; text-transform: uppercase;">Versions</h4> <p>Odoo releases a new version every year</p> </div> <div class="col-sm-4"> <i class="fa fa-2x fa-cogs" style="color:#7A436B; border-radius: 50%;text-align: center;border-width: 1px;border-style: solid;width: 80px;height: 80px;line-height: 80px;"></i> <h4 class="mt-3" style="color:#7A436B; text-transform: uppercase;">Upgrade</h4> <p>Upgrading allows you to enjoy the latest features and functionality</p> </div> <div class="col-sm-4"> <i class="fa fa-2x fa-server" style="color:#7A436B; border-radius: 50%;text-align: center;border-width: 1px;border-style: solid;width: 80px;height: 80px;line-height: 80px;"></i> <h4 class="mt-3" style="color:#7A436B;text-transform: uppercase;">Hosting</h4> <p>The Upgrade process depends on your hosting type</p> </div> </div> </div> </div> </div> <ul class="nav nav-tabs justify-content-center text-center font-weight-bold" id="tabs" role="tablist"> <li class="nav-item" style="width:200px;font-size:23px"> <a class="nav-link active" id="self-hosting-tab" data-toggle="tab" data-target="#self-hosting" href="#onpremise" role="tab" aria-controls="self-hosting" aria-selected="true">On-premise</a> </li> <li class="nav-item" style="width:200px;font-size:23px"> <a class="nav-link" id="cloud-tab" data-toggle="tab" data-target="#cloud" href="#odoosh" role="tab" aria-controls="cloud" aria-selected="false">Odoo.sh</a> </li> <li class="nav-item" style="width:200px;font-size:23px"> <a class="nav-link" id="online-hosting-tab" data-toggle="tab" data-target="#online-hosting" href="#online" role="tab" aria-controls="online-hosting" aria-selected="false">Odoo Online</a> </li> </ul> <div class="tab-content" id="tab-contents" style="margin:10px;padding:20px"> <div class="tab-pane fade show active" id="self-hosting" role="tabpanel" aria-labelledby="self-hosting-tab"> <div class="row"> <div class="col-sm-8 panel border-right"> <h3 style="color:#7A436B">Option 1: using the command line</h3> <div style="margin:10px"> <p> Use the below command* on the machine where your database is hosted:<br/> <code class="notranslate">python <(curl -s https://upgrade.odoo.com/upgrade) test -d <span class="var"><</span></code><code class="var">your db name</code><code class="notranslate"><span class="var">></span> -t <span class="var"><</span></code><code class="var">target version</code><code class="notranslate var">></code> </p> <p> The following command can be used to show the general help and the main commands:<br/> <code class="notranslate">python <(curl -s https://upgrade.odoo.com/upgrade) --help</code> </p> <p> To show help for a specific command (for example, <code class="notranslate">test</code>):<br/> <code class="notranslate">python <(curl -s https://upgrade.odoo.com/upgrade) <span class="var"><</span></code><code class="var">command</code><code><span class="var">></span> --help</code> </p> <p> <small>* For production upgrades, use the command <code class="notranslate">production</code> instead of <code class="notranslate">test</code>.</small> </p> </div> </div> <div class="col-sm-4"> <h3 style="color:#7A436B">Advantages of the command line</h3> <ul class="mb18"> <li> <p>Faster upload and download.</p> </li> <li> <p>Faster dump and restore thanks to the parallelization (see --jobs in the Postgresql documentation).</p> </li> <li> <p>See the logs in real-time, to have an overview of the progress.</p> </li> <li> <p>Resume-able in case of interruption.</p> </li> </ul> <div style="padding-left:12px"> <small>If you still prefer using the upload form, the process below describes the necessary steps.</small> </div> </div> </div> <div class="row"> <div class="col-sm-8 panel border-right"> <h3 style="color:#7A436B">Option 2: using the upload form below</h3> <div style="position: relative;"> <form onSubmit="submitUpgradeForm(event)" style="margin:10px; opacity: 20%" data-hosting="premise"> <input type="hidden" name="csrf_token" value="f4f9bee0aac42ebb2f4a29c89bad7a78c289da52o1764212328"/> <div class="form-group mt20"> <label class="control-label text-black">Enterprise subscription code</label> <a href="https://www.odoo.com/buy" class="text-primary pull-right" target="_blank"> <small>Buy Odoo Enterprise</small> </a> <input class="form-control" name="contract" type="text" autocomplete="off" required="required"/> <div class="well well-sm"></div> </div> <div class="form-group mt20"> <label class="control-label"> <b>Email</b> </label> <input class="form-control upg-email-input" name="email" type="email" required="required" onchange="checkEmail(this)" id="premise-email-input" data-target-warning-id="premise-email-warning"/> <div class="text-danger font-italic mt-1 invisible" id="premise-email-warning"> <small>This email will be used for notifications. Only the currently logged in user <span class="font-weight-bold">"public"</span> will be able to download the upgraded dump.</small> </div> </div> <div class="form-group mt20"> <label class="control-label">Database dump</label> <div class="input-group"> <span class="dump-filename form-control"></span> <label class="btn btn-outline-dark btn-file mb0 ml8" for="premise-dump-selector"> <i class="fa fa-search mr4"></i> Browse </label> <input class="input-file" name="dump" type="file" accept=".zip,.dump,.sql,.sql.gz" onchange="setDumpName.call(this)" id="premise-dump-selector"/> </div> <div class="pull-left font-italic m-1"> <small> (Suggested format: <code class="notranslate">pg_dump -F c -f <DB_NAME>.dump <DB_NAME></code> ) </small> </div> <div class="upload-progress-bar progress mt8" style="display: none;"> <div class="progress-bar progress-bar-striped upload-progress" role="progressbar"></div> </div> </div> <div class="form-group mt40"> <label class="control-label text-black">Targeted version</label> <select class="form-control" name="target"> <option value="18.0" data-test-only="True"> 18.0 (TEST only) </option> <option value="17.0" selected="True"> 17.0 </option> <option value="16.0"> 16.0 </option> <option value="15.0"> 15.0 </option> </select> </div> <div class="form-group mt20 p-2"> <label class="control-label text-black">Purpose</label> <div class="container"> <div class="row"> <div class="col-3"> <input type="radio" name="aim" value="test" checked="True"/> <span class="text-gray-darker"> <b>Testing</b> </span> </div> <div class="col"> <p>A new database will be created to test</p> </div> </div> <div class="row"> <div class="col-3"> <input type="radio" name="aim" value="production"/> <span class="text-gray-darker"> <b>Production</b> </span> </div> <div class="col"> <p>It replaces your production database by the upgraded one after you restore it</p> </div> </div> </div> </div> <div class="message alert" role="alert"></div> <div class="form-group mt16"> <div> <input value="Upgrade" type="submit" class="btn btn-primary btn-block" style="text-transform: uppercase;"/> </div> </div> </form> <a href="/web/login?redirect=%2F" style="position: absolute;top: 0;bottom: 0;right: 0;left: 0;height: 100%;" class="text-center text-reset text-decoration-none rounded"> <div style="top: 50%;transform: translateY(-50%);position: relative;"> <div> <button class="btn btn-primary" style="text-transform: uppercase;">Sign in to use this form</button> </div> </div> </a> </div> </div> <div class="col-sm-4"> <h3 style="color:#7A436B">Process via upload form</h3> <ol class="mb24 ml16"> <li>Testing Stage</li> <ul> <li> <p>Dump your database and request an upgrade by filling in this form (select purpose "Testing").</p> </li> <li> <p>After a successful upgrade*, you will be sent an email with a link to the upgraded dump. Download it and restore it.</p> </li> <li> <p>Thoroughly test all processes and workflows and report any discrepancies via <a href="https://www.odoo.com/help" target="_blank">the helpdesk.</a></p> </li> </ul> <li>Production Stage</li> <ul> <li> <p>Once the testing has been completed and you didn't detect any inconsistencies, you can proceed to upgrade your database on production within 3 days after the test upgrade.</p> </li> <li> <p>Dump your database and request an upgrade by filling in this form (select purpose "Production").</p> </li> <li> <p>After a successful upgrade*, you will be sent an email with a link to the upgraded dump. Download it and restore it, then reconfigure Odoo to use the newly restored, upgraded database.</p> </li> </ul> </ol> <div> <small>* If the upgrade fails and you are unable to resolve the issue yourself, please submit a ticket via <a href="https://www.odoo.com/help" target="_blank">the helpdesk.</a></small> </div> <h6 class="mt32 ml16 fw_medium"> Find detailed upgrade documentation and the FAQ <a href="https://www.odoo.com/documentation/user/administration/upgrade.html" target="_blank">here.</a> </h6> </div> </div> </div> <div class="tab-pane fade" id="cloud" role="tabpanel" aria-labelledby="cloud-tab"> <div class="row"> <div class="col-sm-8 panel border-right"> <h3 style="color:#7A436B">Option 1: using Odoo.SH upgrade tool</h3> <h6 class="ml16 pt16 fw_medium"> For full details please check the <a href="https://www.odoo.com/documentation/user/administration/upgrade.html" target="_blank">online docs for Odoo.sh upgrades.</a> </h6> <ol class="mb24 ml16"> <li> <p>Go to your Odoo.sh project: <a href="https://odoo.sh" target="_blank">odoo.sh</a></p> </li> <li> <p> Click on the branch on which you want the upgraded database - a <b>staging</b> branch for testing purposes and the <b>master</b> branch for the production upgrade. </p> </li> <li> <p> Find the <b>UPGRADE</b> tab in the menu bar*, select the version you would like to upgrade to and click on <b>Test Upgrade</b> (it will read <b>Start Upgrade</b> on the <b>master</b> branch). </p> <p> Note: For a test upgrade (staging branch) this will always trigger an upgrade of the <b>latest daily production back-up</b> (it will not consider manual back-ups). </p> </li> <li> <p> Once the upgrade of the database is finished, it will prompt you to push a commit** in order to incorporate any customisations you might have (push an empty commit if you don't have any). This will trigger a restore/update of the build and make the database accessible </p> </li> </ol> <p class="ml16"> Once you are satisfied with the results of your tests, follow the same steps for the production upgrade on your master branch. </p> <div class="mb4"> <small>* If you do not find the option to use Odoo.SH upgrade tool you can continue to use the upload form.</small> </div> <div class="mb16"> <small>** You can watch a video <a href="https://drive.google.com/file/d/15GyX6PI7qwyBkFuhV9CqCkQqhghWH6JK/view" target="_blank">here</a> that shows how to push a commit.</small> </div> </div> <div class="col-sm-4"> <h3 style="color:#7A436B">Advantages of Odoo.SH upgrade tool</h3> <ul class="mb18"> <li> <p>Automatic upload and restore of DB dumps sent to the upgrade platform.</p> </li> <li> <p>Faster dump and restore of <b>production</b> upgrades.</p> </li> <li> <p>Automatically triggered custom modules upgrade.</p> </li> <li> <p>Strict checks and report of errors from the logs.</p> </li> </ul> </div> </div> <div class="row"> <div class="col-sm-8 panel border-right"> <h3 style="color:#7A436B">Option 2: using the upload form below</h3> <div style="position: relative;"> <form onSubmit="submitUpgradeForm(event)" style="margin:10px; opacity: 20%" data-hosting="odoosh"> <input type="hidden" name="csrf_token" value="f4f9bee0aac42ebb2f4a29c89bad7a78c289da52o1764212328"/> <div class="form-group mt20"> <label class="control-label text-black">Enterprise subscription code</label> <a href="https://www.odoo.com/buy" class="text-primary pull-right" target="_blank"> <small>Buy Odoo Enterprise</small> </a> <input class="form-control" name="contract" type="text" autocomplete="off" required="required"/> <div class="well well-sm"></div> </div> <div class="form-group mt20"> <label class="control-label"> <b>Email</b> </label> <input class="form-control upg-email-input" name="email" type="email" required="required" onchange="checkEmail(this)" id="odoosh-email-input" data-target-warning-id="odoosh-email-warning"/> <div class="text-danger font-italic mt-1 invisible" id="odoosh-email-warning"> <small>This email will be used for notifications. Only the currently logged in user <span class="font-weight-bold">"public"</span> will be able to download the upgraded dump.</small> </div> </div> <div class="form-group mt20"> <label class="control-label">Database dump</label> <div class="input-group"> <span class="dump-filename form-control"></span> <label class="btn btn-outline-dark btn-file mb0 ml8" for="odoosh-dump-selector"> <i class="fa fa-search mr4"></i> Browse </label> <input class="input-file" name="dump" type="file" accept=".zip,.dump,.sql,.sql.gz" onchange="setDumpName.call(this)" id="odoosh-dump-selector"/> </div> <div class="pull-left font-italic m-1"> <small> (Suggested format: <code class="notranslate">pg_dump -F c -f <DB_NAME>.dump <DB_NAME></code> ) </small> </div> <div class="upload-progress-bar progress mt8" style="display: none;"> <div class="progress-bar progress-bar-striped upload-progress" role="progressbar"></div> </div> </div> <div class="form-group mt40"> <label class="control-label text-black">Targeted version</label> <select class="form-control" name="target"> <option value="18.0" data-test-only="True"> 18.0 (TEST only) </option> <option value="17.0" selected="True"> 17.0 </option> <option value="16.0"> 16.0 </option> <option value="15.0"> 15.0 </option> </select> </div> <div class="form-group mt20 p-2"> <label class="control-label text-black">Purpose</label> <div class="container"> <div class="row"> <div class="col-3"> <input type="radio" name="aim" value="test" checked="True"/> <span class="text-gray-darker"> <b>Testing</b> </span> </div> <div class="col"> <p>A new database will be created to test</p> </div> </div> <div class="row"> <div class="col-3"> <input type="radio" name="aim" value="production"/> <span class="text-gray-darker"> <b>Production</b> </span> </div> <div class="col"> <p>It replaces your production database by the upgraded one after you restore it</p> </div> </div> </div> </div> <div class="message alert" role="alert"></div> <div class="form-group mt16"> <div> <input value="Upgrade" type="submit" class="btn btn-primary btn-block" style="text-transform: uppercase;"/> </div> </div> </form> <a href="/web/login?redirect=%2F" style="position: absolute;top: 0;bottom: 0;right: 0;left: 0;height: 100%;" class="text-center text-reset text-decoration-none rounded"> <div style="top: 50%;transform: translateY(-50%);position: relative;"> <div> <button class="btn btn-primary" style="text-transform: uppercase;">Sign in to use this form</button> </div> </div> </a> </div> </div> <div class="col-sm-4"> <h3 style="color:#7A436B">Process via upload form</h3> <ol class="mb2 ml16"> <li>Testing Stage</li> <ul> <li> <p>Download a backup dump from <a href="https://www.odoo.sh" target="_blank">odoo.sh</a> (purpose <b>"Exact dump"</b>, <b>without filestore</b>).</p> </li> <li> <p>Request an upgrade by filling in this form (select purpose "Testing").</p> </li> <li> <p>After a successful upgrade*, you will be sent an email with a link to the upgraded dump. Download it and restore it onto a staging branch (fork of your production branch).</p> </li> <li> <p>Thoroughly test all processes and workflows and report any discrepancies via <a href="https://www.odoo.com/help" target="_blank">the helpdesk.</a></p> </li> </ul> <li>Production Stage</li> <ul> <li> <p>Once the testing has been completed and you didn't detect any inconsistencies, you can proceed to upgrade your database on production branch within 3 days after the test upgrade.</p> </li> <li> <p>Download a backup dump from <a href="https://www.odoo.sh" target="_blank">odoo.sh</a> (purpose "<b>Exact dump</b>", <b>without filestore</b>).</p> </li> <li> <p>Request an upgrade by filling in this form (select purpose "Production").</p> </li> <li> <p>After a successful upgrade*, you will be sent an email with a link to the upgraded dump. Download it and restore it onto your production branch.</p> </li> </ul> </ol> <div> <small>* If the upgrade fails and you are unable to resolve the issue yourself, please submit a ticket via <a href="https://www.odoo.com/help" target="_blank">the helpdesk.</a></small> </div> <h6 class="mt2 fw_medium"> Find detailed documentation and the FAQ <a href="https://www.odoo.com/documentation/user/administration/upgrade.html" target="_blank">here.</a> </h6> </div> </div> </div> <div class="tab-pane fade" id="online-hosting" role="tabpanel" aria-labelledby="online-hosting-tab"> <div class="row"> <div class="col-sm-12 mt-1"> <h3 style="color:#7A436B">Process</h3> <ol class="mb24 ml16"> <li> <p>Go to your database manager:</p> <a href="https://odoo.com/web/login" target="_blank">odoo.com/web/login</a> </li> <li> <p>Click on your profile icon and select "My Databases"</p> <img src="/upgrade/static/img/mydatabases.png" class="img-fluid border border-dark m-2" alt="My Databases" loading="lazy"/> </li> <li> <p>Click on the action settings icon next to your main database where you will find the "Upgrade" option (test or production)</p> <div class="col-sm-5 border border-dark p-2 m-2"> <small> In the pop-up message that will appear, you will be given the option to choose: <br/> <ul> <li>a test upgrade request, which will give you an upgraded copy of your database for testing</li> <b>OR</b> <li>a production upgrade request, that will upgrade your live database to the new version.</li> </ul> </small> </div> </li> <li> <p>This will trigger the automated upgrade process which upon successful completion will send you an email with a link to either your upgraded test database or to confirm that your upgraded production database is ready (on the same web address).</p> </li> </ol> <h6 class="mt-10 ml16 fw_medium"> <a href="https://www.odoo.com/documentation/user/administration/upgrade.html" target="_blank">Find detailed upgrade documentation and the FAQ here</a> </h6> </div> </div> </div> </div> </section> </div> <script type="text/javascript" src="/upgrade/static/js/upgrade.js"></script> </main> </div> </body> </html>