# Upgrading to WCPOS 2.0

WCPOS 2.0 is a major update. The register, the checkout and the cash drawer are new, and the plugin now needs **WooCommerce 9.0 or later**. This page is the pre-flight check for whoever clicks **Update**. Read it before you do.

## Can you upgrade today?[​](#can-you-upgrade-today "Lien direct vers Can you upgrade today?")

Open **WP Admin → Plugins** and find the WooCommerce version.

* **WooCommerce 9.0 or later:** follow [If your store is ready](#if-your-store-is-ready).
* **Older than 9.0:** follow [If your store isn't ready yet](#if-your-store-isnt-ready-yet). Don't update WCPOS first.

## If your store is ready[​](#if-your-store-is-ready "Lien direct vers If your store is ready")

### Before you click Update[​](#before-you-click-update "Lien direct vers Before you click Update")

1. **Sync every till.** 2.0 starts a new local database on each till and does not carry over sales a 1.11 till has not sent to the store yet. Open each till, let it finish syncing, and only then update.
2. **Back up the site**, or ask your host for a restore point. The update itself doesn't touch your orders or products, but a major update deserves a way back.
3. **Pick a quiet hour.** Every till reloads into the new register, and a sale that is half-way through checkout on the old version will need to be rung up again.
4. **Check your Pro licence is active** (WP Admin → POS → Settings → License; see [Installing WCPOS Pro](/fr/getting-started/pro-license.md)). Pro updates only arrive with a valid licence.
5. **Know your discounts habit.** If cashiers have been taking money off an order by adding a *negative fee*, that no longer works. In 2.0 the till has **Add Discount** instead, which records the discount properly. See [Cart Discounts](/fr/pos/cart/discounts.md).
6. **Update your terminal extensions too.** Stripe Terminal, SumUp and Mollie Terminal each have a 2.0 release. An older extension still works through the **Legacy** tab in checkout, but it can't drive a reader from the new tender pane.

### Updating[​](#updating "Lien direct vers Updating")

1. **Update the plugin.** On a free site, update **WCPOS**. With Pro, update **WCPOS Pro** only: it already contains the free plugin and switches off a separate copy of it.
2. Open the POS on every device and let it finish its first sync. Browser tills pick up 2.0 as soon as the plugin is updated. Desktop and mobile apps update through their usual channels. A 1.11 app that meets the 2.0 plugin stops at an update notice until it is updated: the app and the plugin must both be on 2.0.

If a till reports **AUTH331** after the update, it is a 2.0 app talking to a store that hasn't updated yet. Update the plugin and reconnect. See [AUTH331](/fr/error-codes/AUTH331.md).

### What changes on day one[​](#what-changes-on-day-one "Lien direct vers What changes on day one")

* **The register looks different.** One visual language across every screen, with a scale setting (compact, regular, spacious) for the size of your device. Forms and pickers slide in as panels instead of pop-up dialogs. The bar at the top names the store you're in, and the register when the store has more than one. You can choose which side the cart sits on and set up a row of quick filter buttons in the register settings.
* **Checkout is the tender pane.** Pressing **Checkout** opens a keypad. Type what the customer hands over, and the change is shown. Split a sale across cash and card, or between several cards. Card readers connected to the till are driven from the same screen (Pro). Gateways that still use their own payment page are on the **Legacy** tab. See [Checkout](/fr/pos/checkout.md).
* **Every till has a register.** The first time a cashier opens the POS they open the register with a float. **Close register** counts the drawer and files the count as a numbered closure; the closing report (the Z-report) is printed from the completion sheet that follows. This is in the free plugin. The free plugin has one register, shared by every device; managers name it and set its default float in **WP Admin → POS → Settings → Registers**, and more registers come with Pro. If you don't use a cash drawer, register sessions can be switched off in POS settings. See [End-of-Day Reconciliation](/fr/pos/reconciliation.md).
* **Coupons at the till are free.** Cashiers on the free plugin can apply a WooCommerce coupon code in the cart. Browsing the Coupons screen in the POS stays in Pro.
* **Negative fees are gone.** Use **Add Discount**. Orders that already carry a negative fee are unchanged.
* **WooCommerce Analytics counts a POS order when it's paid.** Orders still open or only partly paid at the till no longer appear as sales until they're completed, so totals that included them will be lower.
* **Receipts carry more.** The register name, the software version and a QR code appear on every receipt. A refund prints its own receipt, as a credit note. Custom receipt templates keep working.
* **Magnetic-stripe card readers are no longer supported.** Card payments at the till go through an integrated reader (Pro) or are recorded as an external card payment.

## If your store isn't ready yet[​](#if-your-store-isnt-ready-yet "Lien direct vers If your store isn't ready yet")

**Stay on WCPOS 1.11.** It keeps working, and it keeps receiving fixes for six months after 2.0 is released.

1. **Turn off automatic updates for WCPOS** and WCPOS Pro. On **WP Admin → Plugins**, each plugin row has an **Enable auto-updates** / **Disable auto-updates** link. Make sure it reads *Enable*. This is the step that stops an automatic update from putting a blocking notice in front of a cashier mid-shift.
2. **Update WooCommerce to 9.0 or later** when you're ready. WooCommerce's own release notes cover that update.
3. **Come back to [If your store is ready](#if-your-store-is-ready).**
4. **Once you're on 2.0, turn automatic updates back on** if you used them, or later fixes won't arrive by themselves.

### If WCPOS updated before WooCommerce did[​](#if-wcpos-updated-first "Lien direct vers If WCPOS updated before WooCommerce did")

The POS stops at a notice saying WooCommerce 9.0 is required; nothing is lost. Either update WooCommerce now, or [reinstall WCPOS 1.11](/fr/getting-started/previous-versions.md) and turn off auto-updates as above.

## Rolling back[​](#rolling-back "Lien direct vers Rolling back")

If a till on 1.11 still holds unsent sales after the update, [reinstall the 1.11 plugin](/fr/getting-started/previous-versions.md), let the till sync, then update again.

If 2.0 isn't working for you, tell us on [Discord](https://wcpos.com/discord) first. Most upgrade-day problems have a quicker fix than a rollback.

If you do roll back, [reinstall the 1.11 plugin](/fr/getting-started/previous-versions.md). Browser tills and apps still on 1.11 carry on as before. **A desktop or mobile app already updated to 2.0 cannot connect to a 1.11 plugin** (it reports [AUTH331](/fr/error-codes/AUTH331.md)), and the app stores don't offer older versions, so a till that has taken the 2.0 app should use the browser POS at `yourdomain.com/pos` until you upgrade again.

Orders made on 2.0 are ordinary WooCommerce orders and stay where they are. The register sessions and closures recorded on 2.0 stay in the database but are not shown by 1.11.
