Skip to content
All connectors
Oracle NetSuite logo

Oracle NetSuite

ERP & business operations

Keep Oracle NetSuite in step with your orders, stock and finance, with the right person approving every posting.

62 ways to read, 56 ways to write, each write switched on by you.

Quality checks

Built and tested with example responses.

  1. Ready to connect: doneEvery listed action is built in.
  2. Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Oracle NetSuite with Nexra

Connected, approved, proven.

The things teams do most with Oracle NetSuite, an example flow with a person in the loop, and what Nexra keeps as proof.

Top actions

  • Create class (classification)classifications.createApproval by rule
  • Create contactcontacts.createApproval by rule
  • List general ledger accountsaccounts.listRead

Example flow

  1. BambooHR · Read employee directoryemployee_directory.listDone
  2. Oracle NetSuite · Upsert employee by external IDemployees.upsertMaker-checker
  3. Nexra · Record the decision and result in the evidence chainProven

Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Oracle NetSuite.

What gets logged

  • Whether it ran on its own or who approved it, and under which rule
  • A fingerprint of the exact request sent to Oracle NetSuite
  • Oracle NetSuite's reply: what it created or changed
  • One entry in the evidence chain, linked to the one before

Try this in the sandbox

Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.

For developers

Technical detail

Adds NetSuite customers, contacts, quotes, opportunities, orders, returns, purchasing, billing, credits, journals, items, vendors, employees, accounts, reference data and SuiteQL.

Oracle API docs
Source actions
62
Destination actions
56
Data types
36

What you can map

Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.

accounts2
  • Get general ledger accountSource

    A general ledger account with all body fields and custom fields.

  • List general ledger accountsSource

    General ledger accounts from SuiteQL, ordered by internal ID, with optional exact-match filters.

bank transactions1
  • List bank transactionsSourceIncremental

    Posted lines on bank accounts (deposits, checks, transfers, payments and journals that hit a bank account) from SuiteQL, ordered by transaction and line.

cash sales2
  • Get cash saleSource

    A cash sale with body fields, sublist lines and custom fields.

  • List cash salesSourceIncremental

    Cash sales from SuiteQL (transaction type CashSale), ordered by internal ID.

classifications5
  • Create class (classification)DestinationNot retried automaticallyApproval before production

    Creates a class (classification); the internal ID is returned from the Location header.

  • Get class (classification)Source

    A class (classification) with all body fields and custom fields.

  • List classes (classifications)Source

    Classes (classifications) from SuiteQL, ordered by internal ID.

  • Update class (classification)DestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a class (classification) by internal ID (PATCH).

  • Upsert class (classification) by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a class (classification) keyed by external ID (PUT eid:).

contacts5
  • Create contactDestinationNot retried automaticallyApproval before production

    Creates a contact; the internal ID is returned from the Location header.

  • Get contactSource

    A contact with all body fields and custom fields.

  • List contactsSourceIncremental

    Contacts from SuiteQL, ordered by internal ID, with optional exact-match filters.

  • Update contactDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a contact by internal ID (PATCH).

  • Upsert contact by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a contact keyed by external ID (PUT eid:).

credit memos3
  • Create credit memoDestinationNot retried automaticallyApproval before production

    Creates a customer credit memo with item lines. It posts to the general ledger like any credit memo; no refund is issued.

  • Get credit memoSource

    A credit memo with body fields, sublist lines and custom fields.

  • List credit memosSourceIncremental

    Credit memos from SuiteQL (transaction type CustCred), ordered by internal ID.

currencies2
  • Get currencySource

    A currency with all body fields and custom fields.

  • List currenciesSource

    Currencies from SuiteQL, ordered by internal ID.

customer payments5
  • Create customer paymentDestinationNot retried automaticallyApproval before production

    Creates a customer payment. NetSuite returns the new internal ID in the Location header.

  • Get customer paymentSource

    A customer payment with body fields, sublist lines and custom fields.

  • List customer paymentsSourceIncremental

    Customer payments from SuiteQL (transaction type CustPymt), ordered by internal ID.

  • Update customer paymentDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a customer payment by internal ID (PATCH).

  • Upsert customer payment by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a customer payment keyed by external ID (PUT eid:).

customers6
  • Create customerDestinationNot retried automaticallyApproval before production

    Creates a customer; the internal ID is returned from the Location header.

  • Get customerSource

    A customer with all body fields and custom fields.

  • List CustomersSource

    List operation for Customers.

  • Search customersSourceIncremental

    Customers from SuiteQL, ordered by internal ID, with optional exact-match filters.

  • Update customerDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a customer by internal ID (PATCH).

  • Upsert customer by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a customer keyed by external ID (PUT eid:).

departments5
  • Create departmentDestinationNot retried automaticallyApproval before production

    Creates a department; the internal ID is returned from the Location header.

  • Get departmentSource

    A department with all body fields and custom fields.

  • List departmentsSource

    Departments from SuiteQL, ordered by internal ID.

  • Update departmentDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a department by internal ID (PATCH).

  • Upsert department by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a department keyed by external ID (PUT eid:).

employees5
  • Create employeeDestinationNot retried automaticallyApproval before production

    Creates a employee; the internal ID is returned from the Location header.

  • Get employeeSource

    A employee with all body fields and custom fields.

  • List employeesSourceIncremental

    Employees from SuiteQL, ordered by internal ID.

  • Update employeeDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a employee by internal ID (PATCH).

  • Upsert employee by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a employee keyed by external ID (PUT eid:).

estimates5
  • Create estimate (quote)DestinationNot retried automaticallyApproval before production

    Creates a estimate (quote). NetSuite returns the new internal ID in the Location header.

  • Get estimate (quote)Source

    A estimate (quote) with body fields, sublist lines and custom fields.

  • List estimatesSourceIncremental

    Estimates from SuiteQL (transaction type Estimate), ordered by internal ID.

  • Update estimate (quote)DestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a estimate (quote) by internal ID (PATCH).

  • Upsert estimate (quote) by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a estimate (quote) keyed by external ID (PUT eid:).

invoice payments1
  • Record payment against an invoiceDestinationNot retried automaticallyApproval before production

    Records a customer payment already received against one open invoice, by transforming the invoice into a customer payment (record transformation). No money is collected or moved.

invoices with lines1
  • List invoices with linesSourceIncremental

    Invoices with their item and expense lines from one SuiteQL query (transaction type CustInvc), ordered by internal ID.

invoices5
  • Create invoiceDestinationNot retried automaticallyApproval before production

    Creates a invoice. NetSuite returns the new internal ID in the Location header.

  • Get invoiceSource

    A invoice with body fields, sublist lines and custom fields.

  • List invoicesSourceIncremental

    Invoices from SuiteQL (transaction type CustInvc), ordered by internal ID.

  • Update invoiceDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a invoice by internal ID (PATCH).

  • Upsert invoice by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a invoice keyed by external ID (PUT eid:).

item fulfillments2
  • Get item fulfillmentSource

    A item fulfillment with body fields, sublist lines and custom fields.

  • List item fulfillmentsSourceIncremental

    Item fulfillments from SuiteQL (transaction type ItemShip), ordered by internal ID.

item receipts2
  • Get item receiptSource

    A item receipt with body fields, sublist lines and custom fields.

  • List item receiptsSourceIncremental

    Item receipts from SuiteQL (transaction type ItemRcpt), ordered by internal ID.

items5
  • Create inventory or non-inventory itemDestinationNot retried automaticallyApproval before production

    Creates a inventory or non-inventory item; the internal ID is returned from the Location header.

  • Get inventory or non-inventory itemSource

    A inventory or non-inventory item with all body fields and custom fields.

  • List inventory and non-inventory itemsSourceIncremental

    Inventory and non-inventory items from SuiteQL, ordered by internal ID.

  • Update inventory or non-inventory itemDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a inventory or non-inventory item by internal ID (PATCH).

  • Upsert inventory or non-inventory item by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a inventory or non-inventory item keyed by external ID (PUT eid:).

journal entries5
  • Create journal entryDestinationNot retried automaticallyApproval before production

    Creates a journal entry. NetSuite returns the new internal ID in the Location header.

  • Get journal entrySource

    A journal entry with body fields, sublist lines and custom fields.

  • List journal entriesSourceIncremental

    Journal entries from SuiteQL (transaction type Journal), ordered by internal ID.

  • Update journal entryDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a journal entry by internal ID (PATCH).

  • Upsert journal entry by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a journal entry keyed by external ID (PUT eid:).

locations5
  • Create locationDestinationNot retried automaticallyApproval before production

    Creates a location; the internal ID is returned from the Location header.

  • Get locationSource

    A location with all body fields and custom fields.

  • List locationsSource

    Locations from SuiteQL, ordered by internal ID.

  • Update locationDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a location by internal ID (PATCH).

  • Upsert location by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a location keyed by external ID (PUT eid:).

opportunities5
  • Create opportunityDestinationNot retried automaticallyApproval before production

    Creates a opportunity. NetSuite returns the new internal ID in the Location header.

  • Get opportunitySource

    A opportunity with body fields, sublist lines and custom fields.

  • List opportunitiesSourceIncremental

    Opportunities from SuiteQL (transaction type Opprtnty), ordered by internal ID.

  • Update opportunityDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a opportunity by internal ID (PATCH).

  • Upsert opportunity by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a opportunity keyed by external ID (PUT eid:).

purchase orders with lines1
  • List purchase orders with linesSourceIncremental

    Purchase orders with their item and expense lines from one SuiteQL query (transaction type PurchOrd), ordered by internal ID.

purchase orders5
  • Create purchase orderDestinationNot retried automaticallyApproval before production

    Creates a purchase order. NetSuite returns the new internal ID in the Location header.

  • Get purchase orderSource

    A purchase order with body fields, sublist lines and custom fields.

  • List purchase ordersSourceIncremental

    Purchase orders from SuiteQL (transaction type PurchOrd), ordered by internal ID.

  • Update purchase orderDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a purchase order by internal ID (PATCH).

  • Upsert purchase order by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a purchase order keyed by external ID (PUT eid:).

records4
  • Create recordDestinationNot retried automaticallyApproval before production

    Creates a record of a supported type from record API JSON.

  • Get recordSource

    Any supported NetSuite record by type and internal ID, with sublists.

  • Update recordDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a record by internal ID (PATCH).

  • Upsert record by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a record keyed by external ID (PUT eid:).

return authorizations5
  • Create return authorizationDestinationNot retried automaticallyApproval before production

    Creates a return authorization. NetSuite returns the new internal ID in the Location header.

  • Get return authorizationSource

    A return authorization with body fields, sublist lines and custom fields.

  • List return authorizationsSourceIncremental

    Return authorizations from SuiteQL (transaction type RtnAuth), ordered by internal ID.

  • Update return authorizationDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a return authorization by internal ID (PATCH).

  • Upsert return authorization by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a return authorization keyed by external ID (PUT eid:).

sales orders with lines1
  • List sales orders with linesSourceIncremental

    Sales orders with their item and expense lines from one SuiteQL query (transaction type SalesOrd), ordered by internal ID.

sales orders5
  • Create sales orderDestinationNot retried automaticallyApproval before production

    Creates a sales order. NetSuite returns the new internal ID in the Location header.

  • Get sales orderSource

    A sales order with body fields, sublist lines and custom fields.

  • List sales ordersSourceIncremental

    Sales orders from SuiteQL (transaction type SalesOrd), ordered by internal ID.

  • Update sales orderDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a sales order by internal ID (PATCH).

  • Upsert sales order by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a sales order keyed by external ID (PUT eid:).

subsidiaries2
  • Get subsidiarySource

    A subsidiary with all body fields and custom fields.

  • List subsidiariesSource

    Subsidiaries from SuiteQL, ordered by internal ID.

suiteql1
  • Query records with SuiteQLSourceIncremental

    Selects validated columns from an allow-listed SuiteQL table with equality filters. Nexra builds the SQL; raw SQL is never accepted.

terms2
  • Get payment termSource

    A payment term with all body fields and custom fields.

  • List payment termsSource

    Payment terms from SuiteQL, ordered by internal ID.

transaction lines1
  • List transaction linesSource

    Item and expense lines of one transaction from SuiteQL (main line excluded).

vendor bills with lines1
  • List vendor bills with linesSourceIncremental

    Vendor bills with their item and expense lines from one SuiteQL query (transaction type VendBill), ordered by internal ID.

vendor bills5
  • Create vendor billDestinationNot retried automaticallyApproval before production

    Creates a vendor bill. NetSuite returns the new internal ID in the Location header.

  • Get vendor billSource

    A vendor bill with body fields, sublist lines and custom fields.

  • List vendor billsSourceIncremental

    Vendor bills from SuiteQL (transaction type VendBill), ordered by internal ID.

  • Update vendor billDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a vendor bill by internal ID (PATCH).

  • Upsert vendor bill by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a vendor bill keyed by external ID (PUT eid:).

vendor credits2
  • Get vendor creditSource

    A vendor credit with body fields, sublist lines and custom fields.

  • List vendor creditsSourceIncremental

    Vendor credits from SuiteQL (transaction type VendCred), ordered by internal ID.

vendor payments1
  • List vendor paymentsSourceIncremental

    Vendor payments from SuiteQL (transaction type VendPymt), ordered by internal ID.

vendors5
  • Create vendorDestinationNot retried automaticallyApproval before production

    Creates a vendor; the internal ID is returned from the Location header.

  • Get vendorSource

    A vendor with all body fields and custom fields.

  • List vendorsSourceIncremental

    Vendors from SuiteQL, ordered by internal ID.

  • Update vendorDestinationProvider duplicate protectionApproval before production

    Updates supplied fields on a vendor by internal ID (PATCH).

  • Upsert vendor by external IDDestinationProvider duplicate protectionApproval before production

    Creates or updates a vendor keyed by external ID (PUT eid:).

Access and limits

Authentication
NetSuite OAuth 2.0 access token (same credential as the built-in adapter)
Plans and access
All NetSuite editions with the REST Web Services feature enabled. Results follow the role of the OAuth 2.0 token; SuiteQL reads need the SuiteAnalytics Workbook permission.
Test environment
NetSuite sandbox accounts are purchased separately from Oracle.
Rate limits
Account concurrency governance; HTTP 429 when the concurrent request limit is exceeded.
Pagination
SuiteQL limit/offset up to 1,000 rows per page; offset must be a multiple of limit.
Provider events
NetSuite has no native REST webhooks; events require SuiteScript user event scripts. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.

Before you build a flow

  • Customer reads, OAuth authentication and pagination implemented.
  • SuiteQL column names were checked against Oracle's published SuiteQL examples; the Records Catalog requires an account login and was not available, so a column missing from an account's schema returns a provider error.
  • Synchronous creates have no duplicate protection: X-NetSuite-Idempotency-Key is documented only for asynchronous (Prefer: respond-async) requests, which Nexra does not poll. Use the external ID upsert operations for duplicate-safe writes.
  • lastmodifieddate filters are evaluated in the account time zone at second precision.
  • SuiteQL returns at most 100,000 rows per query.
  • Deletes, vendor payments and refunds are intentionally not exposed.
  • Intentionally excluded: transforms that post (estimate or sales order to invoice, return authorization to credit memo or refund), approvals, vendor payment and customer refund creation, voids, closes and deletes.
  • Vendor payments are list only (SuiteQL); a record API get was not added because vendorPayment REST support could not be confirmed in Oracle's public supported-records table.
  • SuiteQL transaction type codes (Estimate, Opprtnty, RtnAuth, CustCred, CashSale, ItemRcpt, VendCred, VendPymt) and the term and currency columns come from account data and community references; Oracle's Records Catalog requires a login. A column missing from an account returns a provider error.
  • Purchase orders, sales orders, invoices and vendor bills can be listed with their lines in one SuiteQL query (keyset paging by internal ID); writes take item lines through the lines input on the document.
  • Bank transactions are the posted general ledger lines on Bank type accounts (SuiteQL TransactionAccountingLine), in the subsidiary's base currency; imported bank statement lines from bank feeds are not available through SuiteQL or the REST record API.

Developer reference

  1. Create the Oracle credentials described above with the narrowest permissions your flows need.
  2. In Nexra, open Connect, then Connections, then New connection, choose Oracle NetSuite, enter its settings and credentials, and tick only the write actions you need. Connection guide
  3. Test the connection, then use its actions as flow sources and destinations. Flow guide

Machine-readable detail: GET /api/public/connect/connectors/oracle-netsuite and the Connections API.