Oracle NetSuite integration reference

Note the following information when building your application using Codat's Oracle NetSuite integration.


Bills are mapped from vendor bills in Oracle NetSuite.

When pushing Bills to Oracle NetSuite:

  • The status property must be set to Open.
  • A bill can't be created from a purchase order.
  • To apply a discount to a bill, specify an existing discount item record (itemType = "Discount") from NetSuite in the request body. Codat pushes discounts to NetSuite as separate line items; only the item type and the discount amount are sent. Do not use lineItems.discountAmount and lineItems.discountPercentage to apply discounts.
  • NetSuite makes a distinction between Expense and Item line records in vendor bills. Codat validates whether a line item is an Expense or Item type based on the value of If this isn't populated, Codat treats the line item as an Expense type.
  • In NetSuite, when pulling Bills line items, the taxAmount and taxRateRef fields are not available because NetSuite does not provide information about which line item the tax relates to.

Bill credit notes

Bill credit notes are mapped from vendor credits in Oracle NetSuite.

Bill Payments

When pulling Bill payments from Oracle NetSuite:

  • Codat treats a NetSuite Vendor Prepayment as either a bill payment or a direct cost. This depends on the state of the vendor prepayment—for example, if the vendor prepayment has been allocated, then it is treated as a bill payment.
  • If a transaction is voided in NetSuite, a reversing journal is posted to offset the original transaction, and is linked to the original transaction. Codat treats these reversing journals as refunds.
  • In NetSuite, portions of a bill credit note can be allocated to a particular bill. In this case, the bill payment amount shown in Codat is the sum total of the allocated bill credit note portions. The individual allocations are not shown.


Example of bill credit note payments in NetSuite

Say you have a $10 bill credit note (x) and an outstanding $20 bill (y) in NetSuite.

  1. You apply $5 of x to y, which leaves $15 of y outstanding.
  2. Pull the bill payment; the lines.links.amount of x is equal to $5.
  3. You apply a further $3 of x to y, which leaves $12 of y outstanding.
  4. Pull the bill payment; the lines.links.amount of x is equal to $8.

The individual bill credit note allocations are not shown in the bill payment.

When pushing Bill payments to Oracle NetSuite:

  • The supported use cases are paying off a bill with cash and applying a bill credit note to a bill.
  • Applying NetSuite Vendor Prepayments to open bills from vendors is not supported.

Direct costs and direct incomes


Type not supported

Specifying the type of direct cost or direct income is not supported in our accounting data model.

You can push Direct costs to NetSuite as either Checks or Credit Card Refunds. Pushing Vendor Prepayments is not supported.

You can push direct incomes to NetSuite as either Cash Sales or Cash Refunds. Pushing Customer Deposits is not supported.

When pulling Direct incomes, the default -Not Taxable- tax group and tax code are ignored. You can access this information by pulling the Tax Rates data type.


When pulling Invoices line items, the taxAmount and taxRateRef fields are not available because NetSuite does not provide information about which line item the tax relates to.

Journal entries

When pulling advanced intercompany journal entries from Oracle NetSuite, only journal lines associated with the connected subsidiary are pulled. Lines associated with other subsidiaries are ignored. Codat doesn't support pushing this type of journal entry to Oracle NetSuite.

When pushing Journal entries, Codat first creates a default location in NetSuite named Do not use. Auto-generated by an external system. This location is then associated with all subsequent pushed journal entries. Do not disable the default location or journal entry pushes will fail.


For accounts with Multi-Book Accounting enabled, Codat does not support pushing journal entries to a specific NetSuite journal.

Purchase orders

When pushing Purchase orders to Oracle NetSuite:

  • The shipto field can't be pushed.

  • The accountRef or itemRef fields can only be pushed for a single line item. Pushing the itemRef will override the accountRef. If the accountRef is pushed, you can view the reference in the Expense sub-list in the NetSuite user interface.

Sales orders

When pulling Sales orders from Oracle NetSuite, Codat creates separate line items for the following values:

  • Any discount objects applied to the sales order.
  • The tax code associated with the sales order.

The expectedDeliveryDate indicates the expected shipping date in the source business object.


Suppliers are mapped from vendors in Oracle NetSuite.

When pushing Suppliers to Oracle NetSuite:

  • A supplier can only be pushed to the company from which the data was pulled. Pushing data to subsidiary companies is not supported.


Transfers are mapped from the transfers and deposits objects in NetSuite.

Only NetSuite deposits made between two bank accounts - including credit card accounts and Undeposited Funds - are pulled to Codat as transfers.

The Transfers data type doesn't support multiple lines.

When pulling NetSuite deposits as Transfers, only top-level tracking categories are pulled (the tracking categories associated with the to account in NetSuite). Codat's accounting data model does not support Tracking categories at the line item level.

Field coverage for supported data types

Codat's data model supports a wide range of fields within each data type.

Sometimes a provider's API does not grant access to a field that exists in a Codat data type. Conversely, our data model sometimes does not support all the relevant fields on an object in a provider's API.

The following tables highlight selected fields that are not available in data pulled and pushed from Oracle NetSuite.

Unavailable provider fields

Codat data type and field



Not available in the provider's API.


Not available in the provider's API.


Not available in the provider's API.


Not available in the provider's API.

Unavailable Codat fields

Oracle NetSuite record and field

Codat data type



Bill credit notes

Not represented in Codat's accounting data model.

Invoice.customForm, Invoice.postingPeriod


Not represented in Codat's accounting data model.



The Suppliers data type does not show whether or not a supplier company is a subsidiary.



Not represented in Codat's accounting data model.

Did this page help you?