When applying multiple credit memos to a single invoice through a SOAP request, NetSuite may return a duplicate entry error for the invoice.
This article explains how to structure the request when applying multiple credit memos without entering an additional customer payment amount.
Error and Symptoms
You may experience one or more of the following:
The upload fails with a duplicate entry error.
The error references the same invoice more than once.
One credit memo is applied successfully, but additional credit memos fail.
NetSuite rejects the request when the same invoice appears on multiple rows.
Why This Happens
The error occurs when the same values are repeated across multiple rows for:
Apply List: Doc
Apply List: Line
NetSuite interprets each repeated Apply List combination as another attempt to apply the same invoice. Because the invoice is already included in the request, NetSuite treats the additional entries as duplicates and rejects the request.
The invoice should appear only once in the Apply List. Each credit memo should appear on its own Credit List row.
How to Resolve the Issue
When applying multiple credit memos to one invoice without entering an additional customer payment amount, configure the fields as follows:
Field | Instructions |
Payment (Header Level) | Set to |
Apply List: Line | Provide a value only on the first row. Leave blank on all additional rows. |
Apply List: Doc | Enter the invoice reference only on the first row. Leave blank on all additional rows. |
Apply List: Amount | Leave blank. This field is not required when applying credit memos without an additional payment amount. |
Apply List: Replace All | Enter |
Apply List: Apply | Enter |
Credit List: Line | Leave blank on every row. |
Credit List: Doc | Enter one credit memo reference per row. |
Credit List: Amount | Enter the amount to apply from the credit memo on its corresponding row. |
Credit List: Apply | Enter |
⚠️ Important: Keep Header-Level Fields Consistent
All header-level field values included in the request must be identical across every row.
For example, if the template includes the customer, account, transaction date, or payment amount, those values must remain the same for every row in the transaction group.
Only the following Credit List fields should vary from row to row:
Credit List: Doc
Credit List: Amount
Credit List: Apply
Do not repeat Apply List: Doc or Apply List: Line on the additional credit memo rows.
Verification
The request is structured correctly when:
NetSuite accepts the upload without a duplicate invoice entry error.
Each credit memo is applied to the intended invoice.
The applied amounts match the values entered under Credit List: Amount.
No unintended customer payment amount is recorded.
The invoice balance reflects all applied credit memos.
Best Practices
Test the process with two credit memos before uploading a larger transaction.
Confirm the invoice and credit memo references before submitting the request.
Keep all header-level values consistent within the transaction group.
Include the invoice Apply List information only on the first row.
Use one row for each credit memo being applied.
Review the invoice balance in NetSuite after the upload completes.
💬 Need Help?
If the upload continues to fail, contact CloudExtend Support at cloudextend-support@celigo.com.
Include:
The complete NetSuite error message
A copy of the template or request structure
The affected invoice reference
The credit memo references
A screenshot of the upload results
