🚨 PREREQUISITES
The following must be true in your NetSuite account before you start:- You have an Administrator role, or a role with the SuiteApp Marketplace permission (needed to install a bundle).
- You have the Bundle ID provided by Chift :
703899(or by your provider, for a branded bundle).
🛠 SETUP
You need to be logged in to your NetSuite account for the steps below.☑ 1. Enable the right company features
Go to Setup > Company > Enable Features > SuiteCloud tab. Enable each of the following, save, and accept every Terms of Service prompt. ⚠ This must be done before installing the bundle — without Server SuiteScript enabled, the bundled script cannot install.-
SuiteScript → Client SuiteScript, Server SuiteScript

-
Manage Authentication → OAuth 2.0

-
SuiteTalk (Web Services) → REST Web Services

-
Custom Records → Custom Records

☑ 2. Install the Chift bundle
Go to Customization > SuiteBundler > Search & Install Bundles, enter the Bundle ID703899, review the list of objects, and click Install.

Chift Integration role, the integration record, and the Chift Attachments folder are all installed in one click.
To remove the bundle later: Customization > SuiteBundler > List of Installed Bundles → select the bundle → Uninstall.
☑ 3. Assign the Chift Integration role (and re-login)
You can do this now or at connection time. Assigning the role up front is cleanest, but if it isn’t set here, the user can still select (or switch to) the right role at the NetSuite consent screen during connection — see Check the role at connection in the Connection section below.
The bundle installs the role definition, but does not assign it to a user. Assign it to the user who will connect to Chift.
Assign the role via Setup > Users/Roles > Manage Users > the user > Access subtab > add Chift Integration > Save.

Chift Integration (no Administrator, no other role). This is what keeps the connection least-privilege at runtime.
⚠ If using your own role instead of the bundled ones : Add the Manage own OAuth 2.0 Client Credentials certificates permission (under Setup) to it. Without it, the connection still works, but it stays on the standard OAuth flow and needs re-authorizing roughly every 30 days — with this permission, it moves to certificate-based (machine-to-machine) authentication and never expires.

⚡️ CONNECTION
In Chift, start the NetSuite connection and follow the steps. Step 1: Choose a name for your connection.

https://1234567.app.netsuite.com → Account ID is 1234567. For sandbox accounts, replace the dash in the URL (sb-) with an underscore (sb_) — e.g. sb-12345 is entered as sb_12345. (NetSuite doc)
Step 3: Click on authorize. When asked, please enter your credentials (associated to the app) to connect your Netsuite account.



ℹ GOOD TO KNOW
Roles & permissions. The bundle ships two roles —Chift Integration (read + write) and Chift Integration (Read Only). You can also connect with your own NetSuite role scoped to your needs; in that case reach out to your software provider from which you are initiating this connection, to know the minimal set of permissions required for the scope of your integration with Netsuite.
🚨 Staying on machine-to-machine authentication (no monthly reconnects).
Whichever role you connect with — bundled or your own — it needs the Manage own OAuth 2.0 Client Credentials certificates permission (under Setup on the role’s permission list) for the connection to move to certificate-based authentication and stop requiring reconnection every ~30 days. The bundled Chift Integration roles already carry it. If you’re using your own role, add it manually:

Client Credentials (Machine To Machine) Grant ticked on the NetSuite integration record itself (same screen as the REST Web Services and RESTlets scope checkboxes) — this only applies if you’re using your own integration record rather than the Chift bundle.
Without both, the connection keeps working normally, it just stays on the standard flow and needs re-authorizing about once a month.
OneWorld (multi-subsidiary) accounts.
The Chift Integration role ships with Subsidiary Restrictions = All so the connector can see every subsidiary. If this is changed to User Subsidiary, or if the user’s Include Sub-Subsidiaries preference is off (Home > Set Preferences > Restrict View), child subsidiaries won’t appear in Chift. Re-login after changing either.
Attachments folder.
The bundle ships a Chift Attachments File Cabinet folder as the default target for stored attachments. You can point Chift at another folder in the post-connection settings. Do not rename the bundled folder — Chift matches it by the exact name Chift Attachments.
Bank transactions.
Importing bank transactions requires the third-party ZoneReconcile (Zone & Co) SuiteApp to be installed on your account, and the Chift Integration role to have access to its bank record types. Attachments and all standard accounting features do not depend on this.