Demo without a NetSuite account
Turn on Simulated NetSuite to show Continuous Control before anyone has a NetSuite account. Every sync completes inside Salesforce with made-up NetSuite ids, and nothing leaves your org.
Know what it does
With the switch on, Salesforce answers every NetSuite request itself, the way NetSuite answers a successful sync.
- The sync cards, Flow actions, Sync Runs and Calls & Mappings work as usual.
- Each synced record gets a five-digit NetSuite id. The same record always gets the same id.
- You need no NetSuite account, credentials or Remote Site Settings, and you install nothing in NetSuite.
Use it to demo the invoice, payment, refund and credit memo cards, or to evaluate the app before NetSuite is set up.
Turn it on in the wizard
Three steps of the Connection wizard get your org ready to demo.
- Install Continuous Control 3.4.0 or later. See Install the Salesforce package.
- Give yourself the Continuous_Control_Admin and Continuous_Control permission sets.
- Open the NetSuite Connection tab. In step 1, turn on Simulate NetSuite. The credential form goes away, and steps 1 and 2 show Complete.
- In step 6, click Deploy prebuilt calls & mappings.
- In step 7, click Stamp every account and product. Each account and active product without a NetSuite id gets a made-up one. Their invoices, payments, refunds and credit memos can then sync right away.
- Place the sync cards. See Demo invoices, payments, refunds and credit memos.
You can skip the other wizard steps. Added accounts or products later? Click Stamp every account and product again. It skips records that already have an id.
Set it up from the command line
If you use the Salesforce CLI, one script does the three wizard steps for you. Download simulated-setup.apex and run it from the folder you saved it in.
sf apex run -f simulated-setup.apex -o <alias>
Building a scratch org with the rlm-scratch-org skill? ./install-cc.sh <alias> --simulated installs the package and does the same three steps in one go.
The script turns on the switch, deploys the prebuilt calls if your org has none, and stamps accounts and products. It's safe to run again.
See what changes while it's on
In the wizard
- A banner under the progress bar says Simulated NetSuite is on. It reminds you to turn it off in step 1 before you connect a real account.
- Step 1 hides the credential form and its guide. Steps 1 and 2 show Complete.
- Step 3, Test the connection, passes and reads "Simulated NetSuite is on."
- Step 4, Verify installation, says there is no NetSuite package to check.
- Step 7 shows the Stamp every account and product button. The step shows Complete once a product has an id. Fetch from NetSuite still works, but its lists are empty.
On the sync cards
- The card runs through its steps and turns green. Its pill reads Synced.
- The record's NetSuite Record Id fills in, and its NetSuite Sync Status reads Completed.
- The Sync Runs tab shows a Completed run. View JSON payload shows what the call would send.
- The card shows no link into NetSuite, such as Open invoice in NetSuite, because no NetSuite record exists.
Demo invoices, payments, refunds and credit memos
This demo shows billing documents flowing to NetSuite, with no order booking. Turn Simulated NetSuite on in the wizard first, including the step 7 stamp.
Set up the pages
- Put the Continuous: NetSuite Sync card on the Invoice, Payment and Refund record pages. Use the Header and Right Sidebar template and place the card at the top of the sidebar. Leave Sync Mode on Auto. See Placing the components.
- Activate each page as the default. For Payment and Refund, make it the default in each app you use.
- For credit memos, activate the packaged Credit Memo Record Page as the org default. The card is already on it.
- Leave the Order, Account and Product pages without the card. The step 7 stamp already gave accounts and products their ids.
Give the demo
- Post an invoice, for example one for Kingsbridge Digital. Click Sync Invoice to NetSuite.
- Process a payment and apply it to that invoice. Click Sync Payment to NetSuite.
- Refund that payment. Click Sync Refund to NetSuite. A refund must apply to a synced payment, so sync the payment first.
- Post a credit memo. Click Sync Credit Memo to NetSuite.
- Open the Sync Runs tab to show the four runs. Open Calls & Mappings to show what each call sends.
To show automation, use the Flow actions. Each button has a Flow action of the same name that does the same sync.
Know the limits
- The ids are made up. Nothing exists in NetSuite.
- The Revenue Summary card stays empty. No obligations are built, so there's nothing to show.
- Booking an order completes too, but builds no revenue.
Connect a real NetSuite account later
Turn the switch off and clear the made-up ids first. Otherwise Salesforce treats those records as already in NetSuite.
- In wizard step 1, turn off Simulate NetSuite. The credential form comes back.
- Clear the made-up ids on accounts and products. Open the Developer Console, click Debug, then Open Execute Anonymous Window. Paste this script and click Execute.
It clears NetSuite Record Id and NetSuite Sync Status on every account and product.List<SObject> rows = new List<SObject>(); for (Account a : [SELECT Id FROM Account WHERE NetSuiteRecordId__c != null]) rows.add(new Account(Id = a.Id, NetSuiteRecordId__c = null, NetSuiteSyncStatus__c = null)); for (Product2 p : [SELECT Id FROM Product2 WHERE NetSuiteRecordId__c != null]) rows.add(new Product2(Id = p.Id, NetSuiteRecordId__c = null, NetSuiteSyncStatus__c = null)); update rows; - Install the NetSuite components and work through every step of the Connection wizard.
Invoices, payments, refunds and credit memos you synced while simulated keep their made-up ids too. Clear those fields as well, or connect the real account from a fresh org.