> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/sources/category/sales/netsuite/faq.md).

# FAQ

<details>

<summary>Does NetSuite use OAuth login in Coupler.io?</summary>

No. NetSuite uses token-based authentication (TBA). Instead of signing in through a redirect, you generate a Consumer Key, Consumer Secret, Token Key, and Token Secret in NetSuite, then enter them along with your Realm (Account ID) directly in Coupler.io.

</details>

<details>

<summary>What's the difference between Objects and SuiteQL?</summary>

**Objects** pulls a standard or custom NetSuite record type as a single table — one row per record, with fields matching that record's schema. **SuiteQL** runs a SQL-like query you write yourself, letting you join across records, add calculated fields, or apply filters that Object parameters don't expose.

Use Objects for straightforward record exports. Use SuiteQL when you need data shaped across multiple records or fields not available through a single Object.

</details>

<details>

<summary>Which NetSuite records can I export?</summary>

Any standard or custom record type your NetSuite account and Access Token role have access to — the Object list in Coupler.io loads live from your account's metadata catalog. Common examples include Invoice, Sales Order, Purchase Order, Vendor Bill, Journal Entry, Customer-related entities, and inventory items. See [Data Overview](/sources/category/sales/netsuite/data-overview.md) for a fuller breakdown by category.

</details>

<details>

<summary>Why doesn't Start date filter some of my objects?</summary>

Start date (and Window in days) only work for record types that expose a last-modified field — `lastModifiedDate` for standard records, `lastmodified` for most custom records. Record types without one of these fields don't support incremental filtering and are synced in full every run.

</details>

<details>

<summary>Is there a row limit on SuiteQL queries?</summary>

Yes. NetSuite's REST API caps SuiteQL results at 100,000 rows per query — a query that would return more fails instead of paginating past the limit. Narrow your `WHERE` clause or aggregate in the query itself to stay under it.

</details>

<details>

<summary>How do I connect to a sandbox instead of production?</summary>

Append your sandbox suffix to the Realm value, for example `1234567_SB1` instead of `1234567`. Everything else (Consumer Key, Consumer Secret, Token Key, Token Secret) is generated the same way, but you'll need a separate Integration record and Access Token created in the sandbox account.

</details>

<details>

<summary>Why am I getting a permission error on an object I know exists?</summary>

The Access Token is tied to a specific NetSuite role, and that role may not have view permission for the record type you're requesting — even if your own user account can see it in the NetSuite UI. Grant the role access to that record type, or create a token under a role that already has it.

</details>

<details>

<summary>What happens if I lose my Consumer Secret or Token Secret?</summary>

NetSuite only displays these values once, when they're generated — there's no way to retrieve them later. You'll need to create a new Access Token in NetSuite and reconnect the source in Coupler.io with the new credentials.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.coupler.io/sources/category/sales/netsuite/faq.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
