Netsuite Shopify IA - Refund GraphQL - The total can not be negative

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

Hi @meckens Thanks for the detailed steps.

This is a known issue affecting exchange refund in scenarios with tax-inclusive pricing and the configuration where NetSuite calculates taxes along with “Deduct GST/VAT from the order total” enabled.

We’re tracking this and the fix is planned as part of the Q2 update for the Native Exchanges feature. We’ll share the timeline via the Support ticket you have already created.
Thanks.

“The fix is slated for the April release (which should go live sometime in early May).“

Incase anyone else was wondering.

@nileshkumar can the team update the known limitations in the meantime in the documentation.

Hi everyone,

Thank you for highlighting this issue and for sharing the detailed findings.

We’ve reviewed the behavior related to the error:

"Failed to save record because the total cannot be negative."

This occurs in specific $0 exchange-refund scenarios with Shopify Native Exchanges. To clarify expectations, we’ve updated the documentation to list these scenarios as currently unsupported under Known issues:

:link: https://docs.celigo.com/hc/en-us/articles/44716705749659-Support-for-Shopify-Native-Exchanges-and-Returns#h_01KJS34QN80CMPAENXXBZGM9Z1

A fix is tentatively planned for Q2 2026. We’ll provide further updates as progress is made.

Thank you for your collaboration.