ANS-1618 · CSV IMPORT & DATA MIGRATION

How to Import or Export Item Translations in NetSuite?

Learn the methods for managing item translations, including direct CSV import, mass update export, and a SuiteScript-based solution for complex scenarios.

Short answer

NetSuite allows direct CSV import for item translations via the Field Mapping page. Translations can be exported using the Bulk Update Translation tool. For specific item types or complex requirements, a SuiteScript 2.x solution involving custom fields and a scheduled script can be implemented to transfer values to the translation sublist.

Scenario

NetSuite users need to efficiently manage item translations, requiring methods to both import new translated values and export existing ones for review or external processing. Direct import into the translation sublist via CSV may have limitations for certain item types, necessitating alternative approaches.

Solution

Item translations can be imported directly into NetSuite using the Item CSV Import feature. During the import process, navigate to the Field Mapping page and utilize the Item Translation folders. Support for specific item types, such as Information Items, may vary for direct CSV import.

To export existing item translations, follow these steps:

  1. Go to Lists > Mass Update > Bulk Update Translation.

  2. Select the desired language.

  3. Click 'Export CSV' or 'Export Excel'.

    For scenarios where direct CSV import into the translation sublist is not feasible or for specific item types, a SuiteScript 2.x solution can be implemented. This method involves using custom fields as an intermediary for import and then a scheduled script to transfer values to the native translation sublist.

  4. Add a custom field for each translation field required on the item record.

  5. Import all translation values into these custom fields using a standard CSV import.

  6. Create a scheduled script that iterates through records affected by the CSV import to copy the values from the custom fields to the translation sublist.

    The script logic would involve:

javascript
// Load the record
var itemRecord = record.load({
    type: record.Type.INVENTORY_ITEM, // Or appropriate item type
    id: recordId,
    isDynamic: false
});

// Get the custom field value
var customFieldValue = itemRecord.getValue({
    fieldId: 'custitem_your_custom_translation_field_id' // Replace with your custom field ID
});

// Set the translation sublist value
// Assuming 'translations' is the sublist ID and 'TRANSLATIONFIELD' is the field ID within the sublist
// and '1' refers to the second line (index 1) of the translation sublist
itemRecord.setSublistValue({
    sublistId: 'translations',
    fieldId: 'TRANSLATIONFIELD', // Replace with the actual translation field ID (e.g., 'itemname')
    line: 1, // Adjust line index as needed (0 for first line, 1 for second, etc.)
    value: customFieldValue
});

// Save the record
itemRecord.save();

This script snippet demonstrates the core logic for loading a record, retrieving a custom field's value, and setting a value within the translation sublist using SuiteScript 2.x functions.

Expert NetSuite Support

Need help with this NetSuite issue?

CSV Import & Data Migration consulting and configuration support

Talk to a consultant