Skip to main content

NetSuite Mapping Functions

Reference for the NetSuite-specific functions you can use in Dynamic Formula mappings and mapping collection filters.

Overview

The NetSuite integration provides ready-made functions you can call when building mappings. They handle common lookups and conversions against your NetSuite account and your iPaaS.com data, such as resolving customers, products, locations, subsidiaries, payment methods, and currencies by ID or name, converting categories between the two systems, formatting price lists and custom fields, and validating invoices and gift certificates, so you do not have to write that logic yourself.

Where you can use these functions

These functions are available anywhere you write a formula for the NetSuite integration:

  • Dynamic Formula mappings: where a destination field's value is produced by a formula rather than mapped directly from a source field.

  • Mapping collection filters: where a formula decides whether a record should be processed.

  • Error filters: a mapping collection's error filter, which sits alongside its collection filter. When the error filter's formula resolves to true, the transfer raises an error that is held in the Error Logs for review and is not retried automatically.

  • Translation collections: where a translation entry uses a formula as its source value.

How to use them

  • Call a function by name and pass the values it needs in parentheses, for example: await GetNetSuiteProductIdBySku(sku).

  • Each function's signature shows its name, the parameters it accepts (with their types), and the type of value it returns. Use it as the reference for exactly how to call the function.

  • Function names and formula syntax are case-sensitive, so type each name exactly as shown. Whether the values a function matches are treated as case-sensitive varies by function, and is called out in the relevant parameter's description.

  • Some of these functions are asynchronous (their signature returns a Task) and must be called with await; the rest are synchronous and are called directly. Each function's How to call it example shows the correct form.

  • Optional parameters are marked in the parameter table, along with the value used when you omit them.

  • Each function runs at sync time, against the data in your connected NetSuite account and your iPaaS.com subscription.

The functions are grouped below by the area of the integration they support.

Customers and categories

GetCustomerIdByEmail

What it does: Returns the NetSuite customer ID for a given email address.

Signature: Task<string> GetCustomerIdByEmail(object emailAddress)

How to call it: await GetCustomerIdByEmail(emailAddress)

Parameter

Type

Required

Default

Description

emailAddress

object

Yes

N/A

The iPaaS.com customer email address to search for in NetSuite.

Returns: string. The NetSuite customer ID of the first match, or null when the email is blank or no customer matches.

When to use it: Use it in From iPaaS.com flows to resolve a NetSuite customer ID from an email address.

GetCustomerByEmail

What it does: Searches NetSuite for a customer by email address and returns the matching customer records. It retries transient failures up to three times.

Signature: Task<object> GetCustomerByEmail(object emailAddress)

How to call it: await GetCustomerByEmail(emailAddress)

Parameter

Type

Required

Default

Description

emailAddress

object

Yes

N/A

The customer email address to match in NetSuite. The match is exact and case-sensitive.

Returns: object. The NetSuite customer search result containing the matching customers.

When to use it: Use it when you need the full NetSuite customer record for an email address.

GetCustomerDetailByEmailAsync

What it does: Returns either the email or the full name of a NetSuite customer matched by email address, based on the requested output field.

Signature: Task<string> GetCustomerDetailByEmailAsync(string email, string outputField)

How to call it: await GetCustomerDetailByEmailAsync(email, outputField)

Parameter

Type

Required

Default

Description

email

string

Yes

N/A

The email address of the customer to look up.

outputField

string

Yes

N/A

Which detail to return: email for the customer's email, or name for the full name (first and last).

Returns: string. The requested detail, or null when the customer is not found or the inputs are invalid.

When to use it: Use it to pull a customer's email or name dynamically from an email address.

GetCustomerDetailByIdAsync

What it does: Returns either the email or the full name of a NetSuite customer matched by internal ID, based on the requested output field.

Signature: Task<string> GetCustomerDetailByIdAsync(string Id, string outputField)

How to call it: await GetCustomerDetailByIdAsync(Id, outputField)

Parameter

Type

Required

Default

Description

Id

string

Yes

N/A

The NetSuite internal ID of the customer.

outputField

string

Yes

N/A

Which detail to return: email for the customer's email, or name for the full name (first and last).

Returns: string. The requested detail, or null when the customer is not found or the inputs are invalid.

When to use it: Use it to pull a customer's email or name dynamically from a NetSuite internal ID.

GetCustomerEmailByEntityId

What it does: Returns the email address of a NetSuite customer for a given customer (entity) ID.

Signature: Task<string> GetCustomerEmailByEntityId(object entityId)

How to call it: await GetCustomerEmailByEntityId(entityId)

Parameter

Type

Required

Default

Description

entityId

object

Yes

N/A

The NetSuite customer (entity) ID.

Returns: string. The NetSuite customer's email, or null when the customer is not found or has no email.

When to use it: Use it in To iPaaS.com transaction flows to populate an email from the customer on a transaction.

ConvertNetSuiteCategoryToiPaaS

What it does: Converts a NetSuite customer category, and optionally the customer's price group or price level, into iPaaS.com customer categories. Which pricing source is used follows your subscription's customer pricing-source setting. Categories that do not resolve in iPaaS.com are skipped.

Signature: Task<object> ConvertNetSuiteCategoryToiPaaS(object categories, CustomerPricingGroup GroupPricing = null, CustomPriceLevel PriceLevel = null, bool isForCompany = true)

How to call it: await ConvertNetSuiteCategoryToiPaaS(categories)

Parameter

Type

Required

Default

Description

categories

object

Yes

N/A

The NetSuite customer category assigned to the customer.

GroupPricing

CustomerPricingGroup

No

null

The customer's price group pricing, used when your pricing source includes price groups.

PriceLevel

CustomPriceLevel

No

null

The customer's price level, used when your pricing source includes price levels.

isForCompany

bool

No

true

Whether to use the company pricing-source setting (true) or the customer pricing-source setting (false).

Returns: object. A list of iPaaS.com customer categories carrying the resolved category IDs.

When to use it: Use it in To iPaaS.com customer flows to map a NetSuite customer's category and pricing to iPaaS.com categories.

GetCategoryIdByCategoryObj

What it does: Returns the NetSuite customer category ID for the first iPaaS.com category name (in the provided list) that matches a category in NetSuite.

Signature: Task<string> GetCategoryIdByCategoryObj(object categoryObj)

How to call it: await GetCategoryIdByCategoryObj(categoryObj)

Parameter

Type

Required

Default

Description

categoryObj

object

Yes

N/A

The iPaaS.com customer or company categories to match, as a list.

Returns: string. The NetSuite category ID of the first matching name, or null when none match.

When to use it: Use it in From iPaaS.com flows to resolve a NetSuite category ID from a customer's iPaaS.com categories.

GetCategoryListByName

What it does: Returns the NetSuite customer category records that match a given category name.

Signature: Task<object> GetCategoryListByName(object categoryName)

How to call it: await GetCategoryListByName(categoryName)

Parameter

Type

Required

Default

Description

categoryName

object

Yes

N/A

The customer category name to search for in NetSuite.

Returns: object. The NetSuite customer category search result.

When to use it: Use it to fetch NetSuite customer category records by name during customer mapping or validation.

TransactionCount

What it does: Returns the number of iPaaS.com transactions for a given customer or company.

Signature: Task<int> TransactionCount(object customerOrCompanyId, bool isCompany = false)

How to call it: await TransactionCount(customerOrCompanyId)

Parameter

Type

Required

Default

Description

customerOrCompanyId

object

Yes

N/A

The iPaaS.com customer or company ID whose transactions to count.

isCompany

bool

No

false

Whether the ID is a company (true) or a customer (false).

Returns: int. The number of transactions, or 0 when the ID is blank or none are found.

When to use it: Use it when you need only the transaction count for a customer or company.

Products, items, and inventory

GetNetSuiteProductIdBySku

What it does: Returns the NetSuite product (or product variant) ID that maps to a given iPaaS.com product SKU, using the iPaaS.com mapping.

Signature: Task<string> GetNetSuiteProductIdBySku(object productSku)

How to call it: await GetNetSuiteProductIdBySku(productSku)

Parameter

Type

Required

Default

Description

productSku

object

Yes

N/A

The iPaaS.com product (line item) SKU to resolve.

Returns: string. The mapped NetSuite product or variant ID, or null when the SKU is blank or has no mapping.

When to use it: Use it in From iPaaS.com transaction flows to resolve a line item's NetSuite item ID from its SKU.

GetNetSuiteInventoryItemIdByItemId

What it does: Returns the NetSuite internal ID of the inventory item whose item ID matches the given value.

Signature: Task<string> GetNetSuiteInventoryItemIdByItemId(object itemId)

How to call it: await GetNetSuiteInventoryItemIdByItemId(itemId)

Parameter

Type

Required

Default

Description

itemId

object

Yes

N/A

The inventory item's item ID to look up in NetSuite.

Returns: string. The NetSuite internal ID of the latest matching inventory item, or null when none matches.

When to use it: Use it to resolve a NetSuite inventory item's internal ID from its business item ID.

ConvertNetSuiteProductCategoriesToiPaaS

What it does: Converts a NetSuite product's categories into iPaaS.com product categories, using the iPaaS.com mapping. Categories without a mapping are skipped.

Signature: Task<object> ConvertNetSuiteProductCategoriesToiPaaS(object categories)

How to call it: await ConvertNetSuiteProductCategoriesToiPaaS(categories)

Parameter

Type

Required

Default

Description

categories

object

Yes

N/A

The NetSuite product categories to convert.

Returns: object. A list of iPaaS.com product categories carrying the mapped category IDs; an empty list when there is no input or no match.

When to use it: Use it in To iPaaS.com product flows to map a product's NetSuite categories to their iPaaS.com equivalents.

GetiPaaSProductType

What it does: Returns the iPaaS.com product type for a given iPaaS.com product ID (for example Physical, Assembly Items, or Kit/Package Items).

Signature: Task<string> GetiPaaSProductType(string productId)

How to call it: await GetiPaaSProductType(productId)

Parameter

Type

Required

Default

Description

productId

string

Yes

N/A

The iPaaS.com product ID whose type you want.

Returns: string. The product type, or null when the product is not found or has no type.

When to use it: Use it in a mapping filter to include or exclude records based on the iPaaS.com product type.

GetProductTypeBySku

What it does: Returns the iPaaS.com product type for a given product SKU.

Signature: Task<string> GetProductTypeBySku(string Sku)

How to call it: await GetProductTypeBySku(Sku)

Parameter

Type

Required

Default

Description

Sku

string

Yes

N/A

The product SKU to look up in iPaaS.com.

Returns: string. The iPaaS.com product type, or null when the product is not found or has no type.

When to use it: Use it to determine how a product should be processed based on its type.

GetNetsuiteProductWithProductIdAndType

What it does: Returns the per-location inventory records for a NetSuite product, choosing the correct NetSuite item type based on the product type you pass.

Signature: Task<object> GetNetsuiteProductWithProductIdAndType(string Id, string Type)

How to call it: await GetNetsuiteProductWithProductIdAndType(Id, Type)

Parameter

Type

Required

Default

Description

Id

string

Yes

N/A

The NetSuite internal ID of the product.

Type

string

Yes

N/A

The product type, one of Physical, Kit/Package Items, Assembly Items, or Non-Inventory Items.

Returns: object. The product's per-location inventory records, or null when the product or type is not found.

When to use it: Use it in inventory availability or allocation logic that needs a product's stock levels by location.

CheckLocationQuantityByLocationNameAndProductBySku

What it does: Confirms a product has available inventory at a NetSuite location, matched by location name and product SKU, and returns the location ID when it does.

Signature: Task<object> CheckLocationQuantityByLocationNameAndProductBySku(string LocationName, string ProductSku)

How to call it: await CheckLocationQuantityByLocationNameAndProductBySku(LocationName, ProductSku)

Parameter

Type

Required

Default

Description

LocationName

string

Yes

N/A

The NetSuite location name to check.

ProductSku

string

Yes

N/A

The product SKU to look up and verify inventory for.

Returns: object. The location ID when the product has available quantity at that location.

When to use it: Use it in fulfillment or availability checks. It raises an error when the location, product, or available quantity is missing.

GetMatrixOptionIdByName

What it does: Returns the NetSuite matrix option ID for a given option name.

Signature: Task<string> GetMatrixOptionIdByName(string name)

How to call it: await GetMatrixOptionIdByName(name)

Parameter

Type

Required

Default

Description

name

string

Yes

N/A

The iPaaS.com product option name to resolve to a NetSuite matrix option.

Returns: string. The NetSuite matrix option ID, or null when no option matches.

When to use it: Use it in From iPaaS.com flows, including mapping filters, to confirm a product option exists in NetSuite before transferring.

GetMatrixOptionValueIdByValue

What it does: Returns the NetSuite matrix option value ID for a given option name and value.

Signature: Task<string> GetMatrixOptionValueIdByValue(string name, string value)

How to call it: await GetMatrixOptionValueIdByValue(name, value)

Parameter

Type

Required

Default

Description

name

string

Yes

N/A

The iPaaS.com product option name (the matrix option).

value

string

Yes

N/A

The option value to resolve within that matrix option.

Returns: string. The NetSuite matrix option value ID, or null when no matching value exists.

When to use it: Use it in From iPaaS.com flows, including mapping filters, to confirm a product option value exists in NetSuite before transferring.

GetPriceList

What it does: Builds a delimited price-list string from a product's price levels, formatting each price entry with its price, sales type, sales code, item ID, price level name, unit, quantity, and date range. It uses the field and record separators from your subscription settings, and can filter and transform the entries.

Signature: Task<string> GetPriceList(List<ProductPriceLevelResponse> prices, string itemId, string unitName, string? salesType = "null", string? salesCode = "null", string? startDate = "null", string? endDate = "null", string? filterByPriceLevel = null, string? filterByCurrencyId = null, int? maxLength = null, bool? changeZeroQuantityToOne = false, bool? excludeZeroFromQuantityOneConflict = false)

How to call it: await GetPriceList(prices, itemId, unitName)

Parameter

Type

Required

Default

Description

prices

List<ProductPriceLevelResponse>

Yes

N/A

The product's price levels to format.

itemId

string

Yes

N/A

The product or item identifier included in each formatted line.

unitName

string

Yes

N/A

The unit of measure for the item.

salesType

string?

No

"null"

The sales type value included in each line.

salesCode

string?

No

"null"

The sales code value included in each line.

startDate

string?

No

"null"

The effective start date included in each line.

endDate

string?

No

"null"

The effective end date included in each line.

filterByPriceLevel

string?

No

null

When set, includes only prices from this price level name.

filterByCurrencyId

string?

No

null

When set, includes only prices with this currency ID.

maxLength

int?

No

null

When set, stops adding entries once the result would exceed this length.

changeZeroQuantityToOne

bool?

No

false

When true, replaces a quantity of 0 with 1 before formatting.

excludeZeroFromQuantityOneConflict

bool?

No

false

When true, drops quantity 0 entries when a quantity 1 entry also exists.

Returns: string. The formatted, delimited price-list string.

When to use it: Use it to produce a flat price-list value for a destination field that expects structured price data. It raises an error if the price levels or item ID are missing.

Locations

GetiPaaSLocationId

What it does: Returns the iPaaS.com location ID that maps to a given NetSuite location ID, using the iPaaS.com mapping for your subscription.

Signature: Task<string> GetiPaaSLocationId(object locationId)

How to call it: await GetiPaaSLocationId(locationId)

Parameter

Type

Required

Default

Description

locationId

object

Yes

N/A

The NetSuite location (inventory location) ID to resolve.

Returns: string. The matching iPaaS.com location ID, or null when the input is blank or has no mapping.

When to use it: Use it in To iPaaS.com flows, including the Product Inventory filter, to resolve the iPaaS.com location for a NetSuite location.

GetLocationIdByLocationName

What it does: Returns the NetSuite location ID for the first location whose name contains the given text (a partial, case-insensitive match).

Signature: Task<string> GetLocationIdByLocationName(string locationName)

How to call it: await GetLocationIdByLocationName(locationName)

Parameter

Type

Required

Default

Description

locationName

string

Yes

N/A

The full or partial NetSuite location name to search for.

Returns: string. The matching NetSuite location ID, or an empty string when none matches.

When to use it: Use it to resolve a NetSuite location ID from a location name, including when the exact name may vary.

GetLocationNameByEmployeeId

What it does: Confirms that a location belongs to the same subsidiary as an employee and, when it does and the name matches, returns the location name.

Signature: Task<string> GetLocationNameByEmployeeId(string location, string EmployeeId, bool isthrow = false)

How to call it: await GetLocationNameByEmployeeId(location, EmployeeId)

Parameter

Type

Required

Default

Description

location

string

Yes

N/A

The NetSuite location name. For a child location, use the parent name and the location name separated by a colon.

EmployeeId

string

Yes

N/A

The NetSuite employee ID whose subsidiary the location must match.

isthrow

bool

No

false

When true, raises an error instead of returning null when the location and employee are in different subsidiaries or the name is invalid.

Returns: string. The location name when it is valid for the employee's subsidiary, otherwise null (or an error when isthrow is true).

When to use it: Use it to validate that a location is allowed for an employee's subsidiary before assigning it.

GetLocationIdByEmployeeId

What it does: Confirms that a location belongs to the same subsidiary as an employee and, when it does, returns the location ID.

Signature: Task<string> GetLocationIdByEmployeeId(string locationId, string EmployeeId, bool isthrow = false)

How to call it: await GetLocationIdByEmployeeId(locationId, EmployeeId)

Parameter

Type

Required

Default

Description

locationId

string

Yes

N/A

The NetSuite location ID.

EmployeeId

string

Yes

N/A

The NetSuite employee ID whose subsidiary the location must match.

isthrow

bool

No

false

When true, raises an error instead of returning null when the location and employee are in different subsidiaries.

Returns: string. The location ID when it is valid for the employee's subsidiary, otherwise null (or an error when isthrow is true).

When to use it: Use it to validate that a location is allowed for an employee's subsidiary before assigning it.

GetLocationBYId

What it does: Returns the NetSuite location record for a given location ID.

Signature: Task<Location> GetLocationBYId(string locationId)

How to call it: await GetLocationBYId(locationId)

Parameter

Type

Required

Default

Description

locationId

string

Yes

N/A

The NetSuite location ID.

Returns: Location. The NetSuite location record, or null when no location matches.

When to use it: Use it to fetch a location's full record, for example to read its subsidiary or parent.

Subsidiaries and accounts

GetSubsidiaryIdByName

What it does: Returns the NetSuite subsidiary ID for a given subsidiary name.

Signature: Task<string> GetSubsidiaryIdByName(object subsidiaryName = null)

How to call it: await GetSubsidiaryIdByName(subsidiaryName)

Parameter

Type

Required

Default

Description

subsidiaryName

object

No

null

The subsidiary name to search for. When omitted or not a string, null is returned.

Returns: string. The NetSuite subsidiary ID of the first match, or null when none matches.

When to use it: Use it to resolve a subsidiary ID from its name. When the name does not exist, the transfer continues without a subsidiary value.

GetSubsidiaryIdBySubsidiaryName

What it does: Returns the NetSuite subsidiary ID for a given subsidiary name, using an exact match.

Signature: Task<string> GetSubsidiaryIdBySubsidiaryName(string subsidiaryName)

How to call it: await GetSubsidiaryIdBySubsidiaryName(subsidiaryName)

Parameter

Type

Required

Default

Description

subsidiaryName

string

Yes

N/A

The subsidiary name to look up in NetSuite.

Returns: string. The NetSuite subsidiary ID, or an empty string when none matches.

When to use it: Use it to resolve a subsidiary's internal ID from its name when referencing or creating subsidiary-scoped records.

GetSubsidiaryIdByLocationId

What it does: Returns the NetSuite subsidiary ID associated with a given location ID.

Signature: Task<string> GetSubsidiaryIdByLocationId(string locationId)

How to call it: await GetSubsidiaryIdByLocationId(locationId)

Parameter

Type

Required

Default

Description

locationId

string

Yes

N/A

The NetSuite location ID whose subsidiary you want.

Returns: string. The NetSuite subsidiary ID, or an empty string when none is found.

When to use it: Use it to resolve the subsidiary for a location.

GetMultipleSubsidiaryIdByNames

What it does: Returns a delimited string of NetSuite subsidiary IDs for a list of subsidiary names. Names that do not exist are skipped.

Signature: Task<string> GetMultipleSubsidiaryIdByNames(object subsidiaryNames = null, string delimeter = ",")

How to call it: await GetMultipleSubsidiaryIdByNames(subsidiaryNames)

Parameter

Type

Required

Default

Description

subsidiaryNames

object

No

null

The subsidiary names to resolve, as a single name or a list of names.

delimeter

string

No

,

The delimiter used to join the returned IDs.

Returns: string. The delimiter-separated subsidiary IDs for the names that exist, or null when none match.

When to use it: Use it to resolve several subsidiary IDs from their names into one delimited value.

GetSubsidiariesByNames

What it does: Returns a NetSuite subsidiary object populated with the IDs of the subsidiaries that match the given names. Names that do not exist are skipped.

Signature: Task<CommonLinkItemClass> GetSubsidiariesByNames(List<string> subsidiaryNames)

How to call it: await GetSubsidiariesByNames(subsidiaryNames)

Parameter

Type

Required

Default

Description

subsidiaryNames

List<string>

Yes

N/A

The subsidiary names to resolve.

Returns: CommonLinkItemClass. A subsidiary object carrying the matching subsidiary IDs, or null when none match.

When to use it: Use it in From iPaaS.com flows to build a Subsidiary field value from a list of subsidiary names.

GetSubsidiaryNames

What it does: Returns a delimited string of subsidiary names from a NetSuite subsidiary object.

Signature: Task<string> GetSubsidiaryNames(object subsidiaryObj = null, string delimeter = ",")

How to call it: await GetSubsidiaryNames(subsidiaryObj)

Parameter

Type

Required

Default

Description

subsidiaryObj

object

No

null

The NetSuite subsidiary object whose names to read. When omitted, null is returned.

delimeter

string

No

,

The delimiter used to join the returned names.

Returns: string. The delimiter-separated subsidiary names.

When to use it: Use it in To iPaaS.com flows to preserve a record's subsidiary names in an iPaaS.com custom field.

GetSubsidiaryListByName

What it does: Returns the NetSuite subsidiary records for a given name, or all subsidiaries when no name is provided. It retries transient failures up to three times.

Signature: Task<object> GetSubsidiaryListByName(object subsidiaryName = null)

How to call it: await GetSubsidiaryListByName(subsidiaryName)

Parameter

Type

Required

Default

Description

subsidiaryName

object

No

null

The subsidiary name to search for. When omitted, all subsidiaries are returned.

Returns: object. The NetSuite subsidiary search result.

When to use it: Use it to fetch subsidiary records by name, or all subsidiaries. Fetching all can return a large dataset in accounts with many subsidiaries.

GetSubsidiaryListByNames

What it does: Returns the full NetSuite subsidiary detail records for a list of subsidiary names, searching by name and then fetching each match's full record. Names that do not resolve are skipped.

Signature: Task<object> GetSubsidiaryListByNames(List<string> subsidiaryNames = null)

How to call it: await GetSubsidiaryListByNames(subsidiaryNames)

Parameter

Type

Required

Default

Description

subsidiaryNames

List<string>

No

null

The subsidiary names to resolve. When omitted or empty, null is returned.

Returns: object. The list of full NetSuite subsidiary records, or null when no names are provided.

When to use it: Use it to resolve several subsidiaries by name and get their complete records in one call.

GetAccountIdByAccountName

What it does: Returns the NetSuite account ID for a given account name.

Signature: Task<string> GetAccountIdByAccountName(string AccountName)

How to call it: await GetAccountIdByAccountName(AccountName)

Parameter

Type

Required

Default

Description

AccountName

string

Yes

N/A

The NetSuite account name to search for.

Returns: string. The NetSuite account ID, or an empty string when none matches.

When to use it: Use it to resolve a NetSuite account ID from its name.

Payments and currency

GetPaymentMethodById

What it does: Returns the name of a NetSuite payment method for a given payment method ID.

Signature: Task<string> GetPaymentMethodById(object paymentMethodId)

How to call it: await GetPaymentMethodById(paymentMethodId)

Parameter

Type

Required

Default

Description

paymentMethodId

object

Yes

N/A

The NetSuite payment method ID.

Returns: string. The payment method name, or null when the ID is not provided or not found.

When to use it: Use it in To iPaaS.com transaction-payment flows to resolve a payment method name from its NetSuite ID.

GetPaymentMethodIdByName

What it does: Returns the NetSuite payment method ID for a given payment method name.

Signature: Task<string> GetPaymentMethodIdByName(object paymentMethodName)

How to call it: await GetPaymentMethodIdByName(paymentMethodName)

Parameter

Type

Required

Default

Description

paymentMethodName

object

Yes

N/A

The payment method name to search for in NetSuite.

Returns: string. The NetSuite payment method ID, or null when the name is not provided or not found.

When to use it: Use it in From iPaaS.com transaction-payment flows to resolve a payment method ID from its name.

GetPaymentMethodId

What it does: Returns the NetSuite payment method ID for a given payment method name (online or offline).

Signature: Task<string> GetPaymentMethodId(object paymentMethod)

How to call it: await GetPaymentMethodId(paymentMethod)

Parameter

Type

Required

Default

Description

paymentMethod

object

Yes

N/A

The payment method name to search for in NetSuite.

Returns: string. The NetSuite payment method ID, or null when none matches.

When to use it: Use it to resolve any payment method's ID from its name.

GetOfflinePaymentMethodId

What it does: Returns the NetSuite payment method ID for a given name only when that payment method is offline.

Signature: Task<string> GetOfflinePaymentMethodId(object paymentMethod)

How to call it: await GetOfflinePaymentMethodId(paymentMethod)

Parameter

Type

Required

Default

Description

paymentMethod

object

Yes

N/A

The payment method name to search for in NetSuite.

Returns: string. The NetSuite payment method ID when the method is offline, or null when it is not found or is online.

When to use it: Use it when you need to act only on offline payment methods (for example cash or ACH).

GetCurrencyIdByCode

What it does: Returns the NetSuite currency ID for a given currency code (symbol).

Signature: Task<string> GetCurrencyIdByCode(object currencyCode)

How to call it: await GetCurrencyIdByCode(currencyCode)

Parameter

Type

Required

Default

Description

currencyCode

object

Yes

N/A

The currency code (symbol) to resolve, for example USD or EUR.

Returns: string. The NetSuite currency ID, or null when no currency matches.

When to use it: Use it to resolve a NetSuite currency ID from a currency code in financial flows.

Transactions and invoices

CheckPostingGroupByTransactionDate

What it does: Validates that a transaction date falls within an accounting (posting) period and returns the date formatted as yyyy-MM-dd. It raises an error when the date is after the period's end date.

Signature: Task<string> CheckPostingGroupByTransactionDate(object transactionDate, string accountingperiodId)

How to call it: await CheckPostingGroupByTransactionDate(transactionDate, accountingperiodId)

Parameter

Type

Required

Default

Description

transactionDate

object

Yes

N/A

The transaction date to validate.

accountingperiodId

string

Yes

N/A

The NetSuite accounting (posting) period ID to validate against.

Returns: string. The validated transaction date formatted as yyyy-MM-dd.

When to use it: Use it to ensure a transaction posts within a valid posting period. It raises an error when the date is beyond the period's end.

ValidateInvoiceLineItemsAsync

What it does: Returns whether all invoice lines match a line on the original sales order with the same quantity.

Signature: Task<bool> ValidateInvoiceLineItemsAsync(object invoiceLines, string orderId)

How to call it: await ValidateInvoiceLineItemsAsync(invoiceLines, orderId)

Parameter

Type

Required

Default

Description

invoiceLines

object

Yes

N/A

The invoice lines to validate.

orderId

string

Yes

N/A

The NetSuite sales order ID to validate the invoice lines against.

Returns: bool. True when every invoice line matches an order line with the same quantity; otherwise false.

When to use it: Use it to confirm invoice lines are consistent with the original order before transferring the invoice.

VerifyOrderTotalEqualsInvoiceAsync

What it does: Returns whether an invoice total equals the original order total, read from a specified custom field on the NetSuite order.

Signature: Task<bool> VerifyOrderTotalEqualsInvoiceAsync(object invoiceTotal, string orderId, string customFieldName)

How to call it: await VerifyOrderTotalEqualsInvoiceAsync(invoiceTotal, orderId, customFieldName)

Parameter

Type

Required

Default

Description

invoiceTotal

object

Yes

N/A

The invoice total to validate.

orderId

string

Yes

N/A

The NetSuite sales order ID to compare against.

customFieldName

string

Yes

N/A

The NetSuite custom field on the order that stores the original order total.

Returns: bool. True when the totals are equal; otherwise false.

When to use it: Use it to confirm an invoice total matches its order total before transferring the invoice.

Gift certificates

GetGiftCertificateIdBySkuAsync

What it does: Returns the NetSuite internal ID of the gift certificate item that matches a given SKU.

Signature: Task<long?> GetGiftCertificateIdBySkuAsync(string sku)

How to call it: await GetGiftCertificateIdBySkuAsync(sku)

Parameter

Type

Required

Default

Description

sku

string

Yes

N/A

The gift certificate item's SKU to look up in NetSuite.

Returns: long?. The NetSuite internal ID of the gift certificate item, or null when the SKU is blank or none matches.

When to use it: Use it when a flow needs to reference a gift certificate item by its SKU.

ValidateNetSuiteGiftCertificateAsync

What it does: Returns the NetSuite gift certificate ID for a given iPaaS.com gift card ID, using the iPaaS.com mapping first and falling back to matching by gift card number in NetSuite.

Signature: Task<string> ValidateNetSuiteGiftCertificateAsync(string iPaaSGiftCardId)

How to call it: await ValidateNetSuiteGiftCertificateAsync(iPaaSGiftCardId)

Parameter

Type

Required

Default

Description

iPaaSGiftCardId

string

Yes

N/A

The iPaaS.com gift card ID to resolve to a NetSuite gift certificate.

Returns: string. The NetSuite gift certificate ID, or null when the input is blank or none matches.

When to use it: Use it to validate a gift card payment during order processing by mapping it to a NetSuite gift certificate.

Custom fields

GetCustomValue

What it does: Returns the value of a named field from a custom fields object. For a nested field, it returns the requested subfield, or the refName when no subfield is given.

Signature: object GetCustomValue(object customFieldsObject, string fieldName, string? subField = null)

How to call it: GetCustomValue(customFieldsObject, fieldName)

Parameter

Type

Required

Default

Description

customFieldsObject

object

Yes

N/A

The custom fields object to read from.

fieldName

string

Yes

N/A

The name of the field to read.

subField

string?

No

null

The subfield to read when the field is a nested object. When omitted, refName is used.

Returns: object. The field's value (or the subfield or refName for a nested field), or null when the field is not found.

When to use it: Use it to extract a flat or nested value from a custom fields object.

GetCustomValueObject

What it does: Returns the value of a named field from a custom fields object, matched case-insensitively. For a nested field, it returns the requested subfield (joining a list of refName values with commas), or the refName when no subfield is given.

Signature: object GetCustomValueObject(object customFieldsObject, string fieldName, string? subField = null)

How to call it: GetCustomValueObject(customFieldsObject, fieldName)

Parameter

Type

Required

Default

Description

customFieldsObject

object

Yes

N/A

The custom fields object to read from.

fieldName

string

Yes

N/A

The name of the field to read. Matching is case-insensitive.

subField

string?

No

null

The subfield to read when the field is a nested object. When omitted, refName is used.

Returns: object. The field's value, subfield, or a comma-joined list of refName values; null when the field is not found.

When to use it: Use it to extract values from custom fields whose structure may vary, including arrays of referenced records.

GetValueFromCustomField

What it does: Returns the string value of a named field from a custom fields object. It returns null when the field is missing or its value is not a string. Matching on the field name is case-sensitive.

Signature: object GetValueFromCustomField(object customFieldObj, object textFieldName)

How to call it: GetValueFromCustomField(customFieldObj, textFieldName)

Parameter

Type

Required

Default

Description

customFieldObj

object

Yes

N/A

The custom fields object to read from.

textFieldName

object

Yes

N/A

The name of the field to read. Matching is case-sensitive.

Returns: object. The field's string value, or null when the field is not found or its value is not a string.

When to use it: Use it to pull a single string custom field value into a destination field.

GetPropertiesFromCustomFields

What it does: Returns the custom fields as a name and value dictionary, skipping empty fields, any field whose name contains list_, and the subscribeprofile field.

Signature: object GetPropertiesFromCustomFields(object customFieldObj)

How to call it: GetPropertiesFromCustomFields(customFieldObj)

Parameter

Type

Required

Default

Description

customFieldObj

object

Yes

N/A

The custom fields to flatten into a dictionary.

Returns: object. A dictionary of the valid custom field names and values, or null when the input is empty or all fields are filtered out.

When to use it: Use it in From iPaaS.com flows to flatten a record's custom fields into a name and value dictionary for mapping.

GetiPaaSCustomFieldValueAsync

What it does: Returns the iPaaS.com custom field value assigned to a specific record, for a given collection type, field name, and record ID.

Signature: Task<string> GetiPaaSCustomFieldValueAsync(string mappingCollectionType, string fieldName, object recordId)

How to call it: await GetiPaaSCustomFieldValueAsync(mappingCollectionType, fieldName, recordId)

Parameter

Type

Required

Default

Description

mappingCollectionType

string

Yes

N/A

The entity type to read from, for example Customer, Product, Transaction, Gift Card, or Customer Company.

fieldName

string

Yes

N/A

The internal name of the custom field.

recordId

object

Yes

N/A

The iPaaS.com ID of the record (for example the customer, product, or transaction ID).

Returns: string. The custom field value, or null when the record or field is not found or has no value.

When to use it: Use it to read a custom field value for a specific iPaaS.com record.

FormatCustomFields

What it does: Parses a delimited string of ID and reference-name pairs into a structured NetSuite custom field value. For a Multi-Select field it returns a collection of entries; for a List/Record field it returns only the first entry.

Signature: Task<object> FormatCustomFields(string fieldType, string idAndRefName, string recordDelimiter = ",")

How to call it: await FormatCustomFields(fieldType, idAndRefName)

Parameter

Type

Required

Default

Description

fieldType

string

Yes

N/A

How to structure the result: Multi-Select for a collection of entries, or List/Record for the first entry only.

idAndRefName

string

Yes

N/A

The ID and reference-name pairs to parse. Each pair is an ID and an optional reference name, separated by a pipe; pairs are separated by the record delimiter.

recordDelimiter

string

No

,

The delimiter separating the pairs.

Returns: object. The structured custom field value, or null when the input is empty or has no valid entries.

Example: with fieldType Multi-Select, an idAndRefName of 123|ABC,456|DEF produces a collection of two entries (IDs 123 and 456).

When to use it: Use it to turn concatenated ID and reference-name pairs into the structure a NetSuite custom field expects.

Related Documents

Did this answer your question?