Configuration Settings
All dispute settings are located under the Disputes subtab within the Data Orchestration tab. Under this subtab, the Dispute and Dispute Reversal field groups contain all configuration fields required for managing the Disputes flow.
Note: Click any field label in the Dispute and Dispute Reversal field groups to see a description of its purpose and usage.
Field Descriptions
Enable Disputes Flow: Check/mark to enable importing Stripe disputes into NetSuite. Uncheck to stop all dispute imports.
Last Exported Date: Shows the last time disputes were imported from Stripe (in Unix timestamp). This value is used in the next import to fetch only disputes created after this time using the created[gte] parameter.
Note: The system updates this field after every flow execution, and it is read-only.
Transaction Type: Determines which NetSuite transaction type is created for each imported Stripe dispute. Choose between Cash Sale / Cash Refund, or Customer Payment / Customer Refund, based on your accounting workflow.
Note: When Cash Sale / Cash Refund is selected, Cash Refund is created for Disputes and Cash Sale is created for Dispute Reversals. When Customer Payment / Customer Refund is selected, Credit Memo + Customer Refund is created for Disputes, and Customer Payment is created for Dispute Reversals.Dispute Line Item: A NetSuite item used in Credit Memo to map the total Stripe dispute amount.
Note: Use only non-inventory items. To use condition-based mapping, leave the Dispute Line Item field empty and use static or dynamic mapping. Filling in these fields sets a global default that overrides any conditional logic in item mappings of the Credit Memo Field Mappings.
Credit Memo Field Mappings: Controls how Stripe Dispute fields are mapped to NetSuite Credit Memo fields.
Note: Fields from the Stripe dispute object can be used.
Refer to the Sample Credit Memo Field Mappings at the end of this document for reference. Also, for detailed JSON mapping examples and instructions, refer to the Field Mapping Documentation.
Refund Account: Select the NetSuite account where Customer Refund / Cash Refund will be recorded. All imported Stripe disputes are posted to this account.
Note: To use condition-based mapping, leave the Refund Account field empty and use static or dynamic mapping. Filling in this field sets a global default that overrides any conditional logic in the Customer Refund / Cash Refund Field Mappings.
Refer to the Field Mapping Documentation for examples and detailed instructions on implementing conditional mappings.
Refund Method: Select the payment method to be used for recording the Stripe dispute on the Customer Refund / Cash Refund record.
Note: To use condition-based mapping, leave the Refund Method field empty and use static or dynamic mapping. Filling in this field sets a global default that overrides any conditional logic in the Customer Refund / Cash Refund Field Mappings.
Refer to the Field Mapping Documentation for examples and detailed instructions on implementing conditional mappings.Customer Refund / Cash Refund Field Mappings: Controls how Stripe Dispute fields are mapped to NetSuite Customer Refund / Cash Refund fields.
Note: Fields from the Stripe dispute object can be used.
Refer to the Sample Customer Refund Field Mappings or Sample Cash Refund Field Mappings at the end of this document for reference. Also, for detailed JSON mapping examples and instructions, refer to the Field Mapping Documentation.
NetSuite Dispute Records Saved Search: A saved search in NetSuite used to fetch dispute records with a status other than “won or lost”. The search retrieves disputes corresponding to Stripe disputes to facilitate status updates.
Payment Account: Select the NetSuite Account where Stripe dispute payments will be recorded on the Customer Payment / Cash Sale record.
Note: To use condition-based mapping, leave the Payment Account field empty and use static or dynamic mapping. Filling in this field sets a global default that overrides any conditional logic in the Customer Payment Field Mappings.
Refer to the Field Mapping Documentation for examples and detailed instructions on implementing conditional mappings.
Payment Method: Select the payment method in NetSuite for recording Stripe dispute payments on the Customer Payment / Cash Sale record.
Note: To use condition-based mapping, leave the Payment Method field empty and use static or dynamic mapping. Filling in this field sets a global default that overrides any conditional logic in the Customer Payment Field Mappings.
Refer to the Field Mapping Documentation for examples and detailed instructions on implementing conditional mappings.
Cash Sale Line Item: A NetSuite item used in Cash Sale to map the total Stripe dispute amount.
Note: Use only non-inventory items. To use condition-based mapping, leave the Cash Sale Line Item field empty and use static or dynamic mapping. Filling in these fields sets a global default that overrides any conditional logic in item mappings of the Cash Sale Field Mappings.
- Customer Payment / Cash Sale Field Mappings: Controls how Stripe Dispute fields are mapped to NetSuite Customer Payment / Cash Sale fields.
Note: Fields from the Stripe dispute objectcan be used as the start point of the data is NetSuite the dispute data is mapped as (stripeDisputeData.id) if data from saved search is needed to map then you saved search label (dispute_customer_id).
Refer to the Sample Customer Payment Field Mappings or Sample Cash Sale Field Mappings at the end of this document for reference. Also, for detailed JSON mapping examples and instructions, refer to the Field Mapping Documentation.
Sample Field Mappings
Cash Refund Field Mappings
{
"fields": [
{
"generate": "entity",
"dynamicLookup": {
"recordType": "customer",
"filters": [
[
"custentity_nm_stripecharge_customer_id",
"is",
"{{charge.customer}}"
]
],
"resultField": "internalid",
"default": ""
}
},
{
"generate": "location",
"hardCodedValue": "2"
},
{
"generate": "custbody_pp_stripe_dispute_id",
"extract": "id"
}
],
"sublist": {
"item": [
{
"generate": "item",
"hardCodedValue": "387"
},
{
"generate": "quantity",
"hardCodedValue": "1"
},
{
"generate": "price",
"hardCodedValue": "-1"
},
{
"generate": "amount",
"handlebars": "{{toFixed (divide amount 100) 2}}"
},
{
"generate": "taxcode",
"hardCodedValue": "-7"
}
]
}
}Credit Memo Field Mappings
{
"fields": [
{
"generate": "entity",
"dynamicLookup": {
"recordType": "customer",
"filters": [
[
"custentity_nm_stripecharge_customer_id",
"is",
"{{charge.customer}}"
]
],
"resultField": "internalid",
"default": ""
}
},
{
"generate": "location",
"hardCodedValue": "2"
},
{
"generate": "custbody_pp_stripe_dispute_id",
"extract": "id"
}
],
"sublist": {
"item": [
{
"generate": "item",
"hardCodedValue": "502"
},
{
"generate": "quantity",
"hardCodedValue": "1"
},
{
"generate": "price",
"hardCodedValue": "-1"
},
{
"generate": "amount",
"handlebars": "{{toFixed (divide amount 100) 2}}"
},
{
"generate": "taxcode",
"hardCodedValue": "-7"
}
]
}
}Customer Refund Field Mappings
{
"fields": [
{
"generate": "customer",
"dynamicLookup": {
"recordType": "customer",
"filters": [
[
"custentity_nm_stripecharge_customer_id",
"is",
"{{charge.customer}}"
]
],
"resultField": "internalid",
"default": ""
}
},
{
"generate": "account",
"hardCodedValue": "2"
},
{
"generate": "total",
"handlebars": "{{toFixed (divide amount 100) 2}}"
},
{
"generate": "custbody_nm_pp_stripe_refund_id",
"extract": "id"
},
{
"generate": "paymentmethod",
"hardCodedValue": "10"
}
],
"sublist": {
"apply": [
{
"generate": "apply",
"hardCodedValue": "T"
},
{
"generate": "doc",
"extract": "nsCreditMemoId"
}
]
}
}Cash Sale Field Mappings
{
"fields": [
{
"generate": "entity",
"dynamicLookup": {
"recordType": "customer",
"filters": [
[
"custentity_nm_stripecharge_customer_id",
"is",
"{{dispute_customer_id}}"
]
],
"resultField": "internalid",
"default": ""
}
},
{
"generate": "custbody_pp_stripe_dispute_id",
"extract": "stripeDisputeData.id"
},
{
"generate": "location",
"hardCodedValue": "2"
}
],
"sublist": {
"item": [
{
"generate": "item",
"hardCodedValue": "387"
},
{
"generate": "quantity",
"hardCodedValue": "1"
},
{
"generate": "price",
"hardCodedValue": "-1"
},
{
"generate": "amount",
"handlebars": "{{toFixed (divide lines.data[].pricing.unit_amount_decimal 100) 2}}"
},
{
"generate": "taxcode",
"hardCodedValue": "-7"
}
]
}
}Customer Payment Field Mappings
{
"fields": [
{
"generate": "customer",
"dynamicLookup": {
"recordType": "customer",
"filters": [
[
"custentity_nm_stripecharge_customer_id",
"is",
"{{dispute_customer_id}}"
]
],
"resultField": "internalid",
"default": ""
}
},
{
"generate": "payment",
"handlebars": "{{toFixed (divide stripeDisputeData.amount 100) 2}}"
},
{
"generate": "location",
"hardCodedValue": "2"
},
{
"generate": "custbody_pp_stripe_dispute_id",
"extract": "stripeDisputeData.id"
}
]
}