What is Master Data Sync for NetSuite AP?
Master Data Sync (MDS) is the automatic, one-way pull from NetSuite into Procurify that keeps your Vendors and Chart of Accounts aligned. It runs once per hour after the integration is connected. NetSuite remains your source of truth for this data: you make changes in NetSuite, and Procurify picks them up on the next sync.
This article covers what gets synced, how inactive records are handled, and the most common issues to watch for.
What gets synced
There are two types of records pulled from NetSuite on every MDS run: Vendors and Chart of Accounts.
Vendors
Only records marked as suppliers in NetSuite are imported. On each sync, the following fields are pulled into Procurify and overwrite existing values:
NetSuite Field | Procurify Field | Notes |
Company Name | Vendor Name | This is the company name, not the contact or entity name |
Address | Address | If multiple, the most recently updated one is used |
Phone Numbers | Phone Numbers | First 2 only |
All addresses are imported |
If a vendor is deleted or deactivated in NetSuite, it is made inactive in Procurify as well.
Chart of Accounts
Account codes are imported with the following field mapping:
NetSuite Field | Procurify Field | Notes |
Name | Description | The human-readable account name appears as the Description in Procurify |
Number | Code | Also known as the GL Number |
Type | Type | Account Type mapping. |
Parent | Parent | Up to 2 levels of nesting supported |
Accounts without a Number are skipped entirely during sync. This is the most common reason a NetSuite account doesn't appear in Procurify. See "Common issues" below.
Procurify supports up to two levels of parent-child nesting. If an account in NetSuite has deeper nesting, the extra levels are flattened to fit within that limit.
How inactive accounts are handled
Inactive accounts stay visible in Procurify so historical data remains readable, but they are not assigned to any departments so they can't be used on new requests.
If an account was previously synced and then deactivated in NetSuite, Procurify unassigns it from all departments but keeps the record. Nothing is deleted.
If an account is inactive the first time MDS sees it, Procurify still creates the record but does not assign it to any departments.
Child accounts under an inactive parent can still sync, because they can resolve the parent's Procurify ID.
Common issues
"Account not found" during Bill Sync
The most common cause of an "account not found" error during Bill Sync is that the account code in NetSuite is missing a GL number (account number). Accounts without a GL number are skipped entirely during MDS and never exist in Procurify, so a Bill line referencing that account has nothing to match against.
To fix: ask your NetSuite admin to confirm the GL number is populated on the relevant account. After the next hourly sync, the account will appear in Procurify and the Bill can be retried.
Inactive accounts do not cause this error, because they sync without department assignments rather than being skipped.
"I updated something in NetSuite but it hasn't shown up in Procurify yet"
MDS runs automatically once per hour. Changes made in NetSuite can take up to an hour to appear in Procurify. This is expected behavior and not a sign that anything is broken.
Notes for customers migrating from the legacy integration
The legacy NetSuite integration used a combined "Vendor ID + Company Name" format for vendor names. The NetSuite AP Integration uses just the Company Name field from NetSuite. After migration, vendor names will look different, and you may need to re-map vendors to existing records if names do not match exactly.
