# Change Cart Items

Every product, fee and shipping charge in the cart is a line. You change most of a line right where it sits: tap the quantity, the price or the name. Everything else is in the line's **Edit** dialog.

## A line in the cart[​](#line "Collegamento diretto a A line in the cart")

A product line shows its quantity, its name and its unit price, with the line total on the right. Fees and shipping are lines too, below the products. The [columns](/it/sell/cart.md#columns) you show decide what else is there.

![The cart with three lines: 3 × Aim Analog Watch at $45.00 with the custom field Engraving: Happy birthday, a Gift wrapping fee of $2.00 and Local delivery shipping of $5.00](/img/2.x/pos/cart/line-items/en/tablet-light-regular--l1-1-cart-lines.png)12345678

1. **Qty** — the quantity. Tap it to change it; see [Change the quantity](#quantity).
2. **Item** — the product's name. Tap it to rename the line for this sale: the name turns into a text box, and Enter or tapping anywhere else keeps the new name. Underneath are the options a [variation](/it/sell/find-products/variable-products.md) was sold with and the line's [custom fields](#meta-data), as `Key: value`. Turn on the column's **SKU** option to show the SKU too.
3. **Price** — the price of one. Tap it to change it; see [Change the price](#price). When the price is lower than the regular price, the regular price shows struck through above it.
4. **Total** — quantity times price. Tap it to show **Edit** and **Remove**; see [Edit or remove a line](#remove-item).
5. **A fee** — tap its name to rename it, the same way, and its amount to change it. See [Fees](/it/sell/cart.md#fees).
6. **A shipping line** — the same: tap its title or its amount. See [Shipping](/it/sell/cart.md#shipping).
7. **+** — adds a fee, shipping, a discount or a [miscellaneous product](/it/sell/cart.md#miscellaneous-products) to the cart.
8. **Cart Settings** — which side the cart sits on, how it sorts its lines and which columns it shows; see [Cart Settings for lines](#cart-settings).

## Change the quantity[​](#quantity "Collegamento diretto a Change the quantity")

Tap the quantity box. In the iOS and Android apps you type the number straight into the box, and a quantity of 0 removes the line. Everywhere else a keypad opens: type the new quantity, then tap the tick (or press Enter) to keep it. On a phone the keypad opens as a sheet from the bottom of the screen; on a tablet or computer it grows from the box, with the quantity at the top:

![The quantity keypad open over a line of 1: a bin on the left of the 1, a plus on the right, the number keys, a delete key and a tick](/img/2.x/pos/cart/line-items/en/tablet-light-regular--l1-2-quantity-keypad.png)123456

1. **The quantity** — what you've typed so far.
2. **−** — one fewer. At 1 it turns into a bin, as here: pressing it removes the line.
3. **+** — one more.
4. **Number keys** — type the new quantity.
5. **Delete** — takes off the last digit.
6. **Done** (the tick) — keeps the new quantity. Enter does the same. Escape closes the keypad and keeps the quantity you had.

When your store has [Enable Decimal Quantities](/it/settings/general.md#enable-decimal-quantities) on, the keypad also has a decimal key, marked with your store's decimal separator. It takes a part quantity such as 2.5 or 0.25 (up to six decimal places), for things sold by weight or length.

When your store prevents overselling, a quantity above what you have in stock turns amber; see [When checkout is blocked](#checkout-blocked).

### Split a line[​](#splitting-line-items "Collegamento diretto a Split a line")

**Split** turns one line of several into separate lines of one each, so you can give one of them a different price, discount or note. A part quantity keeps its fraction on a line of its own: a line of 2.5 splits into 1, 1 and 0.5.

The **Split** link sits under the quantity of any line with more than one. It's off until you switch it on in **Cart Settings**.

Where the Split link is, and how to switch it on

![A line of 3 Aim Analog Watch with the Split link under its quantity](/img/2.x/pos/cart/line-items/en/tablet-light-regular--l1-13-split-link.png)12

1. **Qty** — the line's quantity, 3 here.
2. **Split** — tap it to make three lines of one.

To switch it on, open **Cart Settings** (the sliders icon above the cart), find the **Qty** column and turn on its **Split** option.

![Cart Settings scrolled down to the columns, with the Split option under the Qty column](/img/2.x/pos/cart/line-items/en/tablet-light-regular--l1-8-split-column-option.png)

## Change the price[​](#price "Collegamento diretto a Change the price")

Tap the price, type the new price for one (or press a quick discount key), then tap the tick (or press Enter) to keep it. The price grows into a keypad:

![The price keypad on a $45.00 line with the −10% key lit: $45.00 −10 % above the new price $40.50, the number keys, a decimal point, a delete key and a tick](/img/2.x/pos/cart/line-items/en/tablet-light-regular--l1-3-price-keypad.png)1234567

1. **The price** — the new price for one. After a quick discount the sum shows above it: here $45.00 −10 %, making $40.50.
2. **−5%** — a **quick discount** key: it takes 5% off the line's price.
3. **−10%** — lit, because it's been pressed. Press a lit key again to undo it.
4. **−15%** — takes 15% off. These three are where you start; you can [change them](/it/sell/cart/discounts.md#quick-discounts).
5. **Number keys** — type the new price for one. The first digit replaces the old price.
6. **Delete** — takes off the last digit.
7. **Done** (the tick) — keeps the new price. Enter does the same. Escape closes the keypad and leaves the price as it was.

With a keyboard, type the digits, use Backspace to delete, Enter to keep and Escape to cancel. On the quantity keypad the up and down arrows add or take one (down stops at 1).

On a phone in the browser the same keypad opens as a sheet. In the iOS and Android apps, tapping the price turns it into a box: type the new price for one, and it's kept when you leave the box. The quick discount keys are on the keypad only.

A price edit is not a WooCommerce "discount"

A lowered price is recorded as the item's sale price. Receipts can show the saving, but the order's **Discount** total is reserved for coupons, and reports count the sale at the price paid. See [Cart Discounts](/it/sell/cart/discounts.md#why-tracked-differently) for why WooCommerce treats the two differently.

### A new price stays on this sale[​](#price-this-sale "Collegamento diretto a A new price stays on this sale")

A price you change in the cart is for this sale only. The product keeps its own price: its tile still shows it, on this device and on others. To change the price for every sale, change the product's price on the [Products](/it/manage-store/products.md#inline-price-editing) screen or in WP Admin.

To sell something that isn't in your catalogue, at a price you type, press **+** and add a [miscellaneous product](/it/sell/cart.md#miscellaneous-products).

## Edit or remove a line[​](#remove-item "Collegamento diretto a Edit or remove a line")

Each line has **Edit** and **Remove** buttons hidden under it. To show them:

* **Tap the line's total.** Tap it again to hide them.
* **Hover** over the total with a mouse and the line slides aside to give you a peek.
* **Swipe the line** to the left on a touch screen, or drag it left with the mouse.

![The watch line slid to the left, showing a blue Edit button and a red Remove button](/img/2.x/pos/cart/line-items/en/tablet-light-regular--l1-4-line-strip.png)12

1. **Edit** — opens the [Edit dialog](#edit-form).
2. **Remove** — takes the line out of the cart.

Swipe further and **Remove** fills the whole row in red: let go and the line is removed in one move.

The message that appears after a removal has **Undo**, which brings the line back as it was.

## The Edit dialog[​](#edit-form "Collegamento diretto a The Edit dialog")

**Edit** opens the line's details in a dialog named after it. Changes save as you make them; press **Close** when you're done.

For a product line:

![Edit Aim Analog Watch: Name, Quantity 3, Price 45.00, Tax Standard rate, SKU 24-MG04 with Remove, the custom field Engraving: Happy birthday, the Regular Price and Custom field buttons, and Close](/img/2.x/pos/cart/line-items/en/tablet-light-regular--l1-5-edit-line.png)12345678

1. **Name** — what the receipt and order call it.
2. **Quantity** — the same as in the cart.
3. **Price** — the same as in the cart. When the line is on sale, the regular price shows beside it with **was**. Its **Remove** drops the regular price: the line is no longer on sale, and the price stays as it is.
4. **Tax** — whether the line is taxable, and its tax class.
5. **SKU** — shown when the product has one. A line without a SKU has a **SKU** button to add one.
6. **Regular Price** — adds a regular price to a line that isn't on sale.
7. **Custom field** — adds a key and a value, like the **Engraving** row above it; see [Custom fields](#meta-data).
8. **Close** — closes the dialog. Everything you changed is already saved.

Each added row has its own **Remove**. A [miscellaneous product](/it/sell/cart.md#miscellaneous-products) isn't in your catalogue, so its dialog also has **Categories**, **Virtual** and **Downloadable**.

A line's tax is worked out at the rates for the order's address. When your store [calculates tax](/it/settings/tax/pos-tax.md#calculate-tax-based-on) from the customer's address and you change the customer, or their address, to one with other rates, the lines are taxed again at the new rates straight away. A [tax exempt](/it/sell/cart.md#tax-exempt) order stays exempt.

### A fee line[​](#edit-fee "Collegamento diretto a A fee line")

**Edit** on a fee opens the fee's own dialog, named after it. It saves as you go, like a product's.

A fee can't be negative: the dialog says **A fee cannot be negative. Use Add Discount instead.** See [Discounts](/it/sell/cart/discounts.md).

Edit a fee: the dialog and its fields

![Edit Gift wrapping: Fee Name, Amount 2.00 with the $ and % switch, Amount Includes Tax switched on, Tax Standard rate, the Custom field button and Close](/img/2.x/pos/cart/line-items/en/tablet-light-regular--l1-11-edit-fee.png)1234567

1. **Fee Name** — what the receipt calls the fee.
2. **Amount** — a fixed sum, or a percentage when **%** is chosen.
3. **$ / %** — switches the amount between a sum and a percentage of the cart total.
4. **Amount Includes Tax** — on when the amount already has tax in it.
5. **Tax** — **Not taxable**, or the tax class charged on the fee.
6. **Custom field** — see [Custom fields](#meta-data).
7. **Close** — closes the dialog.

### A shipping line[​](#edit-shipping "Collegamento diretto a A shipping line")

**Edit** on a shipping line opens its own dialog, which also saves as you go.

Edit a shipping charge: the dialog and its fields

![Edit Local delivery: Shipping Method Title, Shipping Method Local pickup, Amount 5.00, Amount Includes Tax switched on, Tax Taxable or None, the Custom field button and Close](/img/2.x/pos/cart/line-items/en/tablet-light-regular--l1-12-edit-shipping.png)1234567

1. **Shipping Method Title** — what the receipt shows.
2. **Shipping Method** — one of your store's shipping methods, recorded with the order.
3. **Amount** — the shipping charge. You type it: the POS doesn't work out shipping rates.
4. **Amount Includes Tax** — on when the charge already has tax in it.
5. **Tax** — **Taxable** or **None**.
6. **Custom field** — see [Custom fields](#meta-data).
7. **Close** — closes the dialog.

Technical details: the JSON tab, line kinds and WCPOS's own fields

### The JSON tab[​](#raw-json-view "Collegamento diretto a The JSON tab")

The **JSON** tab beside **Form** shows the line exactly as it goes to WooCommerce. You won't need it for a sale. It helps when you're checking what a plugin will see, or why a field isn't saving.

#### The three kinds of line[​](#line-item-types "Collegamento diretto a The three kinds of line")

WooCommerce stores products, fees and shipping as separate kinds of line:

| Kind     | In WooCommerce  | Examples                            |
| -------- | --------------- | ----------------------------------- |
| Product  | `line_item`     | T-shirt, Coffee mug                 |
| Fee      | `fee_line`      | Gift wrapping, Service charge       |
| Shipping | `shipping_line` | Standard shipping, Express delivery |

#### WCPOS's own fields[​](#protected-keys "Collegamento diretto a WCPOS's own fields")

WooCommerce calls custom fields meta data. Keys that start with an underscore are WCPOS's own records (such as `_woocommerce_pos_data` and `_reduced_stock`). They stay out of the form and the cart, and you can see them on the **JSON** tab.

## Custom fields[​](#meta-data "Collegamento diretto a Custom fields")

A custom field is a note kept with one line, such as an engraving or a serial number. To add an engraving, open the line's **Edit** dialog, tap **Custom field**, type **Engraving** in **Key** and the customer's message in **Value**. The field shows under the line's name in the cart, and on the order in WP Admin. Each one has its own **Remove**.

Some fields come with the product: any [Meta Data Keys](/it/manage-store/products/custom-fields.md) you've chosen are copied onto the line when you add it.

If the form says **This key is managed by WCPOS. Choose another key.**, you've typed one of [WCPOS's own keys](#protected-keys). Pick a different key.

## Cart Settings for lines[​](#cart-settings "Collegamento diretto a Cart Settings for lines")

**Cart Settings**, the sliders icon above the cart, sets which side the cart sits on and the order of its product lines. Fees and shipping always stay last, in the order you added them.

Change the cart position and item order

![Cart Settings with Cart left and Cart right, and Sort items](/img/2.x/pos/cart/line-items/en/tablet-light-regular--l1-6-cart-settings.png)12

1. **Cart left / Cart right** — which side of the screen the cart sits on. It starts on the right.
2. **Sort items** — the order of the product lines. See below.

The rest of the dialog, from open orders to the columns, is covered in [Display Settings](/it/sell/cart.md#display-settings).

**Sort items** has four orders:

![The Sort items list open: Newest at bottom, Newest at top, Name and Price](/img/2.x/pos/cart/line-items/en/tablet-light-regular--l1-7-sort-items.png)1

1. **Sort items** — **Newest at top** (the default) puts the last product you added first. **Newest at bottom** keeps the order you added them. **Name** sorts A to Z. **Price** goes from the lowest price of one to the highest.

## When checkout is blocked[​](#checkout-blocked "Collegamento diretto a When checkout is blocked")

When your store [prevents overselling](/it/settings/checkout.md#prevent-overselling), the cart checks every product line against your stock:

* A notice above the lines lists each one that's short: **Only 2 available for Hoodie**, with **Reduce**, which opens that line's quantity, or **Hoodie out of stock**, with **Remove**.
* The short lines are marked in amber with what's available.
* **Checkout** dims. Pressing it takes you to the first line to fix.

Fix every line and **Checkout** comes back. A product on backorder doesn't block the sale.

## If something goes wrong[​](#goes-wrong "Collegamento diretto a If something goes wrong")

**"Couldn't update that item — it's no longer in the cart."** The line was removed while you were changing it. Check the cart and make the change again.

**"That item is no longer in the cart."** You pressed **Remove** on a line that had already gone. Nothing else is needed.

**There's no Split link.** Turn on **Split** under the **Qty** column in **Cart Settings**. The link only shows on lines with a quantity above 1.

**Checkout is dimmed.** A line is short of stock. See [When checkout is blocked](#checkout-blocked).

**A custom field won't save.** Its key starts with an underscore and belongs to WCPOS. Choose another key.

## Related Documentation[​](#related-documentation "Collegamento diretto a Related Documentation")

[The CartCustomers, fees, shipping, columns and the rest of the cart](/it/sell/cart.md)

[DiscountsQuick discounts, coupons and how WooCommerce records them](/it/sell/cart/discounts.md)

[Meta Data KeysCopy product custom fields onto cart lines](/it/manage-store/products/custom-fields.md)
