Release notes
What each release changed, newest first. To see which Salesforce version pairs with which NetSuite version, go to Versions & compatibility.
NetSuite ns-v3.3.1 · October 2026
This is a NetSuite-only release. The Salesforce package stays on 3.4.1. Install the zip over ns-v3.3.0, then run Verify installation in the wizard so it reads 3.3.1.
What's fixed
- An amendment in October, November or December keeps the obligation's start date. Update POBs compared line dates as text, so an amendment dated "10/1/2026" sorted before a base line dated "6/1/2026" and became the obligation's start. Revenue plans then began on the amendment date. Dates are now compared as dates. If a contract was amended in a fourth-quarter month, run Update POBs and then Update Revenue Plans on it once to repair its dates.
- The Refund card works. Salesforce does not let a page read a Refund record the way the card reads other records, so the card stayed at "Process first" even for a Processed refund. It now reads the status another way and offers the sync. This was not specific to Simulated NetSuite.
- The revenue engine step completes. While Simulated NetSuite is on, the engine step after a booking or invoice sync runs inside Salesforce. It needs no NetSuite links, reports done and counts the contracts. The card shows no warning.
- Order Line Sync reads as a normal line sync. Every order line you send comes back as updated. The card counts the lines instead of saying NetSuite found none of them.
- Updating from 3.4.0? Install 3.4.1 over it. There's nothing else to do, and NetSuite needs no change.
- Orgs connected to a real NetSuite account see no change.
- Simulated NetSuite. Turn on Simulate NetSuite in step 1 of the Connection wizard, and Salesforce answers every NetSuite request itself. Every sync completes with made-up NetSuite ids, and nothing leaves your org. A banner across the wizard shows while it's on. See Demo without a NetSuite account.
- Made-up ids in one click. In wizard step 7, Stamp every account and product gives each account and active product a made-up NetSuite id. Invoices, payments, refunds and credit memos can then sync right away.
- A setup script for the command line. It does the same three wizard steps in one run. It turns the switch on, deploys the prebuilt calls and stamps accounts and products.
- Everything else works as usual. The cards, Flow actions and Sync Runs behave as they do with a real account. The links into NetSuite are hidden while the switch is on.
- Use it for demos and evaluation only. Turn it off and clear the made-up ids before you connect a real account.
- Updating from 3.3.0? Install 3.4.0 over it. NetSuite needs no change, and there are no picklist values to add. The Continuous_Control permission set gives access to the new checkbox.
- Sync Order Lines. A booked order's sync card has a new Sync Order Lines button. It sends each line's Delivered, Fulfilled, their dates and % Complete to NetSuite. NetSuite then updates the obligations and revenue plans. See Recognition methods.
- A Flow action for it. Sync Order Lines to NetSuite takes an Order Product, so a record-triggered flow can send changes as they happen. Lines of one order share one run. See the flow recipe.
- Set % Complete in Salesforce. Order products have a new % Complete field. NetSuite averages an obligation's lines into its % Complete, weighted by amount. Once Salesforce sends one, it replaces the value typed in NetSuite.
- See % Complete in Salesforce. Performance Obligation records carry it, and the Revenue Summary card shows it, for example "% Complete · 40%".
- Enter 40 for 40%. NetSuite now reads every % Complete as points, so 0.4 means 0.4%. If you typed a fraction such as 0.4 on an obligation, change it to 40. Posted revenue doesn't change.
- Updating from an earlier version? A package update doesn't add picklist values. In Setup, open Object Manager, then NetSuite Sync Run, then the Type field. Add the value Order Line Sync. Wizard step 6 reminds you until it's there. New installs already have it.
- After you update, run wizard step 6 to add Order Line Sync. Then run step 4, Verify installation. If step 6 marks Order Booking as updated, activate it in Calls & Mappings.
- Order Line Sync needs ns-v3.3.0. The rest of 3.3.0 works with ns-v3.0.0 and later.
- Editing an activated order's products can show Revenue Cloud's "Prices aren't up to date" banner. See Monitoring & troubleshooting.
- Booking works from any new org. A new org whose products are matched to shared NetSuite items now books every line.
- $0 lines are handled. The revenue engine handles a bundle or an included service priced at $0.
- New customers book even when the name is taken. NetSuite needs a unique Customer ID. When another customer already has the name, the new one is created as "Kingsbridge Digital (<Salesforce id>)", and the sync run says so. To book onto an existing NetSuite customer, put its internal id in the account's NetSuite Record Id first.
- A clean booking reads Booked. The Order card counts only the order's contacts. Company Authorized By is a user, so it isn't one of them.
- Prebuilt calls come only from the wizard. Step 6 creates them. Until then, Calls & Mappings and the sync cards point you to step 6.
- The sync card tells the truth after a reload. It shows what the last sync landed and warns when something is missing.
- Cleaner setup screens. Step 6 shows only real warnings, and fresh orgs can read the contract's auto-renew field.
- If your org's calls were created from Calls & Mappings before step 6, run step 6 once after upgrading.
- After booking, Revenue Cloud may show "Prices aren't up to date" on the order. No price changed. See Monitoring & troubleshooting for the setting that hides it.
- The demo install runbook now covers placing the cards and the full demo story.
- Syncs respect field access. A sync reads only the fields its user can see. A hidden field is left out with a warning that names it, and the rest of the record still syncs.
- Clearer error messages. When something unexpected fails in Salesforce, you see what happened and what to do instead of raw system text.
- Up-to-date sync card. The card's counts refresh as soon as a sync finishes.
- Give sync users read access to the fields their calls map. See Security model.
- Turn on Restrict access to custom settings in Setup to keep the NetSuite secrets away from non-admins. See Install the Salesforce package.
- No duplicate POBs. Two Update POBs runs at once can't create the same POB twice.
- Invoice re-syncs keep their lines. Unchanged lines stay as they are, so obligation details and revenue plans don't change either.
- Fewer needless saves. A re-sync that changes nothing doesn't save records, so NetSuite scripts on those records don't run.
- Portfolio Close reminder. Wizard step 4 tells you when the nightly engine has no schedule.
- POBs and invoice lines get a key the next time they sync. Their ids stay the same.
- After a re-sync that adds lines, new invoice lines appear at the end.
- A ready-made integration role. The install adds a Continuous Control Integration role with only the access the connection needs. See Install the NetSuite components.
- Wizard step 4 shows the connection's role. It tells you when to move the connection to the new role.
- Safer record matching. A NetSuite id from Salesforce is used only when it points at the right record. A stale id can't update someone else's record.
- Safer files and relay. Documents land only in the Continuous Documents folder, and script files are refused. Relay can be limited to a list of scripts, and relay loops are refused.
- Every script stays open to all roles in this release. A later release limits the sync endpoint to the new role and Administrator, so move the connection now.
- Moving the connection needs a new access token. The consumer key and secret stay the same.
- Large syncs finish. A big booking, invoice batch or payment batch stops cleanly before NetSuite's usage limit. Salesforce picks up where it stopped.
- Every document lands whole. An invoice or payment is reported as synced only when its billing rows and extra objects landed too. Anything left over syncs on the next pass.
- The nightly engine keeps going. A contract too big for one night shows Partial in the run log. The next run finishes it.
- Revenue plans rebuild only when something changed. Syncs with no real change leave plans alone, so large contracts settle quickly.
- Clearer errors. An unexpected NetSuite error comes back as a readable message instead of an error page.
- The first plan update on each contract after the upgrade rebuilds its plans once. The rows come out the same.
- If two recognition runs overlap, the second leaves the period alone and asks you to run again in a few minutes.
- Choose NetSuite account settings in the wizard. Wizard step 4 lists your subsidiaries, currencies, accounts, tax codes and refund options. Pick each one, then click Save settings. See Connection wizard.
- Shipped defaults are easy to spot. Any setting you haven't chosen yet is marked Shipped default. Step 4 is done when none are left.
- Refund settings moved. The refund bank account and payment method now live on the NetSuite settings record with the other settings.
- A save is all or nothing. If NetSuite rejects one value, nothing is saved and the wizard names the setting.
- With an older NetSuite release, the panel asks you to upgrade NetSuite. The rest of the wizard still works.
- Recognition journal entries post once. If a Recognize Revenue run stops partway, the next run finishes it instead of posting the same revenue again.
- Large contracts finish. Update Revenue Plans makes progress on every run, so a contract with many obligations completes over the engine's automatic re-runs.
- Obligation Details stay complete. Update POBs reads every billed line on large accounts before it removes anything.
- Safer links. Recognize and Reverse links need a contract. They can't run across every contract from a single link.
- A run that runs out of NetSuite's per-run allowance says so, for example "processed 9 of 12 … Run again". Run it again to finish.
- To recognize or reverse every contract at once, use the Recognize Revenue form.
- Flows that save many records at once. A record-triggered Flow can save hundreds of invoices or orders at once. Every record syncs, and the save goes through. Several records start in the background, one after another, and each run shows on the Sync Runs tab. See Flow actions.
- Invoice batch totals cover the whole batch. A 250-invoice batch reports 250, and warnings from every chunk stay on the run.
- Obligations refresh only where you billed. Update POBs and revenue plans run for the contracts the synced invoices billed, not every contract on the account. Large runs update every contract they touch.
- Clearer errors. When NetSuite answers with a login or error page, the run says "NetSuite returned a web page instead of data". See Monitoring & troubleshooting.
- A sync counts as done when its data lands in NetSuite. If the revenue engine doesn't finish afterward, the run stays complete and the card tells you to refresh the obligations later.
- A file larger than 3 MB is skipped when files sync to NetSuite. Before, the limit was 5 MB.
- A Flow that fires because Continuous Control updated a record's sync status is skipped, so a sync can't trigger itself.
- The Book Order button works the same as before.
- The GL Impact tab fills itself. Open a posted invoice, cash sale, credit memo, cash refund, journal entry, customer payment or customer refund. The GL Impact tab lists that transaction's general-ledger lines, with a line count and debit and credit totals.
- A transaction that hasn't posted yet says so on the tab.
- The install sets up the tab, so there is nothing to attach by hand.
- If you attached GL Impact by hand before, delete that sublist. It can list every GL line in the account instead of the open transaction's lines. See Finish setup in NetSuite.
- Verify installation in the Connection wizard now counts 11 scripts.
- Plain-language text in both apps. Help text, setup steps, messages and errors are shorter and say what to do next.
- Clearer setup errors. If you book an order before running wizard step 6, you'll see "Continuous Control isn't set up yet. Run the Deploy step in the NetSuite Connection wizard, then book again." If a call is turned off, the message names it.
- A rewritten docs site. Every page is shorter and follows one example company. Configurable calls is now split into short task pages.
- Docs for AI agents. Every page has a Markdown version with the full technical detail, listed in llms.txt. See Automate with Claude Code, which also has a downloadable setup skill.
- The cash application pull is hidden in this release. It will come back when you can choose to settle payments in NetSuite again. See the Roadmap.
- Support for versions before 3.0.0 is removed from both parts.
- Salesforce 3.0.1 still works with NetSuite 3.0.0, but install ns-v3.0.1 with it.
- Revenue Cloud names throughout. The records Continuous Control creates in NetSuite are called RC Contract, RC Order, RC POBs, and so on.
- Several Salesforce orgs can share one NetSuite account. Every record Continuous Control writes is stamped with the org that wrote it. See Several Salesforce orgs, one NetSuite account.
- A booking with an unmatched item still lands. The order still lands in NetSuite and the card shows Booked with warnings. Fix the item and book again. See Booking an order.
- Credit memos link back to Salesforce, the same way payments do.
- RC records open on the tabs you use. The empty Notes and Files tabs are turned off in NetSuite.
- Clearer help for the NetSuite Integration record. The install steps now name each box to check. See Credentials & authentication.
- The NetSuite release zip is a public download. You don't need access to our code repository to install it.
- Salesforce 3.0.0 needs NetSuite package 3.0.0 or later. The wizard checks this when you connect.
- Download items in NetSuite can't carry the Source Org stamp. Every other item type does.
3.4.1 · October 2026
This is a Salesforce-only patch for Simulated NetSuite. Install it over 3.4.0. NetSuite stays on ns-v3.3.0.
What's new
Good to know
3.4.0 · October 2026
This is a Salesforce-only release. It lets you demo Continuous Control without a NetSuite account. NetSuite stays on ns-v3.3.0.
What's new
Good to know
3.3.0 · ns-v3.3.0 · September 2026
This release sends delivery and progress to NetSuite without booking the order again. Install both halves together.
What's new
Good to know
3.2.2 · ns-v3.2.2 · September 2026
This release fixes what a fresh demo org ran into. Install both halves together.
What's new
Good to know
3.2.1 · September 2026
This is a Salesforce-only release focused on security and clearer messages. Install it over 3.2.0. NetSuite stays on ns-v3.2.1.
What's new
Good to know
ns-v3.2.1 · September 2026
This is a NetSuite-only maintenance release. Run install.sh from the new zip. Salesforce stays on 3.2.0.
What's new
Good to know
ns-v3.2.0 · September 2026
This is a NetSuite-only release focused on security. Run install.sh from the new zip, then move your connection to the new integration role. Salesforce stays on 3.2.0.
What's new
Good to know
ns-v3.1.1 · September 2026
This is a NetSuite-only release. Large bookings, invoice batches, payments and the nightly engine now finish instead of stopping on NetSuite's usage limit. Run install.sh from the new zip. Salesforce stays on 3.2.0.
What's new
Good to know
3.2.0 · ns-v3.1.0 · September 2026
This release lets you choose your NetSuite account settings in the Connection wizard. Install both halves together.
What's new
Good to know
ns-v3.0.3 · September 2026
This is a NetSuite-only release that makes revenue recognition and the obligation updates safe on large contracts. Run install.sh from the new zip. Salesforce stays on 3.1.0.
What's new
Good to know
3.1.0 · September 2026
This is a Salesforce-only release. It makes syncs safe at any volume and makes their results easier to trust. NetSuite stays on ns-v3.0.2.
What's new
Good to know
ns-v3.0.2 · September 2026
This is a NetSuite-only release. Run install.sh from the new zip. Salesforce stays on 3.0.1.
What's new
Good to know
3.0.1 · ns-v3.0.1 · September 2026
This release makes Continuous Control easier to read and easier to automate. Install both parts together.
What's new
Good to know
3.0.0 · ns-v3.0.0 · September 2026
This is the first general release of Continuous Control for Salesforce Revenue Cloud. Install the Salesforce package and the NetSuite release zip, then connect them with the Connection wizard.
What's new
Good to know
Earlier versions
Versions before 3.0.0 were early-access builds. They aren't supported, and 3.0.0 doesn't upgrade from them. Install 3.0.0 fresh.