# Promotions

Connects the order to NetSuite's native promotion engine. When this block is present, configured promotion rules can apply automatically as line items are added (or be manually evaluated, depending on the toggle).

The block has minimal UI — in the Page Builder canvas it shows a small status indicator. At runtime it operates in the background, applying any matching promotions to the order without the user having to think about discount codes or manual entry.

## Available in

* Order Form modules

## When to use

* POS or B2C order pages where qualifying NetSuite promotions should apply automatically (buy-X-get-Y, percentage off, customer-tier discounts).
* Any order page that's expected to honour active promotional campaigns set up in NetSuite.
* B2B order pages where promotional pricing is rule-driven rather than manually applied.

For a discount the user picks from a fixed list, use **Discount Item**. For a free-form discount header, use **Discount Header**.

## Settings

The block opens a configuration modal:

| Setting                            | Description                                                                                                                                                                                            |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Automatically Apply Promotions** | When on, qualifying promotions apply as soon as the order qualifies. When off, promotions are evaluated only on a manual trigger. Default: off.                                                        |
| **Show Calculate Button**          | When on, a **Calculate Promotions** button appears on the page. Clicking it evaluates all qualifying promotions at once — a visible one-click trigger when *Automatically Apply* is off. Default: off. |

## How it works

1. The block writes its *Auto Apply* setting into the order state on mount.
2. When the user adds, removes, or modifies line items, the order state is evaluated against NetSuite's active promotion rules.
3. If *Auto Apply* is on and a promotion qualifies, it's applied to the order automatically — visible in **Summary** as a discount line.
4. If *Auto Apply* is off, the order state still tracks qualifying promotions but doesn't apply them; you'd add an Action Button or similar to trigger application manually.
5. The block doesn't render visible UI at runtime (only in the editor as a status indicator).

## Examples

**Automatic POS promotions.** Drop Promotions onto the cashier's Order Form with *Automatically Apply Promotions* on. Active NetSuite promotions apply as the cashier rings items — no extra steps.

**Manual review of promotions.** Set *Automatically Apply Promotions* off and pair with an Action Button labelled *Apply Promotions*. The user clicks once after building the order to see all qualifying promotions applied at the same time.

## Common issues

* **No promotions appear** — verify NetSuite has active promotions configured and the customer qualifies. Promotions block only applies what NetSuite says is valid.
* **Automatic promotions disappear** — modifying line items can change which promotions qualify; the block re-evaluates on every change. Check whether the order still meets the promotion's conditions.

## 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>Discount Item</strong></td><td>Apply a manually-selected discount from an admin-curated list.</td><td><a href="/pages/tl5ZnrxLYmg4MefCeLHy">/pages/tl5ZnrxLYmg4MefCeLHy</a></td></tr><tr><td><strong>Discount Header</strong></td><td>Free-form discount on the order header.</td><td><a href="/pages/KwPchVKzF7YaQmTvHEIT">/pages/KwPchVKzF7YaQmTvHEIT</a></td></tr><tr><td><strong>Summary</strong></td><td>Where applied promotions show up in the running 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/promotions.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.
