Hello,
We're testing the new Return / Exchange and GraphQL Shopify Refund to NetSuite Refund (add) flow in our Shopify / Celigo / NetSuite sandbox environment.
When testing exchange orders we're seeing that the NetSuite exchange item isn't having the tax deducted from it when the credit memo is being created (via the GraphQL refund flow), in fact it looks like tax is being added to it.
Order settings have the following tax settings set:
-
Has the Sync sales tax to Netsuite as "Netsuite calculates taxes usings its own tax engine"
-
"Deduct GST/VAT from the order total" checked
Scenario: Item is purchased via POS for $150 in a region where tax is inclusive of the price and exchanged for the same item in a different size (same cost $150)
Order / Fulfillment / Billing Flows: Order is created, Fulfilled, and Billed.
Return Flow: Return Authorisation and Item Receipt are created.
Refund Flow: Fails on creating the credit memo with the following error: Failed to save record because The total can not be negative.
In the request we can see the exchange order item as 169.57 which is the in addition to the tax, as opposed to 130.43 which is the
r = nlapiTransformRecord("returnauthorization", 123456789, "creditmemo", {});
r.setFieldValue("custbody_celigo_etail_refund_id", "987654321");
r.setFieldValue("custbody_celigo_etail_refund_exp", "T");
r.setFieldValue("trandate", "24/2/2026");
r.setFieldValue("location", 273);
r.setFieldValue("shippingcost", 0);
r.setFieldValue("discountrate", 0);
r.setFieldValue("custbody_celigo_shpfy_transaction_ids", null);
r.selectLineItem("item", 1);
r.setCurrentLineItemValue("item", "line", "1");
r.setCurrentLineItemValue("item", "custcol_celigo_etail_order_line_tax", 19.57);
r.setCurrentLineItemValue("item", "id", "15867258_1");
r.commitLineItem("item");
r.selectNewLineItem("item");
r.setCurrentLineItemValue("item", "item", 74513);
r.setCurrentLineItemValue("item", "amount", "-169.57");
r.commitLineItem("item");
nlapiSubmitRecord(r, false, true);
We encounter this issue at the moment through the REST API flow, and it takes the team too long to process refunds. We thought / were hoping this would have been addressed / fixed with the implementation of the GraphQL Refund flow.
Is this something we need to handle for ourselves? Or is this something that has been overlooked and will be address before the returns / exchanges feature is production ready?
Posting here for visibility