Use Cases

  • Updated

Return Settings

1. Select a return status to import return authorization into NetSuite

Can configure the Returns flow to support pulling both open and closed status returns from LoopReturns with the multi-select option shown in the below screenshot. By default, we only pull the open status LoopReturns.

1.png

Flows affected by the settings:

LoopReturns Return to NetSuite Return Authorization Add
LoopReturns Return to NetSuite Return Authorization Add (Batch)

2. Group items with same SKU

In case the item with the same SKU appears as multiple lines in LoopReturns, the option will help them to group all of them as a single item and create a single item in NetSuite Return Authorization during import.

2.png

Flows affected by the settings:
LoopReturns Return to NetSuite Return Authorization Add
LoopReturns Return to NetSuite Return Authorization Add (Batch)
LoopReturns Refund to NetSuite Cash Refund/Credit Memo Add
LoopReturns Refund to NetSuite Cash Refund/Credit Memo Add(Retry)

3. Cutoff Start Date and Time

We have a “Cutoff Start Date and Time” field to stop exporting any LoopReturns RMAs that got created before the set value date. So if we set the date to 10/20/19, our integration app will only process the records that got created on or after 10/20/19 and updated after the flow lastExportDateTime in LoopReturns. If this is left empty it will then bring all the LoopReturns records that got updated after the lastExportDateTime of the flow and doesn’t care about when a return is created in LoopReturns.
3.png
Flows affected by the settings:
LoopReturns Return to NetSuite Return Authorization Add
LoopReturns Return to NetSuite Return Authorization Add (Batch)

4. Configure to get data from the parent records for mapping

In some cases, there is a use case to get the details[like payment method, etc] from the parent sales order/invoice/cash sale records and make it available in the data [Source record ] so that we can map it to necessary Destination record field (NetSuite), also can add lookUp. Please note that we can only pull transaction body level fields from the parent record and not the line item details.
4.png

Example: Let’s say, you have the requirement to get the payment method (paymentmethod) for the sales order and shipping method(shipmethod) from the invoice and make it available in the mapping data to be able to map it NetSuite Return Authorization Import or NetSuite Cash Refund/Credit Memo Import.

Step 1: Add the “NetSuite Field Id” and the “Label” with which will that NetSuite field value should be available in the mappings. “Record Type” from which record we need to pull the information from.

5.png

Step 2: Enable Parent Record Lookup, select what flows[Returns, Refunds, Both] should have the above data available in the mappings. We selected both so that the data will be available in both returns and refund flows.

6.png

Step 3: Now with the above settings on clicking the mappings for the Returns and Refunds flow, you will see a NetSuite – Parent Order Lookup Import mappings.

R4-4.png

Step 4: Make sure the mappings forinvoice_id.internalid, salesorder_id.internalid are set up properly in the NetSuite – Parent Order Lookup Import else we cannot get the sales order paymentmethod and invoice shipmethod.If you add any dynamic lookup or hard-coded mappings in NetSuite – Parent Order Lookup Import, then that data will also be available in the mappings of NetSuite Return Authorization Import or NetSuite Cash Refund/Credit Memo Import.

R4-5.pngR4-6.png

Step 5: If you check the data on the final NetSuite Return Authorization Import or NetSuite Cash Refund/Credit Memo Import, you will find that data“Payment Method”, “Shipping Method”, “test_mapping” available in the “parent_data” node. And can be used for mapping like parent_data.[Payment Method], parent_data.[Shipping Method], parent_data.test_mapping.

R4-7.pngR4-8.png
Flows affected by the settings:
LoopReturns Return to NetSuite Return Authorization Add
LoopReturns Return to NetSuite Return Authorization Add (Batch)
LoopReturns Refund to NetSuite Cash Refund/Credit Memo Add
LoopReturns Refund to NetSuite Cash Refund/Credit Memo Add(Retry)

LookUp Criteria

If you want to create Return Authorizations from Billing records, make sure to have the following Lookup

Screenshot_18-1.png

  1. invoiceId.internalid with Invoice Lookup Criteria: Define the lookup to match up with the invoice in Netsuite. In case the client is using the Shopify IA or any Celigo IA to bring in the sales orders, you can use the below formula for the lookup
    • [“custbody_celigo_etail_order_id”,”is”,”{{{provider_order_id}}}”],
      • Action to take if unique match not found : Use null as default valueScreenshot_16-2.png
  2. cashSaleId.internalid with Cash Sale Lookup Criteria: Define the lookup to match up with the cash sale in Netsuite. In case the client is using the Shopify IA or any Celigo IA to bring in the sales orders, you can use the below formula for the lookup.
    • [“custbody_celigo_etail_order_id”,”is”,”{{{provider_order_id}}}”]
      • Action to take if unique match not found : Use null as default valueScreenshot_17-1.png
If you want to create Return Authorizations from sales order, make sure to have the following Lookup

Screenshot_19-1.png

  1. salesOrderId.internalid with sales order Lookup Criteria: Define the lookup to match up with the sales order in Netsuite. In case the client is using the Shopify IA or any Celigo IA to bring in the sales orders, you can use the below formula for the lookup
    • [“custbody_celigo_etail_order_id”,”is”,”{{{provider_order_id}}}”]
      • Action to take if unique match not found : Use null as default valueScreenshot_20-1.png

Configurations

How to configure Store Credits?

We add a line item in the return authorization with a negative giftCard total amount, to track the Store Credits. The preferred NetSuite item type for this is the non-inventory item for sale, the account for the item should be set with the proper account to see the proper GL impact. Return Authorization created has the checkbox(LOOP GIFT CARD) checked to identify it is a Store credit return.

Add the following mappings on the import to configure the giftcards line

“xxxx”
giftcardCustom[*].item
“1”
giftcardCustom[*].quantity
“-1”
giftcardCustom[*].price
-{{gift_card}}
giftcardCustom[*].rate
“_giftcardline”
giftcardCustom[*].custcol_nm_loop_lineid
loopreturns_linelevel_giftcard.png
Note
  1. Replace the “xxxx” in the giftCardCustom[*].item with the correct NetSuite item internal id.
  2. To disable this, you need to remove the above mappings

How to configure Exchanges?

We add a line item in the return authorization with a negative exchange total amount, to track the exchange. The preferred NetSuite item type for this is the non-inventory item for sale, the account for the item should be set with the proper account to see the proper GL impact. Return Authorization created has the checkboxes to identify whether its Exchange, Advanced Exchanges, Storefront(shop now)
Add the following mappings on the import to configure the exchange line
“xxxx”
exchangeCustom[*].item
“1”
exchangeCustom[*].quantity
“-1”
exchangeCustom[*].price
{{#compare (abs exchange_total) “>” (abs exchange_credit_total) }}-{{exchange_credit_total}}{{else}}-{{exchange_total}}{{/compare}}
exchangeCustom[*].rate
“_exchangeline”
exchangeCustom[*].custcol_nm_loop_lineid
 
Screenshot_21-1-1.png
 
Note
  1. Replace the “xxxx” in the exchangeCustom[*].item with the correct NetSuite item internal id.
  2. To disable this, you need to remove the above mappings.

How to configure Sales Tax as a separate line item?

We add a line item in the return authorization with a return_tax_total amount, to track the Return Tax. The preferred NetSuite item type for this is the non-inventory item for sale, the account for the item should be set with the proper account to see the proper GL impact. A Return Authorization is created with an additional line item to identify return tax.
Add the following mappings on the import to configure the tax as a separate line
“xxxx”
lineLevelTax[*].item
“1”
lineLevelTax[*].quantity
“-1”
lineLevelTax[*].price
{{return_tax_total}}
lineLevelTax[*].rate
“_taxline”
lineLevelTax[*].custcol_nm_loop
 
image.png
 
 
Note
  1. Replace the “xxxx” in the lineLevelTax[*].item with the correct NetSuite item internal id.
  2. To disable this, you need to remove the above mappings.

How to configure Header/Body Level/Tax Percentage Sales Tax?

Add the following mappings on the import to configure the Header Level Tax
“true”
Use Dynamic Mode
“true”
Taxable
“xxxx”
Tax (InternalId)
{{#compare return_discount_total ‘>’ ‘0.00’}}{{multiply (divide return_tax_total (subtract return_product_total return_discount_total)) 100}}{{else}}{{multiply (divide return_tax_total return_product_total) 100}}{{/compare}}
Tax %
image-1.png

How to configure Discount as a separate line item?

Add the following mappings on the import to configure the Discount as a line

“xxxx”
lineLevelDiscount[*].item
“1”
lineLevelDiscount[*].quantity
“-1”
lineLevelDiscount[*].price
-{{return_discount_total}}
lineLevelDiscount[*].rate
“_discountline”
lineLevelDiscount[*].custcol_nm_loop_lineid
 
image.png
 
 
Note
  1. Replace the “xxxx” in the lineLevelDiscount[*].item with the correct NetSuite item internal id.
  2. To disable this, you need to remove the above mappings.

How to configure Header Level Discount?

To bring over the Discount Amount as Header level Discount in the NetSuite RMA, please make sure to add the below Mappings in IO
 
“XXXX”
Discount (InternalId)
-{{return_discount_total}}
Rate
Header-level-discount.png

How to configure Discount Based on the sales order?

If the sales order has the header level discount, will set the header level discount on the return authorization, if not will set whateverLine Item Level Discount or Discount as a separate line item that is configured in the setup. You cannot set Line Item Level Discount and Discount as a separate line item at the same time.If the sales order has both header level discount and other types of discounts on the sales order, return authorization will set the header level discount.

Along with header level and line level discount configuration mappings, add the below mapping to configure discount based on the Sales order in NetSuite.
“true”
setSalesOrderDiscountType
{{{provider_order_id}}}
salesOrderId
 
 
 
Discount-based-on-sales-order.png
salesOrderId mapping is a Dynamic lookup, please check the attachment below:
Dynamic-lookup-discount-based-on-Sales-order.png
 

How to configure Discount Based on the cash sale?

If the cash sale has the header level discount, will set the header level discount on the return authorization, if not will set whatever Line Level Discount or Discount as a separate line item that is configured in the setup. You cannot set Line Level Discount and Discount as a separate line item at the same time.In case the cash sale has both header level discount and other types of discounts on the sales order, return authorization will set the header level discount.
 
Along with header level and line level discount configuration mappings, add the below mapping to configure discount based on the Sales order in NetSuite.
 
“true”
setCashSaleDiscountType
{{{provider_order_id}}}
cashSaleId
 
 
 
Screenshot_20.pngcashsale_discount_type_mappings-1.png
 
cashSaleId is a Dynamic lookup, please check the attachment below:
cashsale_discount_type_cashsaleid_lookup.png

How to configure Sales tax with line Item Tax Code?

You will see this issue if tax is not calculated on beforeSubmit and causing this issue. To resolve this, please follow the below steps.
 
Install the NetSuite Bundle Novamodule Tax Calculations (310634).
 
Initially the script “Novamodule Tax Calculations” is set inactive in status. After installing the Novamodule Tax Calculations bundle. Follow the below steps
 
Go to Customizations → Scripts → Choose the bundle Numbers in filters and check show inactive.
 
In the results you will see the “Novamodule Tax Calculations” script which is inactive in the state, open the record and Uncheck the checkbox to change the status of the script to active.
 
Go to deployment in the same record and make sure if the script is applied only to return authorization and cash refund/ credit memo records only. If you find any other record types (Sales order, invoice, cash sale) please make sure to remove them.
 
Add the below mappings in IO
 
Flow:-Returnly Return Authorization to NetSuite RMA Add
return_tax_total
custbody_nm_total_tax_amount
“T”
custbody_nm_override_tax_amount
“T”
custbody_nm_override_line_tax
return_tax_total
taxamountoverride
“true”
Use Dynamic Mode
line_items[*].tax
item[*].custcol_nm_item_tax_amount
line_items[*].price
item[*].custcol_nm_item_amount
 
setup-tax-based-on-item-tax-code.png
 
Note: On adding theUse Dynamic Mode to true, please make sure to add the items mappings in the order as mentioned below
  1. Items : Item (InternalId)
  2. Items : Quantity
  3. Items : Price Level (InternalId)
  4. Items : Rate
  5. Items : Amount

How to configure Each Line Item Level Discount?

Configured discount item will be added below each line item if there is a discount for the item. Add the following mappings on the import to configure the Discount as a line
“xxxx”
itemLevelDiscount[*].item
“1”
itemLevelDiscount[*].quantity
“-1”
itemLevelDiscount[*].price
-{{line_items[*].discount}}
itemLevelDiscount[*].rate
discount_{{line_items[*].line_item_id}}
itemLevelDiscount[*].custcol_nm_loop_lineid
 
image-3.png
 
Note
  1. Replace the “xxxx” in the itemLevelDiscount[*].item with the correct NetSuite item internal id.
  2. To disable this, you need to remove the above mappings.

How to configure Handling Fee?

We add a line item in the return authorization with a negative handling_fee, to track the Handling fee. The preferred NetSuite item type for this is the non-inventory item for sale, the account for the item should be set with the proper account to see the proper GL impact.
 
Add the following mappings on the import to configure the handling fee.
 
“xxxx”
handlingFee[*].item
“1”
handlingFee[*].quantity
“-1”
handlingFee[*].price
-{{handling_fee}}
handlingFee[*].rate
“_handlingfeeline”
handlingFee[*].custcol_nm_loop_lineid

loop_handlingfee.png

Note
  1. Replace the “xxxx” in the handlingFee[*].item with the correct NetSuite item internal id.
  2. To disable this, you need to remove the above mappings

For more information, view our FAQ.