How to migrate your account to line-level billing events, step by step.
Note: Clicking on the images within this guide will enlarge them for better viewing.
Who can do this: Only a NetSuite Administrator can enable and confirm this migration.
Before you start
- This change is one-way. Once enabled, line-level billing events cannot be turned off. Test in a Sandbox account first.
- This change is retroactive. Enabling it starts a background process that rebuilds every Revenue Transaction Link in your account, including records from prior years and prior fiscal periods.
- Plan for a small revenue adjustment. Because historical records are rebuilt, some prior-period billing event amounts may change by small amounts. Read Understanding Revenue Rounding Adjustments After a Revenue Migration before you begin, and capture baseline reports as described there.
- Test in a sandbox account first.
Step 1 — Confirm eligibility
Confirm your account is on ZoneBilling version 2025.09.28.0 or later, and that you have not already migrated.
Step 2 — Show the Migrate button
The migration option is hidden by default. To reveal it:
- Go to Setup → ZoneBilling (ZAB) → ZAB Preferences.
- Open the Script Overrides subtab.
- Add a new ZAB Script Overrides line.
- Set Script Key to
arm_allow_rtl_migration. - Set Value to
T. - Save.
- View ZAB Preferences again while logged in as a NetSuite Administrator.
The Migrate Billing Event Processing button now appears on the ZAB Preferences record. It will not appear if:
- the script override is missing or not set to T (or true/1), or
- you are not logged in as a NetSuite Administrator, or
- line-level billing events are already enabled on this account, or
- Revenue Billing Event Processing is actively running in the account.
Step 3 — Confirm the migration
Clicking the button asks you to confirm. The confirmation explains that this will:
- turn on line-level billing events,
- rebuild your Revenue Transaction Links using line-level allocation,
- potentially re-plan, so revenue will be planned in the inverse amount of what was already posted, while creating a separate revenue plan to re-plan what was previously posted (sometimes with a small rounding difference)
- run in the background, and
- cannot be undone.
Step 4 — What happens next
Once confirmed:
- Line-level billing events turn on.
- A full background rebuild of your Revenue Transaction Links begins — this reprocesses all qualifying historical transactions, not just recent ones.
- ZAB Preferences displays a banner indicating the "billing event migration is in progress"
You can safely leave the page or log out — the rebuild continues in the background across multiple scheduled runs if needed.
How long will it take?
Processing time depends on your transaction volume and on how many script queues your account can use. Accounts without SuiteCloud Plus licensing have 2 queues available; accounts with additional licensing process more records in parallel. Large accounts with substantial transaction history may take several days to complete.
Important: Do not begin a migration while Billing Event Processing is already running on the account.
Monitoring progress
You can check on the migration from the process record it creates. See Troubleshooting Revenue Billing Events via Script Execution Logs for how to read status and logs.
Things to avoid
- Do not attempt to enable "Enable Line-Level Billing Events" by editing the ZAB Preferences field directly — this will return an error telling you to use the Migrate button instead.
- Do not start a new migration while Billing Event Processing is already running on the account — wait for the current run to finish.
After migration completes
Review your revenue reporting against the baseline you captured before migrating. Some historical billing event totals will differ by small amounts, because charges that previously combined into a single record are now calculated individually. You may see small amounts of unposted revenue in prior periods that require an adjusting entry. For what to expect and how to reconcile it, see Understanding Revenue Rounding Adjustments After a Revenue Migration.