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 withawait; 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 |
| 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 |
| 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 |
| Yes | N/A | The email address of the customer to look up. | |
outputField |
| Yes | N/A | Which detail to return: |
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 |
| Yes | N/A | The NetSuite internal ID of the customer. |
outputField |
| Yes | N/A | Which detail to return: |
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 |
| 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 |
| Yes | N/A | The NetSuite customer category assigned to the customer. |
GroupPricing |
| No |
| The customer's price group pricing, used when your pricing source includes price groups. |
PriceLevel |
| No |
| The customer's price level, used when your pricing source includes price levels. |
isForCompany |
| No |
| 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 |
| 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 |
| 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 |
| Yes | N/A | The iPaaS.com customer or company ID whose transactions to count. |
isCompany |
| No |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| Yes | N/A | The NetSuite internal ID of the product. |
Type |
| Yes | N/A | The product type, one of |
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 |
| Yes | N/A | The NetSuite location name to check. |
ProductSku |
| 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 |
| 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 |
| Yes | N/A | The iPaaS.com product option name (the matrix option). |
value |
| 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 |
| Yes | N/A | The product's price levels to format. |
itemId |
| Yes | N/A | The product or item identifier included in each formatted line. |
unitName |
| Yes | N/A | The unit of measure for the item. |
salesType |
| No |
| The sales type value included in each line. |
salesCode |
| No |
| The sales code value included in each line. |
startDate |
| No |
| The effective start date included in each line. |
endDate |
| No |
| The effective end date included in each line. |
filterByPriceLevel |
| No |
| When set, includes only prices from this price level name. |
filterByCurrencyId |
| No |
| When set, includes only prices with this currency ID. |
maxLength |
| No |
| When set, stops adding entries once the result would exceed this length. |
changeZeroQuantityToOne |
| No |
| When true, replaces a quantity of 0 with 1 before formatting. |
excludeZeroFromQuantityOneConflict |
| No |
| 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 |
| 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 |
| 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 |
| Yes | N/A | The NetSuite location name. For a child location, use the parent name and the location name separated by a colon. |
EmployeeId |
| Yes | N/A | The NetSuite employee ID whose subsidiary the location must match. |
isthrow |
| No |
| 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 |
| Yes | N/A | The NetSuite location ID. |
EmployeeId |
| Yes | N/A | The NetSuite employee ID whose subsidiary the location must match. |
isthrow |
| No |
| 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 |
| 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 |
| No |
| 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 |
| 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 |
| 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 |
| No |
| The subsidiary names to resolve, as a single name or a list of names. |
delimeter |
| 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 |
| 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 |
| No |
| The NetSuite subsidiary object whose names to read. When omitted, null is returned. |
delimeter |
| 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 |
| No |
| 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 |
| No |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| Yes | N/A | The currency code (symbol) to resolve, for example |
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 |
| Yes | N/A | The transaction date to validate. |
accountingperiodId |
| 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 |
| Yes | N/A | The invoice lines to validate. |
orderId |
| 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 |
| Yes | N/A | The invoice total to validate. |
orderId |
| Yes | N/A | The NetSuite sales order ID to compare against. |
customFieldName |
| 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 |
| 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 |
| 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 |
| Yes | N/A | The custom fields object to read from. |
fieldName |
| Yes | N/A | The name of the field to read. |
subField |
| No |
| The subfield to read when the field is a nested object. When omitted, |
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 |
| Yes | N/A | The custom fields object to read from. |
fieldName |
| Yes | N/A | The name of the field to read. Matching is case-insensitive. |
subField |
| No |
| The subfield to read when the field is a nested object. When omitted, |
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 |
| Yes | N/A | The custom fields object to read from. |
textFieldName |
| 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 |
| 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 |
| Yes | N/A | The entity type to read from, for example |
fieldName |
| Yes | N/A | The internal name of the custom field. |
recordId |
| 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 |
| Yes | N/A | How to structure the result: |
idAndRefName |
| 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 |
| 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.
