User GuideSyncing Data
Enabling Syncs
Configure data synchronization from NetSuite to SuitePortal
Enabling Syncs
SuitePortal syncs data one-way from NetSuite to SuitePortal. Data flows from your NetSuite instance to SuitePortal's database via Map/Reduce scripts.
Prerequisites
- NetSuite integration configured (see Integrating NetSuite)
- SuiteBundle 581756 installed
- Global Settings record configured in NetSuite
Sync Configuration
Each sync configuration defines what data to sync and how often.
Sync Config Properties
| Property | Type | Description |
|---|---|---|
name | string | Display name for the sync |
record_type | string | NetSuite record type to sync |
dataset_id | string | Target collection/dataset name |
status | enum | Current sync status |
sync_frequency | enum | How often to run |
cron_expression | string | Cron schedule (if custom) |
page_size | number | Records per batch (default varies) |
max_records_per_sync | number | Optional limit per run |
Sync Status Values
| Status | Description |
|---|---|
active | Sync runs on schedule |
paused | Sync is temporarily disabled |
draft | Sync is not yet activated |
Available Record Types
| Record Type | Label | Has Line Items | Dataset |
|---|---|---|---|
salesorder | Sales Order | Yes | sale |
invoice | Invoice | Yes | invoice |
purchaseorder | Purchase Order | Yes | purchaseorder |
quote | Quote | Yes | sale |
customer | Customer | No | customer |
vendor | Vendor | No | vendor |
contact | Contact | No | contact |
item | Item | No | item |
Creating a Sync Configuration
- Navigate to Portal → Sync Configs
- Click Create Sync Config
- Select a Record Type
- Enter a Name for the sync
- Choose a Schedule (see Scheduling Syncs)
- Optionally add Custom Fields beyond core fields
- Set Status to
activewhen ready - Click Save
Core Fields
Each record type includes core fields that are always synced:
Common Core Fields (All Types)
| Field | Description |
|---|---|
internalid | NetSuite internal ID (required for idempotency) |
lastmodifieddate | Last modification timestamp |
Entity Fields (Transactions)
| Field | Description |
|---|---|
entity | Customer/Vendor internal ID |
entityid | Entity identifier |
Transaction Line Items
| Field | Description |
|---|---|
item | Item internal ID |
quantity | Line quantity |
rate | Line rate |
amount | Line amount |
line | Line number |
Custom Fields
Beyond core fields, you can configure additional fields to sync:
| Property | Description |
|---|---|
custom_fields | Additional header/body fields |
custom_line_fields | Additional line item fields |
Custom fields are specified by NetSuite field internal ID (e.g., custbody_my_field).
Sync Run Tracking
Each sync execution creates a SyncRun record:
| Property | Description |
|---|---|
status | running, completed, failed, or cancelled |
triggered_by | manual, scheduled, api, or n8n |
records_found | Total records matched |
records_synced | Records successfully synced |
records_failed | Records that failed |
duration_ms | Execution time in milliseconds |
pages_processed | Number of batches processed |
Manual Sync
Trigger a sync manually:
- Navigate to Portal → Sync Configs
- Find the sync configuration
- Click Run Now
- Monitor progress in the sync run history