# Order Lines

The central line-item table for any Order Form. It holds the items the user is ordering, with editable quantities, rates, discounts, and per-line custom columns. Items are added by **Add to Order Button**, **Scan Items**, **CSV Import**, **Saved Orders**, or directly from the Catalog Display.

The block also handles bin auto-assignment, kit components, partial fulfilment quantity caps, and exchange-mode (separate refund/sale lines).

![Order Lines table with several rows showing item, quantity, rate, amount, plus per-line action buttons](/files/ifyaF9ehJK9rOwOfXQpk)

## Available in

* Order Form modules
* Public Page modules

## When to use

* Every Order Form page that creates or edits a transaction. There's typically only one Order Lines block per page.

## Settings

| Setting                                  | Description                                                                                                         |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Configure**                            | Opens the configuration modal — columns, pricing, discounts, bin assignment, search behaviour, and behaviour flags. |
| **Product image / content / tabs slots** | Slots for customising how product info renders within line items.                                                   |

The configuration modal supports:

* **Allow Edit** — let users edit quantities and rates directly. Default: Yes. Can be PIN-gated so edits require manager approval.
* **View Mode** — table (default) or compact list.
* **Hide Amount** — hide the Amount column for simpler displays.
* **Price Level** — which NetSuite price level to apply. Empty = use the workflow's default.
* **Price Field** — *priceLevels* (default), *baseprice*, *cost*, *transferprice*, or a NetSuite custom price field.
* **Quantity Adjusts Rate** — when on (default), changing quantity recalculates the line rate using configured pricing effects (volume tiers, etc.). Turn off to keep the rate fixed when quantity changes.
* **Show Kit Components** — expand kit items to show their components.
* **Display Refresh Button** + **Refresh Button Label** — show a button to manually re-fetch stock levels.
* **Auto-Refresh Stock** — re-fetch stock levels automatically whenever items are added or removed.
* **Display Item Details / Thumbnail** — show extra item info per row.
* **Item Column Field / Char Limit** — which field to show in the item column and how long.
* **Item Column View Only** — make the item column read-only (typed entry disabled — items only added via scan, click, or import).
* **Hide Item Column** — hide the item column entirely (and exclude it from the saved payload).
* **Searchable Fields** + **Search Match Mode** — which item fields the in-line item search checks, and whether matches are *contains* or *starts with*.
* **Custom Columns** — add extra editable columns (text, number, dropdown, etc.) to capture per-line data beyond NetSuite's standard fields.
* **Column Links** — turn a column's value into a clickable link (e.g. open a related record from the item code).
* **Dropdown Sort Fields** — control how items in the in-line dropdown are sorted (by name, code, custom field).
* **Separate Line Items / Exchange Items** — exchange-mode behaviour (separate sale and refund lines).
* **Bin Auto-Assignment Strategy** — for items with bin tracking: *Preferred Bin First*, *Highest Quantity Available*, *Preferred Bin Cascade*, *Highest Quantity Cascade*.
* **Confirm Delete** — confirmation dialog before removing a line.
* **Remaining Quantity** — cap quantity to unfulfilled amount on partial fulfilments.
* **Receive or Fulfill All** — one-click action that fills every line's quantity to its remaining amount (used in receiving and fulfilment flows).
* **Sublist ID** — the NetSuite sublist the lines save to. Default fits Sales Order; change for fulfilment, receipt, or transfer order use cases.
* **Tally Pricing** — when on, a **Tally Price** action appears per line. Clicking it opens the Tally Pricing modal where the user can break down a line's price into quantity-tiered or component-based pricing before confirming the rate.
* **Apply Filters to Child Items** — when on, catalog and item filters also apply to matrix child items (variants), not just to parent items. Useful for keeping filtered results consistent when your catalog has matrix products.

Per-line **Print Preview** is also available — when configured, each line gets a small print action that opens the line's item in a print-preview modal.

## How it works

1. Items added from any source (catalog click, scan, CSV, manual) land here.
2. Each line resolves its price using the configured price level (with workflow default as fallback).
3. The user can edit quantities, rates, and discounts inline (when **Allow Edit** is on).
4. For bin-tracked items, the configured **Bin Auto-Assignment Strategy** runs to assign stock bins.
5. Group items auto-expand to show their components.
6. On line removal or location change, the block triggers a stock-level refresh.
7. When a gift certificate item is added, the Gift Certificate modal opens to capture the certificate code and validate its balance before the line is confirmed.

In exchange mode, the block separates lines into *sale* and *refund* groups and computes credit accordingly.

{% hint style="info" %}
Bin Auto-Assignment runs only when bin tracking is enabled in NetSuite. The cascade strategies fill multiple bins in priority order; if total available stock is still short, a warning toast appears and the remainder lands on the last bin (NetSuite validates at submit).
{% endhint %}

## Examples

**Standard cashier register.** Order Lines with default settings, paired with Customer/Vendor Selection, Scan Items, and Payments. Cashier scans items in, adjusts quantity if needed, takes payment.

**B2B bulk entry.** Order Lines with View Mode = compact list, Allow Edit = on, Show Kit Components = off. Buyers enter dozens of items quickly via CSV Import.

**Exchange-flow POS.** Order Lines with Exchange Items enabled. Returns and new purchases sit in the same transaction with separate line groups.

## Related

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Scan Items</strong></td><td>Add items via barcode scan.</td><td><a href="/pages/PC2EFByZnGsrx5I8U4dJ">/pages/PC2EFByZnGsrx5I8U4dJ</a></td></tr><tr><td><strong>Payments</strong></td><td>Take payment for the order — reads the Order Lines total.</td><td><a href="/pages/9UpRZRjM7iTVfilhHOmR">/pages/9UpRZRjM7iTVfilhHOmR</a></td></tr><tr><td><strong>Summary</strong></td><td>Subtotal, tax, shipping, discount, total.</td><td><a href="/pages/kclyuiviMjm8L7MhEpoq">/pages/kclyuiviMjm8L7MhEpoq</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.in8sync.com/client-admin-guide/active-workflows/getting-started/transaction-components/order-lines.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
