Skip to main content

NetSuite Return Authorization From iPaaS.com Mapping Documentation

NetSuite Return Authorization From iPaaS.com Mapping Documentation

NetSuite Return Authorization (RMA) records can be created and updated from iPaaS.com return transactions. When a return is received in iPaaS.com, the integration creates a Return Authorization in NetSuite against the originating Sales Order, with the requested return lines and an optional shipping-refund line. This document covers the four mapping collections that manage the Return Authorization lifecycle:

  • Add NetSuite RMA FROM iPaaS.com (parent) and Add NetSuite RMA Line FROM iPaaS.com (child)

  • Update NetSuite RMA FROM iPaaS.com (parent) and Update NetSuite RMA Line FROM iPaaS.com (child)

Purpose & Function

The integration creates a Return Authorization in NetSuite from an iPaaS.com return transaction and keeps it linked to the originating Sales Order. The Add collections create the Return Authorization on the first return event for a Sales Order; the Update collections apply later return activity to the existing Return Authorization (adding new return lines) rather than creating a duplicate.

Scope of this integration. The integration is responsible only for sending the Return Authorization (and its return lines) into NetSuite and maintaining the transaction linkage to the originating Sales Order.

The following are intentionally out of scope and are handled natively inside NetSuite by the account's own configuration/customization:

  • Credit Memo generation

  • Customer refunds and refund logic

  • Transforming the Return Authorization into a Credit Memo

  • Item Receipt processing (physical inventory return)

This separates financial refund processing and physical inventory return — both owned by NetSuite — from the Return Authorization creation that this integration performs.

ID Format

  • Manual Sync ID: the iPaaS.com record ID of the return transaction, entered in the IPAAS.COM input field on the iPaaS.com Manual Sync page.

  • External ID Format: on a successful transfer, the integration stores the NetSuite Return Authorization's internal ID back on the iPaaS.com transaction as its external ID (for example, 74188). Subsequent transfers for the same return use that link to update the existing Return Authorization instead of creating a new one.

Deleted Record Support

Outbound delete is not part of this feature. Returns are created and updated only; there is no delete mapping for Return Authorizations.

Mapping Collection Status

Enabled. Trigger events: Create (Add collections) and Update (Update collections).

Duplicate or Conflicting Mappings

The following collections handle related transaction types from iPaaS.com. Which collection processes a given transaction is determined by each collection's filter, so a return routes only to the RMA collections. Review these filters and each collection's Add/Update settings before enabling, and confirm the intended source of truth for each transaction type:

  • NetSuite Cash Refund Add From iPaaS

  • NetSuite Cash Sale Add From iPaaS

  • NetSuite Sales Order Add From iPaaS

  • NetSuite Sales Order Cancel From iPaaS

  • NetSuite Sales Order Update From iPaaS

Supported Child Collections

  • Add NetSuite RMA FROM iPaaS.comAdd NetSuite RMA Line FROM iPaaS.com — supplies the individual return line items.

  • Update NetSuite RMA FROM iPaaS.comUpdate NetSuite RMA Line FROM iPaaS.com — supplies return lines added to an existing Return Authorization.

System Caveats

NetSuite Caveats

  • The Sales Order must be fulfilled before the Return Authorization is created. NetSuite only allows a returnable quantity from fulfilled items; an unfulfilled order has nothing to return and the create fails.

  • Transform behavior. The Return Authorization is created from the originating Sales Order using the NetSuite Transform API, which copies all of the order's lines by default. The integration explicitly controls which lines are returned and at what quantity — lines that are not being returned are sent at quantity 0.

  • Totals are computed by NetSuite from the return lines. The line amounts and taxes (amount, rate, taxability) directly determine the return's subtotal, tax, and total. The mapped header Total is carried for reference and reconciliation only — it is not honored in lieu of the line-based computation.

  • The return reuses the originating order's tax rate. The originating Sales Order's tax rate is recorded on a NetSuite custom field by a NetSuite customization and applied to each return line by the line's taxable flag; the NetSuite SuiteTax feature is not required.

  • Multiple Return Authorizations per Sales Order are permitted. Each references the same originating Sales Order; the integration links subsequent returns to the existing Return Authorization where one already exists for the transaction.

Source (iPaaS.com) Caveats

  • The return transaction must have line items, reference a valid originating Sales Order, and not be in a cancelled state.

  • Returnable items must exist on the originating Sales Order; an item that is not on the order cannot be returned.

Integration-Specific Caveats

  • Originating Sales Order handling. You don't pre-create the originating order in NetSuite. If it isn't already linked, the integration attempts to create it from the source as a prerequisite ("Unable to create parent sales order. This prevents creating the return transaction." if that fails). The order must still be fulfilled for a returnable quantity to exist — fulfillment, not manual order creation, is the gate; auto-fulfillment is driven by the Sales Order Line CreateItemFullfilment control field.

  • Over-quantity returns are authorized at the Return Authorization stage. The integration does not block a return quantity that exceeds the originating Sales Order quantity — the Return Authorization is created or updated as sent. NetSuite enforces refund and return limits downstream at the Item Receipt stage, which is out of scope for this integration. Subscribers should not rely on the Return Authorization step to cap over-returns.

  • Discounts must be reflected in the line unit price. The return line Amount is calculated as quantity × the per-unit rate, so a discount is honored only when the source has already applied it to the unit price (so that unit price × quantity equals the discounted line total). If a connected platform keeps the full unit price and carries the discount separately — in a line discount amount and/or a discounted extended price — the return line posts at the full unit price × quantity and the discount is not reflected in the return total. Depending on how each source platform stores discounts on the iPaaS.com order, this mapping may require adjustment during onboarding; subscribers whose source stores discounts separately should validate return line amounts in a staging environment before relying on them.

  • Lifecycle ownership. This integration creates and updates the Return Authorization only. NetSuite owns the subsequent refund/credit-memo and Item Receipt steps.

  • Shipping refunds are represented as a dedicated return line — see Setup Requirements and the Add RMA mappings below.

Setup Requirements

NetSuite Configuration

  • Shipping-Refund item. A NetSuite item used to represent a shipping-refund line on the Return Authorization. It must be type Other Charge (OthCharge) with subtype For Sale (Sale). Create it under Lists → Items → Items → New, assign an income account, save, and note the Internal ID. Set ShippingRefundItemId to that Internal ID in the mapping. If the item is missing or of the wrong type when a shipping refund is included, the integration raises a validation error and the return is not created.

  • Subsidiary (OneWorld accounts). The return's subsidiary is resolved by name; the subsidiary name configured in the mapping must match a subsidiary in your NetSuite account.

  • Posting period / transaction date. The transaction date must fall within an open NetSuite accounting (posting) period. Configure these so they resolve to an open period for each return — ideally sourced from a custom field per order rather than a fixed value.

  • Default Return Authorization Status. Confirm the NetSuite preference for the default status applied to newly created Return Authorizations matches your intended workflow.

Integration Flow

  1. A return transaction is received in iPaaS.com (via Manual Sync or an enabled outbound trigger).

  2. The collection filter validates the transaction: it must have lines, be a non-cancelled return, and reference a valid originating Sales Order.

  3. The integration resolves the customer (by NetSuite ID, falling back to email, otherwise created as a prerequisite) and the originating Sales Order (the CreatedFrom_Id mapping — created from the source if it is not yet linked), then the subsidiary and posting period.

  4. Add: a Return Authorization is created from the originating Sales Order via the Transform API, with the requested return lines (lines not being returned are sent at quantity 0) and an optional shipping-refund line when a shipping amount is present.

  5. Update: when a Return Authorization already exists for the transaction, new return lines are added to it via the Return Authorization update (PATCH) API; existing lines are preserved.

  6. The NetSuite Return Authorization internal ID is saved back to the iPaaS.com transaction as its external ID, linking subsequent transfers to the same Return Authorization.

  7. NetSuite handles the downstream refund/credit-memo and any Item Receipt natively — these are out of scope for this integration.

Mappings

Add NetSuite RMA FROM iPaaS.com (parent)

iPaaS.com data type: Transaction

Mapping Filter:

if (
    Lines.Count > 0 &&
    Type != "Invoice" &&
    Type == "Return" &&
    Status != "Cancelled" &&
    Total >= 0 &&
    ParentId > 0
)
{
    return true;
}return false;

Only valid return transactions are processed: the transaction must have lines, be typed as a return, not be cancelled, have a non-negative total, and reference a valid originating Sales Order.

Mapping Type

Source / Formula

Destination Field

Description

Dynamic Formula

builds an "RMA" memo: transaction number, summed line totals plus shipping, and tax

Memo

Optional. A human-readable return memo (for example, "RMA 1023 $149.50 Tax: $12.00").

Field

TransactionNumber

OtherRefNum

Recommended. Stores the originating transaction number on the return's Other Reference Number for traceability.

Field

Total

Total

Optional. Carried for reference/reconciliation; NetSuite computes the actual return total from the lines.

Dynamic Formula

NetSuite customer external ID, falling back to lookup by email

Entity_Id

Required. The customer the return belongs to; the create fails without it.

Dynamic Formula

subsidiary resolved by name

Subsidiary_Id

Required on OneWorld accounts. Placeholder value — replace during implementation: the subsidiary name is set to an example value (Parent Company); replace it with your NetSuite subsidiary.

Field

ShippingAmount

ShippingCost

Recommended. The shipping amount being refunded; when greater than zero, a shipping-refund line is added automatically (see ShippingRefundItemId).

Dynamic Formula

posting-period validation for the transaction date

TransactionDate

Required. Placeholder value — replace during implementation: the accounting period (212) and date (08/31/2025) are example values; map them to an open posting period per order (ideally from a custom field).

Dynamic Formula

originating Sales Order external ID (from ParentId)

CreatedFrom_Id

Required. The originating Sales Order the return is transformed from; it must already exist and be fulfilled in NetSuite.

Static

order return

CreateTransactionAs

Control field. Routes the transaction to create a Return Authorization; the value must be exactly order return.

Static

Internal ID of the shipping-refund item

ShippingRefundItemId

Required when a shipping refund is included. Placeholder value — replace during implementation: set to the Internal ID of your own Other Charge / For Sale shipping-refund item (example ships as 12423).

Add NetSuite RMA Line FROM iPaaS.com (child)

iPaaS.com data type: Transaction Line

Supplies the individual return line items for the Return Authorization. The line Amount, Rate, and IsTaxable values directly contribute to NetSuite's computed totals (subtotal, tax, and total); the mapped header Total is not honored in their place.

Mapping Type

Source / Formula

Destination Field

Description

Dynamic Formula

await GetNetSuiteProductIdBySku(Sku);

Item_Id

Required. The NetSuite item being returned, resolved from the line SKU; must be a line on the originating Sales Order.

Field

Qty

Quantity

Required. The quantity being returned on this line.

Dynamic Formula

return Qty * UnitPrice;

Amount

Required. The extended line amount; directly contributes to the NetSuite-computed return totals.

Dynamic Formula

return Qty * UnitPrice;

Rate

Required. The per-unit rate for the returned line.

Field

(line taxability)

IsTaxable

Required. Whether the line is taxed; contributes to the computed return tax (the return reuses the originating order's tax rate; SuiteTax is not required).

Field

(line description)

Description

Optional. The line description carried to the Return Authorization line.

Update NetSuite RMA FROM iPaaS.com (parent)

iPaaS.com data type: Transaction

Mapping Filter:

if (
    Lines.Count > 0 &&
    Type != "Invoice" &&
    Type == "Return" &&
    Status != "Cancelled" &&
    Status != "Refunded" &&
    Total >= 0 &&
    ParentId > 0
)
{
    return true;
}return false;

Same as the Add filter, with the additional exclusion of Refunded transactions.

The field mappings match the Add parent (Memo, OtherRefNum, Total, Entity_Id, Subsidiary_Id, ShippingCost, TransactionDate, CreatedFrom_Id, CreateTransactionAs, ShippingRefundItemId), with the same classifications and placeholder callouts. On update, new return lines are added to the existing Return Authorization; existing lines are preserved.

Update NetSuite RMA Line FROM iPaaS.com (child)

iPaaS.com data type: Transaction Line

The field mappings match the Add RMA Line child (Item_Id, Quantity, Amount, Rate, IsTaxable, Description). New return lines are appended to the existing Return Authorization; lines already present are preserved.

Error Handling

  • Missing or unresolved required data. Return Authorization creation fails when a required value cannot be resolved — for example, an unresolved customer (no NetSuite ID and no email match), a missing or unfulfilled originating Sales Order, or a subsidiary name that does not match a NetSuite subsidiary. Ensure the required header fields (Entity_Id, CreatedFrom_Id, TransactionDate, Memo, CreateTransactionAs) resolve before transfer.

  • Posting period closed or date out of range. If the transaction date is empty or falls outside the selected posting period, NetSuite rejects the return; supply a date within an open period.

  • Shipping-refund item invalid. When a shipping refund is included but ShippingRefundItemId is missing or references an item that is not Other Charge / For Sale, the integration raises a validation error and the return is not created.

  • Unfulfilled Sales Order. If the originating Sales Order is not fulfilled, there is no returnable quantity and the create fails. NetSuite returns an error similar to: "Unable to process transfer. Reason: Bad Request! Error while accessing a resource. You can not initialize returnauthorization: invalid reference 79518." — the reference number identifies the originating Sales Order and will vary. Fulfill the Sales Order before sending the return.

Additional Notes

Related Documents

Did this answer your question?