NetSuite Inventory & Financial Sync to Salesforce (Make.com)

Keep Sales teams informed with real-time ERP data using Make.com's advanced mapping and error handling.

Tools: NetSuiteSalesforce

Platform: Make.com

Short Answer

A fully automated sync where Salesforce Accounts and Products are updated based on NetSuite triggers. Sales reps gain a 360-degree view of inventory and invoice aging directly within the CRM, powered by Make.com’s robust integration engine.

The Problem

Sales teams often lack visibility into actual stock levels and customer payment statuses, leading to 'out-of-stock' sales and pitching to accounts with credit holds. Manually reconciling NetSuite financial data into Salesforce is prone to error and creates data silos between finance and sales.

The Outcome

A fully automated sync where Salesforce Accounts and Products are updated based on NetSuite triggers. Sales reps gain a 360-degree view of inventory and invoice aging directly within the CRM, powered by Make.com’s robust integration engine.

Step-by-Step Guide

1. **Establish NetSuite Connection**: In Make.com, add the NetSuite module. Use 'Token-Based Authentication' (TBA). You will need your Account ID, Consumer Key, Consumer Secret, Token ID, and Token Secret from NetSuite (Setup > Integration). 2. **Configure NetSuite Trigger**: Select the 'Watch Records' module. Choose 'Saved Search' as the source. This is more efficient than polling the entire database. Set the interval (e.g., every 15 minutes). 3. **Sanitize Data**: Add a 'Set Multiple Variables' module to clean NetSuite's complex key-value pairs. Use the `trim()` and `ifempty()` functions to handle null values from the ERP. 4. **Branching Logic**: Insert a 'Router'. - **Path A (Inventory)**: Set a filter where `Record Type` equals `Inventory Item`. - **Path B (Financials)**: Set a filter where `Record Type` equals `Customer` or `Invoice`. 5. **Salesforce Connection**: Search for the Salesforce module and connect via OAuth 2.0. Ensure the Make.com Connected App in Salesforce has 'API' and 'Refresh Token' scopes enabled. 6. **Lookup Record (Prevent Duplicates)**: Use the 'Search Records' module in Salesforce. Search for the Account or Product using the `NetSuite_Internal_ID__c` custom field to prevent creating duplicates. 7. **Map Inventory Data**: In the 'Update a Record' Salesforce module, map the NetSuite `quantityavailable` to the Salesforce `Quantity_on_Hand__c` field. 8. **Map Financial Data**: Map NetSuite `balance` to Salesforce `Total_Outstanding_Balance__c` and `overduebalance` to a custom alert field. 9. **Implement Error Handling**: Right-click the Salesforce modules and select 'Add error handler'. Use the 'Break' directive to automatically retry on 500-level errors or a 'Commit' directive to ignore minor validation errors. 10. **Enable Scenario**: Save the scenario and toggle the scheduling to 'On'.