Hat tip to my colleague Boban for this one!
CSV transaction imports in NetSuite offer an option to “overwrite sublists” when you are updating transactions. This is a useful way to avoid trying to target specific transaction lines to be updated. See SuiteAnswers article 31848 for more details on how to use this feature.
Using the feature on Journal Entries (or custom transaction types of the “Journal” style) is documented in SuiteAnswers article 105561, but there seems to be an additional step that I haven’t yet been able to find documented:
If you attempt to update a Journal Entry and select “Overwrite Sublists” as described in the above-referenced articles, the CSV import sometimes fails with the following error:
“This record contains duplicated key or keys. Please correct it before next update.”
After much frustration and failed troubleshooting attempts, I reached out to my teammates at Prolecto, and Boban gave me the following advice:
“Add another column to the file and call it ‘line id’, and leave that column blank in the file. Map it to “Line Id” in the Lines mapping.“
This worked perfectly! The surprising part about that is that according to SuiteAnswers 105561, Journal Entries cannot be updated at the specific line level, and the only option is to overwrite sublists. Here’s the wording:
“Note: Updating individual lines/Journal Lines in general for Journal Entry can only be done with the Overwrite Sublist Preference= True during CSV Import.“
I have not been able to determine if the blank line id fix is always needed, or if there was something unique in my import or environment that required this.