NewStore allows you to create financial transactions in an ERP system and sync them with the NewStore platform for all returns.
This integration playbook helps you integrate an ERP system used in your business with the NewStore platform, to sync all returns made by customers. The integration is achieved via the Event Stream.
For each return order placed in the NewStore platform, a cash refund transaction is created in the ERP, which includes:
Returned items
Refund details
Process overview
The following sequence diagram represents a typical integration of returns made in the NewStore platform with an ERP:
In this playbook:
NewStore sends the
return.processed
event when the return has been completed.The integration fetches all necessary details via GraphQL API.
The integration creates the cash refund transaction in the ERP by calling the ERP's API.
Exceptions
ERP unavailable
The integrations returns a 500 error, and the Event stream retries sending the macro event.
Payment details unavailable
In some cases, it takes more than a few seconds until payment processing at the PSP
has been completed and the payment details become available in the platform. The integration moves the event into an internal queue (for example, SQS) to reprocess later, and returns 200
.
Sample GraphQL Query
Here is an example GraphQL query to retrieve all the information required to create a cash refund transaction in the ERP.
query MyQuery {
order(id: "012345Ab-CdEf-GhIj-KlMn-OpQrStUvWxYz", tenant: "dodici") {
externalId
placedAt
demandLocationId
currency
isExchange
isHistorical
channel
channelType
shippingTax
shippingTotal
taxExempt
taxStrategy
taxTotal
subtotal
grandTotal
discounts {
edges {
node {
couponCode
}
}
}
paymentAccount {
instruments {
edges {
node {
paymentMethod
paymentOrigin
paymentProvider
paymentAccountTransactions {
edges {
node {
amount
currency
transactionType
}
}
}
}
}
}
}
items {
edges {
node {
productId
quantity
pricebookPrice
itemDiscounts
orderDiscounts
tax
shippingServiceLevel
fulfillmentLocationId
}
}
}
}
}
ERP integration example with NetSuite
For integrations with NetSuite as an ERP system for returns, see this example.
Related topics