Matching supplier SKUs to your own inventory is a tedious (but necessary) task that often arises in NetSuite, especially when working with standardized inventory that is available from multiple suppliers or when your purchasing department sources from multiple locations.
When processing such vendor invoices, the invoice coding stage becomes very manual and time-consuming; AP teams often end up having to call the vendor/check with purchasing or make some assumptions that impact the data in NetSuite later on.
Fortunately, there is more than one way out.
In this guide, we'll look at different ways to assign vendor-specific item codes to your NetSuite items:
- Assigning multiple suppliers to an item
- Assigning a supplier to an item
- Using CSV imports for bulk mapping
- Storing SKU assignments outside of NetSuite (for example, when using OCR)
- Using workflow automation to combine the best parts of solutions 1 – 4
These solutions will differ a bit (some are more manual while others are highly automated and good for scale) – you can choose what is best for your business depending on your scale of operations.
Assigning multiple suppliers to an item
If you work with multiple suppliers for the same item, the best way to store the suppliers' SKU codes is in the Table of suppliers of articlesThis allows you to link each item to multiple vendors along with their specific item codes.
This is the most common scenario – many common inventory items will fall into this category. For example, if you purchase standardized tools, parts, and fixtures as part of a small manufacturing facility, you will likely have to source from multiple suppliers to get the best price.
Here's how you can set it up and get the data via a saved search or SuiteQL query.
Steps:
- Enable multiple vendors for an item:
- Gonna
Setup > Company > Enable Features
. - In the “Items and Inventory” tab, enable Various suppliers for articles.
- Gonna
- Enter the supplier codes:
- Open the item record and navigate to the Purchasing/Inventory eyelash.
- In it Sellers In the sub-tab, you will find a field to add vendor-specific item codes. Enter the vendor SKU code for each vendor that supplies the item.
- Create a saved search to display vendor codes:
- Gonna
Reports > Saved Searches > New
. - Select Article like the guy.
- On the Results tab, select the following fields:
Item > Name
Vendor > Name
Vendor > Vendor Code
- Run the search to get a list of items and their vendor-specific codes.
- Gonna
- Using SuiteQL to get SKU codes from suppliers: SuiteQL is a powerful query language that allows for more advanced data retrieval. You can use SuiteQL to directly extract SKUs from item suppliers. This method can be used if you are using the NetSuite API.
SELECT
Vendor.CompanyName,
ItemVendor.vendorCode,
ItemVendor.purchasePrice
FROM
ItemVendor
INNER JOIN
Vendor ON ItemVendor.vendor = Vendor.Id
WHERE
ItemVendor.Item = 'YOUR_ITEM_NUMBER';
In this query, we use the itemVendor table to get the list of all the vendors that have that item listed and their respective codes for that specific item.
Assigning a supplier to an item
If you only work with one supplier per item, use a custom field or a Article Alias This is a simpler method. It allows you to store the supplier's SKU code directly in the item record.
This is most useful in situations where the item can only be sourced from a particular supplier – an example is something like car parts or electronic chips which will typically be purchased directly from OEMs (original equipment manufacturers) like Apple or Tesla.
Here's how to implement this assignment:
Steps:
- Create a custom field:
- Navigate to
Customization > Lists, Records, & Fields > Item Fields > New
. - Create a custom field called Supplier SKU code (Text field type).
- Add this field to your item records.
- Navigate to
- Enter the supplier's SKU code:
- Go to each item record and fill in the field Supplier SKU code field with the respective supplier SKU.
- Use the supplier's SKU in transactions:
- Once added, this custom field can be used in transactions such as purchase orders and invoices to display the supplier SKU next to the internal item code.
- Display supplier SKU in forms:
- If you want the supplier SKU to appear on printed purchase orders or supplier invoices, you can customize your transaction forms to include this custom field.
Using CSV imports for bulk mapping
This is more of a quick, one-time fix if you don't have a very complex inventory setup in NetSuite – you may not need to perform this exercise very often.
If you have a large number of items and suppliers, manually entering each SKU code can be time-consuming. In this case, you can use NetSuite's CSV import feature to bulk update the SKU codes for your item suppliers.
Steps:
- Prepare the CSV file:
- Create a CSV file with columns for
Item Name/ID
,Vendor Name
andVendor SKU Code
.
- Create a CSV file with columns for
- Go to the CSV import tool:
- Navigate to
Setup > Import/Export > Import CSV Records
. - Choose Article as the record type and follow the instructions to upload your CSV file.
- Navigate to
- Map the fields:
- During the import process, ensure that the CSV columns are correctly mapped to the appropriate fields in NetSuite (Item, Supplier, and Supplier SKU Code).
- Run the import:
- After mapping, run the import to update all item records with the supplier SKU codes at once.
Storing SKU assignments externally
If you use an external tool to process invoices, such as OCR (optical character recognition) or AP automation software, you may prefer to store SKU assignments in an external system or CSV file rather than in NetSuite.
This method is useful when you are using an OCR/AP solution and want to map vendor codes to your internal item codes when coding an invoice, BEFORE importing it into NetSuite.
Please note that many OCR/AP solutions will NOT handle inventory items by default. You will need to store the mapping of vendor codes to internal item codes in a separate location (such as a Google spreadsheet or CSV) and write a custom integration to search that database.
How to implement:
- Store assignments in a CSV or external database:
- Maintain a CSV or database with the following columns:
Vendor SKU
,Internal SKU
,Vendor Name
. - This can be stored on your local system or in cloud-based storage like Google Sheets.
- Maintain a CSV or database with the following columns:
- OCR/AP Integration:
- When an invoice arrives, use your OCR tool to extract the supplier SKU from the invoice.
- Write a script or use an integration tool (most OCR or AP tools allow custom integrations with Python) to look up the supplier SKU in your external file and retrieve the corresponding internal SKU.
- When loading data into NetSuite to create the vendor invoice, use the internal SKU code you just obtained from the lookup in step #2.
Below is a simple Python script to match the supplier SKU from a CSV:
import csv
def get_internal_sku(vendor_sku, csv_file):
with open(csv_file, mode="r") as file:
reader = csv.DictReader(file)
for row in reader:
if row('Vendor SKU') == vendor_sku:
return row('Internal SKU')
return None
# Example Usage
vendor_sku = 'ABC123'
internal_sku = get_internal_sku(vendor_sku, 'vendor_mapping.csv')
print(f'Internal SKU: {internal_sku}')
When processing vendor invoices in NetSuite, you can now use the internal SKU returned by your script or integration to ensure the correct item is used.
- Please note that you will likely still need to perform data validation when entering vendor invoices into NetSuite (unless your OCR/AP tool already does this). Failure to do this may result in data being lost entering NetSuite.
<h2 id="using-ai-based-workflow-automation”>Using ai-based workflow automation
There is another way to do this that is faster and more scalable.
It involves using an ai workflow builder like Nanonets, which allows you to customize the actions you want to perform on an invoice before syncing it to NetSuite.
Here's what a typical workflow will look like:
- We use a Nanonets ai model to extract invoice and receipt data: this model will extract the supplier item codes from each supplier invoice.
- We set up a NetSuite integration on this model and created lookups to get the internal item codes
- Nanonets then does the following for each supplier invoice it processes:
- Read the supplier's item code on the invoice
- Try to find a match using a combination of SuiteQL + Natural Language Understanding to get the exact internal code of the NetSuite item
- If no match is found, the model will fall back on its own learning (i.e. it will try to remember which internal SKU you selected for this vendor SKU for a previous invoice).
- If there is still no match, you will need to manually select your item code
Over time, this process trains the ai model to remember 80-85% of all supplier SKUs. There will always be exceptions, but your AP team ends up saving a lot of time.
Using something like Nanonets has significant advantages:
- You will finish saving more than 80% of the time It is necessary to search for supplier codes.
- Nanonets has built-in data validation: For every invoice you export to NetSuite, each and every field is validated and formatted to ensure consistency with NetSuite.
- You get the advantage of the NetSuite API and SuiteQL on the backend, while also gaining highly accurate OCR and ai capabilities that learn from your choices.
A short 15-minute call with an automation expert is usually enough to start this process.
Conclusion
Mapping supplier SKU codes to internal item codes in NetSuite can be done in a number of ways, depending on your company’s setup. You can opt for something more manual that gives you more control, or you can automate it entirely using the API (with significantly more effort and some coding involved).
By combining the best of both worlds using a no-code solution like Nanonets, you can confidently manage supplier SKUs, streamline data entry, and reduce manual errors, saving valuable time for your procurement and finance teams.
API/SuiteQL References: