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

**URL:** <https://connective.celigo.com/t/netsuite-shopify-ia-refund-graphql-the-total-can-not-be-negative/6088>\
**Category:** Integration Apps\
**Tags:** integration-app, shopify, netsuite\
**Created:** [February 23, 2026, 11:10pm UTC](https://connective.celigo.com/t/netsuite-shopify-ia-refund-graphql-the-total-can-not-be-negative/6088 "2026-02-23T23:10:42Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![meckens](https://avatars.discourse-cdn.com/v4/letter/m/f19dbf/32.png) [@meckens](https://connective.celigo.com/u/meckens)\
**Post date:** [February 23, 2026, 11:10pm UTC](https://connective.celigo.com/t/netsuite-shopify-ia-refund-graphql-the-total-can-not-be-negative/6088/1 "2026-02-23T23:10:42Z")

</div>

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

```auto
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

---

<div class="post-metadata">

**Author:** ![nileshkumar](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/nileshkumar/32/6842_2.png) [@nileshkumar](https://connective.celigo.com/u/nileshkumar)\
**Post date:** [March 2, 2026, 9:39am UTC](https://connective.celigo.com/t/netsuite-shopify-ia-refund-graphql-the-total-can-not-be-negative/6088/2 "2026-03-02T09:39:24Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![meckens](https://avatars.discourse-cdn.com/v4/letter/m/f19dbf/32.png) [@meckens](https://connective.celigo.com/u/meckens)\
**Post date:** [March 3, 2026, 7:09am UTC](https://connective.celigo.com/t/netsuite-shopify-ia-refund-graphql-the-total-can-not-be-negative/6088/4 "2026-03-03T07:09:43Z")

</div>

“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.

---

<div class="post-metadata">

**Author:** ![sairachamalla](https://avatars.discourse-cdn.com/v4/letter/s/ecccb3/32.png) [@sairachamalla](https://connective.celigo.com/u/sairachamalla)\
**Post date:** [March 3, 2026, 8:08am UTC](https://connective.celigo.com/t/netsuite-shopify-ia-refund-graphql-the-total-can-not-be-negative/6088/5 "2026-03-03T08:08:15Z")

</div>

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** :

🔗 [https://docs.celigo.com/hc/en-us/articles/44716705749659-Support-for-Shopify-Native-Exchanges-and-Returns#h\_01KJS34QN80CMPAENXXBZGM9Z1](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.

---

<div class="post-metadata">

**Author:** ![meckens](https://avatars.discourse-cdn.com/v4/letter/m/f19dbf/32.png) [@meckens](https://connective.celigo.com/u/meckens)\
**Post date:** [April 24, 2026, 12:14am UTC](https://connective.celigo.com/t/netsuite-shopify-ia-refund-graphql-the-total-can-not-be-negative/6088/6 "2026-04-24T00:14:01Z")

</div>

Hi @sairachamalla @nileshkumar

We have noticed that the support article has removed the know issues section, and there's an updated "Celigo Shopify Connector" (1.58.2.0) in Netsuite. I have made the assumption here based on the dates I have been provided...

Testing with the updated SuiteBundle in our Sandbox environment, it still fails.

> `r = nlapiTransformRecord("returnauthorization", 123456, "creditmemo", {});`  
> `r.setFieldValue("custbody_celigo_etail_refund_id", "123456789");`  
> `r.setFieldValue("custbody_celigo_etail_refund_exp", "T");`  
> `r.setFieldValue("trandate", "24/4/2026");`  
> `r.setFieldValue("location", 123);`  
> `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", 9.12);`  
> `r.setCurrentLineItemValue("item", "id", "15868680_1");`  
> `r.commitLineItem("item");`  
> `r.selectNewLineItem("item");`  
> `r.setCurrentLineItemValue("item", "item", 14785);`  
> `r.setCurrentLineItemValue("item", "amount", "-79.07000000000001");`  
> `r.commitLineItem("item");`  
> `nlapiSubmitRecord(r, false, true);`

This was for an exchange. Original order value was 69.95, the exchange item was 69.95.

Settings \> Order \> Tax \> Deduct GST/VAT from the order total is checked.

With a tax rate of 15% we would have though the item rate being sent to Netsuite would have been -60.83 not -79.07

###

---

<div class="post-metadata">

**Author:** ![nileshkumar](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/nileshkumar/32/6842_2.png) [@nileshkumar](https://connective.celigo.com/u/nileshkumar)\
**Post date:** [April 24, 2026, 10:20am UTC](https://connective.celigo.com/t/netsuite-shopify-ia-refund-graphql-the-total-can-not-be-negative/6088/7 "2026-04-24T10:20:24Z")

</div>

Hi @meckens  
We noticed you have two sandbox accounts. Can you please confirm if the Bundle is updated in both the accounts so that we can push the updates on priority from our end in Sandbox.  
As of now the fix is not pushed to the account and is planned to be done by mid of May.

---

<div class="post-metadata">

**Author:** ![meckens](https://avatars.discourse-cdn.com/v4/letter/m/f19dbf/32.png) [@meckens](https://connective.celigo.com/u/meckens)\
**Post date:** [April 28, 2026, 4:49am UTC](https://connective.celigo.com/t/netsuite-shopify-ia-refund-graphql-the-total-can-not-be-negative/6088/8 "2026-04-28T04:49:26Z")

</div>

Thanks @nileshkumar

🤔 Potentially at some point we had 2 sandbox accounts, but now we only have one, in which the bundle has been updated.

---

<div class="post-metadata">

**Author:** ![nileshkumar](https://sea1.discourse-cdn.com/flex001/user_avatar/connective.celigo.com/nileshkumar/32/6842_2.png) [@nileshkumar](https://connective.celigo.com/u/nileshkumar)\
**Post date:** [May 11, 2026, 11:42am UTC](https://connective.celigo.com/t/netsuite-shopify-ia-refund-graphql-the-total-can-not-be-negative/6088/9 "2026-05-11T11:42:10Z")

</div>

Hi @meckens  
The fix is now available in Sandbox and will be moved to production by 18th May. Please validate now and let us know for any issue. Thanks for the patience here.

---

<div class="post-metadata">

**Author:** ![meckens](https://avatars.discourse-cdn.com/v4/letter/m/f19dbf/32.png) [@meckens](https://connective.celigo.com/u/meckens)\
**Post date:** [May 13, 2026, 1:29am UTC](https://connective.celigo.com/t/netsuite-shopify-ia-refund-graphql-the-total-can-not-be-negative/6088/10 "2026-05-13T01:29:57Z")

</div>

Thanks @nileshkumar - although we're still experiencing the same issue.

Ticket that we have regarding this issue has been updated.
