# Transaction List

The flexible transaction-list block. Configure which transaction types are listed, which columns to show, what filters apply, and which row-level actions users can take. The data source can be the standard transaction tables, a NetSuite saved search, or a custom query — with priority *query > saved search > standard*.

The block also supports user-restriction filtering — automatic visibility filters based on the signed-in user's vendor / customer / partner / employee record.

> **Note on naming:** The palette label is **Transaction List**. The block file is `TransactionsAdvanced`.

## Available in

* Page modules
* Dashboard modules

## When to use

* Order History pages where users browse their past transactions.
* Customer-service queues where agents work through open orders.
* Operations dashboards listing transactions by status, location, or type.
* Anywhere a richer, configurable list is needed — beyond what Report Widget provides.

For a simpler tabular report driven by a single saved search, **Report Widget** is often a better fit.

## Settings

| Setting       | Description                                                                                  |
| ------------- | -------------------------------------------------------------------------------------------- |
| **Title**     | Heading text. Default: *Transactions Advanced*.                                              |
| **Configure** | Opens the configuration modal — types, columns, filters, actions, restrictions, data source. |

The configuration modal supports:

* **Transaction Types** — which types to include (e.g. *SalesOrd*, *CashSale*, *Invoice*).
* **Columns** — array of `{ fieldId, label, visible }`. Defaults: tranid, trandate, entity, status, total.
* **Filters** — pre-applied filters that always run.
* **Actions** — per-row buttons: each has an action ID, label, type (typically *navigate*), destination, and icon.
* **Items Per Page** — pagination size. Default: 100.
* **Saved Search** — NetSuite saved search ID. Higher priority than the default columns.
* **SuiteQL** — raw query for full data control. Highest priority. Filter values support session tokens like `{employeeId}` and `{locationId}` for dynamic, per-user conditions without extra JavaScript.
* **User Restrictions** — automatic filters based on the signed-in user's entity. Toggle per entity type (vendor, customer, partner, employee), with per-user overrides.
* **Display Mode** — *Full* (paginated table, default) or *Snapshot* (compact dashboard variant showing only the top *Snapshot Limit* rows).
* **Snapshot Limit** — number of rows to show in Snapshot mode. Default: 6.
* **Subtitle** — supporting copy beneath the title (Snapshot mode).
* **Show Filter Tabs** + **Filter Tabs** — render a tab strip above the table where each tab applies a saved filter set.
* **Status Color Config** — colour-code rows or status badges by transaction status.

## How it works

1. Resolves the data source in priority order:
   * **SuiteQL** (highest) — runs the custom query.
   * **Saved Search** — runs the named saved search.
   * **Default** — runs a standard search filtered by the configured Transaction Types.
2. Applies filters from three sources combined: configured (from the modal), dynamic (from upstream Transaction List Filter blocks � which can include runtime-resolved values that auto-filter by the signed-in user's location or other session data), and user-restriction-based.
3. Renders results in a paginated table with the configured columns.
4. Per-row actions appear as buttons (typically *View*, navigating to a detail page).
5. On row hover, the destination page pre-fetches for snappier navigation.
6. Date filters use the workflow's configured date format for display.

In edit mode, the block limits to 10 records to keep the canvas responsive.

{% hint style="warning" %}
**SuiteQL** gives you full data-source control but bypasses the standard column / filter logic. Use it when the standard search isn't enough — and document your query carefully so future maintainers know what it returns.
{% endhint %}

## Examples

**Customer order history.** Transactions Advanced with Transaction Types = `[SalesOrd, Invoice]`, User Restrictions = customer (so each customer sees only their own orders), Actions = `[View → /order-detail?id={id}]`.

**Operations queue.** Transaction Types = `[SalesOrd]`, Filters = `status = Pending Fulfillment`, columns include *Date*, *Customer*, *Total*. Refreshes via the workflow's standard refresh cycle.

**Custom-query report.** SuiteQL set to a multi-table query joining transactions with custom records. Items Per Page = 50.

## 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>Transaction List Filter</strong></td><td>Standalone filter inputs that drive Transactions Advanced.</td><td><a href="/pages/1qdFnI1BuBf3ocBi0hqu">/pages/1qdFnI1BuBf3ocBi0hqu</a></td></tr><tr><td><strong>Transaction List (layout)</strong></td><td>The layout shell with Filters + Table slots, designed to wrap this block.</td><td><a href="/pages/LMG5Zk0dNtZ4LInQmyDM">/pages/LMG5Zk0dNtZ4LInQmyDM</a></td></tr><tr><td><strong>Report Widget</strong></td><td>The simpler saved-search-driven alternative.</td><td><a href="/pages/iL4LHW8eadVrU4Dz2iRe">/pages/iL4LHW8eadVrU4Dz2iRe</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/transactions-advanced.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.
