> For the complete documentation index, see [llms.txt](https://docs.globo.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.globo.io/globo-b2b-bulk-order/quick-order-form/paste-a-sku-list.md).

# Let buyers paste a SKU list

Let buyers paste SKUs or barcodes with quantities into a Quick Order form, check the matched items and add them all to the cart at once.

Turn on the paste list and buyers can paste lines of SKUs or barcodes with quantities into your Quick Order form, for example two columns copied from a spreadsheet. They check the matched items in a review step, then add everything to the cart in one click.

## Before you start

* You have a Quick Order form that is **Active** and placed on a page of your store. See [Create a Quick Order form](/globo-b2b-bulk-order/quick-order-form/create-a-form.md) and [Add the form to a page](/globo-b2b-bulk-order/getting-started/getting-started.md#add-the-form-to-a-page).
* The **Globo Bulk Order** app embed is on in your theme. See [Enable the app embed](/globo-b2b-bulk-order/getting-started/enable-app-embed.md).
* Your products have SKUs or barcodes in Shopify. Pasted codes are matched by SKU and barcode only, never by product name.

## Turn on the paste list

{% stepper %}
{% step %}

### Open the form

In Shopify admin, go to **Apps** > **Globo B2B Bulk Order**, then click **Quick Order** in the app navigation. In the row of the form you want to change, click the pencil icon (**Edit**). The form editor opens in a full-screen window.
{% endstep %}

{% step %}

### Turn on Allow pasting a SKU list and choose the options

In the left sidebar, click **Customize**. In the **File upload order** section:

1. Select **Allow pasting a SKU list**. It works with or without **Enable file upload**.
2. Optional: select **Show “Clear cart and add” button** and **Let customers download the review summary** to add those buttons to the review step.

<figure><img src="https://4205698016-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcOPpR31lfLzPdPWnPtOU%2Fuploads%2Fgit-blob-caa653880abceb116c9d8903e46cc4940b455e82%2Fscreenshot-quick-order-file-upload-order.png?alt=media" alt="Quick Order form editor, Customize tab, File upload order section with Enable file upload, Allow pasting a SKU list and both review options selected, the CSV, XLS, PDF, JPG and PNG file type chips, and Part Number entered as an extra SKU column name"><figcaption><p>Allow pasting a SKU list sits in the File upload order section, next to the file upload options.</p></figcaption></figure>
{% endstep %}

{% step %}

### Save

Click **Save** in the save bar. The message **Form updated** confirms it (**Form created** for a new form).

The editor's preview shows the **Bulk order** button, but clicking it there does nothing. Test the paste box on your storefront.
{% endstep %}

{% step %}

### Check it on your storefront

Open the page that shows your form. The **Bulk order** button sits in the **Order table** heading, next to **Clear**.

If you don't see the form or the button, check that the form is **Active**, that it was saved, and that the page and the buyer match its [visibility settings](/globo-b2b-bulk-order/quick-order-form/visibility.md). More fixes are in [Troubleshooting](/globo-b2b-bulk-order/help/troubleshooting.md).
{% endstep %}
{% endstepper %}

## Options that apply to pasted lists

| Setting                                       | What it does for pasted lists                                                                                                        | Default |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------- |
| **Allow pasting a SKU list**                  | Adds the paste box to the **Bulk order** window.                                                                                     | Off     |
| **Show “Clear cart and add” button**          | Adds **Clear cart and add** to the review step. It empties the buyer's cart first, so the cart holds exactly the reviewed items.     | Off     |
| **Let customers download the review summary** | Adds **Download summary** to the review step. It downloads the review as a CSV file, including lines that couldn't be added and why. | Off     |
| **Spreadsheet column names**                  | Shown only when **Enable file upload** is on. If the first pasted line is a header that uses one of these names, it's skipped.       | Empty   |

{% hint style="info" %}
The review options are shared with file upload: what you choose applies to uploaded files and pasted lists alike. To set up file upload too, see [Let buyers upload an order file](/globo-b2b-bulk-order/quick-order-form/upload-an-order-file.md).
{% endhint %}

## What buyers see

{% stepper %}
{% step %}

### Open the paste box

The buyer clicks **Bulk order** in the form.

* If only **Allow pasting a SKU list** is on, the window opens on the paste box, titled **Add items by SKU** with the text **Paste SKUs or barcodes with their quantities, one per line.**
* If **Enable file upload** is also on, the window has two tabs and first opens on **Upload file**. The buyer clicks the **Paste list** tab, and the title changes to **Add items by SKU**. The window remembers the last tab used while the buyer stays on the page.
  {% endstep %}

{% step %}

### Paste the list

The buyer pastes the list into the **SKU or barcode and quantity** box. Under the box, the help text reads **One item per line: the SKU or barcode, then the quantity, separated by a space, tab or comma. You can paste two columns straight from a spreadsheet.** The accepted formats are in [Line formats](#line-formats).
{% endstep %}

{% step %}

### Review the items

The buyer clicks **Review items**, or presses Ctrl+Enter (Cmd+Enter on a Mac) in the box. If the box is empty, they see **Paste at least one SKU or barcode to continue.**

A spinner shows while the list is matched. If the form's product list is still loading, the app first looks up just the pasted codes. When every code is found, the review opens right away. Otherwise the review opens once the whole list has loaded. The spinner has no visible text: screen readers announce these steps as **Matching your items…** and **Finishing loading the product list before matching your file…**.

The review lists every matched item with notes about stock. The buyer can change quantities and add a PO number. See [The review step](#the-review-step).
{% endstep %}

{% step %}

### Add to cart

* **Add To Cart** adds the reviewed quantities to what's already in the cart, up to the available stock.
* **Clear cart and add** (if you turned it on) empties the whole cart first, then adds exactly the reviewed quantities.

The window closes, the table and the footer total update, and a toast shows **{{count}} item(s) added to your order.** (`{{count}}` is the number of different items added). The paste box is then emptied. If Shopify refuses some lines, for example because an item just sold out, the other lines are still added and an error toast names up to 3 items that weren't. Toasts only appear when **Show toast after add to cart** is on in [Toast notifications](/globo-b2b-bulk-order/settings/cart-notifications.md).

**Cancel**, **×** or a click outside the window closes it without changing the cart. The pasted text stays in the box for next time.
{% endstep %}
{% endstepper %}

## Line formats

For example, this list is read as five items:

```
TEE-CRW-TEA-M 24
JKT-ZIP-SKY-2XL 5
2007110000010 50
PIN-ENM-EGG, 1
MUG-CER-MID
```

| What the buyer pastes                                                    | Read as                                                                                                                                                      |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `TEE-CRW-TEA-M 24`                                                       | 24 × `TEE-CRW-TEA-M`. Code and quantity separated by a space.                                                                                                |
| `TEE-CRW-TEA-M,24`                                                       | 24 × `TEE-CRW-TEA-M`. Separated by a comma.                                                                                                                  |
| Two cells copied from a spreadsheet: `TEE-CRW-TEA-M` and `24`            | 24 × `TEE-CRW-TEA-M`. Spreadsheet cells arrive separated by tabs. The first filled cell is the code, the next one the quantity, and other cells are ignored. |
| `2007110000010 50`                                                       | 50 × the variant with barcode `2007110000010` (Enamel Lapel Pin, Rainbow).                                                                                   |
| `MUG-CER-MID`                                                            | Quantity 1, when no quantity is given.                                                                                                                       |
| `TEE-CRW-TEA-M 24, PIN-ENM-RBW 50` or `TEE-CRW-TEA-M 24; PIN-ENM-RBW 50` | Two items on one line, separated by a comma or a semicolon.                                                                                                  |
| `SKU Quantity` as the first line                                         | Skipped as a header. On any other line it's an error.                                                                                                        |
| `PIN-ENM-RBW 2.5`, `PIN-ENM-RBW 0`, `PIN-ENM-RBW ten`                    | An error line (see below). The quantity must be a whole number greater than 0.                                                                               |

Rules:

* Each code is tried as a SKU first, then as a barcode. Upper and lower case don't matter.
* If a SKU contains spaces, the buyer puts a tab or a comma before the quantity. With a space, the last word is read as the quantity.
* Blank lines are ignored.
* Up to 1,000 entries are read from one paste (each code with its quantity is one entry). After that, reading stops and the review shows **Only the first {{max}} lines were read.**
* A line that can't be read shows in the review as **Line {{line}}: "{{text}}" — the quantity must be a whole number greater than 0.** It isn't added. The buyer can fix it and review again.

## The review step

Pasted lists get the same review as uploaded files.

From top to bottom, the review shows:

* **Summary line**: **{{matched}} of {{total}} row(s) matched a product in this list.** Lines that can't be read count in the total. Next to it are **Download summary** (if you turned it on) and **Cancel**, which goes back to the paste box.
* **PO / Order # (optional)**: empty for a pasted list. When the buyer types a number and at least one item is added, it's saved on the order as `Customer PO #` (shown under **Additional details**) and as a line `Customer PO #: …` in the order note.
* **Matched items**: columns **Product**, **Price**, **Stock** and **Qty**. Each row shows the product and variant name, the pasted code, any notes, the price, the stock badge and a quantity box (from 1 up to the available stock).
* **Codes that didn't match**: listed as **SKU "{{sku}}" not found** (barcodes too). They're never added.
* **Lines that couldn't be read**, with the line number.

If nothing matched, **Add To Cart** and **Clear cart and add** stay disabled. The buyer clicks **Cancel**, fixes the list in the paste box and clicks **Review items** again.

Only products in this form can match. Prices in the review and in the summary file are your regular storefront prices. If you use [Globo B2B Wholesale Pricing](https://apps.shopify.com/wholesale-sami), its prices apply once the items are in the cart.

### Notes on each line

| Note                                                            | When it appears                                                                                 | What gets added               |
| --------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------- |
| **Out of stock — won't be added**                               | The item has no stock.                                                                          | Nothing                       |
| **All available stock is already in your cart**                 | The cart already holds all the stock.                                                           | Nothing                       |
| **Only {{available}} available — {{quantity}} will be added**   | The list asks for more than the stock left.                                                     | The stock left                |
| **{{count}} products share this code — the first one was used** | Several variants in the form have the same SKU or barcode.                                      | The first matching variant    |
| **{{count}} lines combined**                                    | The same item appears on several lines, such as the same SKU twice, or its SKU and its barcode. | The quantities added together |
| (no note)                                                       | Nothing to flag. In the summary file the note reads **Ready**.                                  | The quantity in the box       |

* Words in double curly brackets, such as `{{available}}`, are replaced with real numbers or text.
* Notes update when the buyer changes a quantity.
* Items that don't track inventory are never reduced. Items set to continue selling when out of stock are limited to their stock while they still have some, and aren't limited once their stock is 0.
* Notes assume the items already in the cart stay there. **Clear cart and add** empties the cart first, so it can also add items marked **All available stock is already in your cart**.

If nothing in the review can be added, an error toast shows **None of these items can be added — they're out of stock or already in your cart.** and the review stays open.

{% hint style="warning" %}
**Clear cart and add** removes everything from the buyer's cart, including items added outside the Quick Order form. Turn it on only if your buyers expect the cart to hold exactly one order.
{% endhint %}

**Download summary** saves `order-summary.csv` with the columns `SKU / Barcode`, `Product`, `Requested`, `To add`, `Price` and `Note`. Codes that didn't match and lines that couldn't be read are included with `To add` = 0 and the reason in `Note`.

To change any of this wording, or translate it, go to **Settings** > **Translations**, click the pencil icon (**Translate**) in the row of a language, then click **Quick Order Form Table** under **Storefront sections**. These texts are in the **File upload** group. See [Edit translations](/globo-b2b-bulk-order/settings/edit-translations.md).

## Next steps

* [Let buyers upload an order file](/globo-b2b-bulk-order/quick-order-form/upload-an-order-file.md)
* [Customize the form](/globo-b2b-bulk-order/quick-order-form/customize-the-form.md)
* [Toast notifications](/globo-b2b-bulk-order/settings/cart-notifications.md) control the messages shown after items are added
* [Troubleshooting](/globo-b2b-bulk-order/help/troubleshooting.md)
