Copy To Account – NetSuite Sandbox to Production

If you are doing the right thing and building your customizations in Sandbox first, then you are going to need to move those customizations to your production environment at some point.

There are a number of different ways to do this and each method has benefits, but it really depends on the complexity of the work you are looking to move. The method we will cover here is for smaller individual customizations or unique customizations that have dependencies. This method is one step above simply recreating the solution manually in your production environment but is not powerful enough to move a bundled solution (unless they are linked as dependencies).

What is NetSuite’s Copy To Account feature?

Copy To Account seems pretty ordinary now but for those of us who have been working with NetSuite for a few years remember having to bundle every last thing or copy it manually so it really is a massive time saver. Copy To Account is an administrator tool that allows you to copy a custom object directly from one environment to another with a couple of clicks. The feature can be reached directly from the record and it can be copied, in most cases, in less than a minute.

The copy to account link at the top right of a NetSuite record

Using the Copy To Account Feature

When you have an object that you want moved to your production account (or any other environment that you have access to) simply click the button from the source record page and you will then run through the following steps –

The four stages of the Copy to Account process in NetSuite


The first page you are directed to is the account page. You need to select here which account you will moving the object to. From the drop down you will only see that accounts that you have access to but if, for example, you have more than one Sandbox account plus a production account make sure you are selecting the right one. If you select a production account the system will warn you just in case you selected this accidentally. You don’t want to be moving customizations to your live environment unless you are absolutely sure it is ready and has been tested sufficiently.

On the right hand side you will need to give a name to this deployment so it can be referenced in the audit trail. Be a good admin and name this sensibly. You want it to make sense to you and others when being viewed at a later date.


Once you click through form the account page you will presented with a list of all objects included in the proposed deployment and all dependencies. The system will automatically unselect any objects that already exist in the target environment and you can further untick any others that don’t need to be brought along.

To evaluate the presence of an object already in the target environment NetSuite is looking at the objects ID. If the record you are trying to move is called custrecord59 and there is already a custrecord59 in your target account then it will be stopped at this point even if they are not the same record. The fix for this is to go back and change the ID of your custom record. Ultimately though you need to start using a naming logic for all your customizations. This will prevent the same issue happening again in the future and make for a much smoother customization experience generally.


The preview page validates the work you are about to copy. You will see a number of validation steps and as the system runs through them they will be marked individually as successful.

If the preview is unsuccessful you will need to click Back to return to the dependencies page and resolve. You will find the ID in the preview log which will help you find the object that caused the preview to fail.

If the preview is successful, you are ready to deploy your customization.


Once you click Deploy from the Preview page there’s no turning back. Your work will immediately be copied to your target environment. If you stay on the page after clicking deploy you can view the live log and be notified when the deployment is complete. From my experience though this is very quick and unless it is a significant piece of work with countless dependencies, I normally just head straight to the target environment to check and make tweaks.

One thing I have noticed is that when copying a custom field, the visibility and position on the form is not always copied. When copying standalone fields, I immediately head straight to the production environment and fix this before someone notices a new field on their transaction form.

If you or someone in your organization needs to view the audit log for copied objects you can navigate to Customization > SuiteCloud Development > Deployment Audit Trail. You can then search for that sensible name that you entered in the Account step above!

Learn more about the Sandbox account through the following articles –

NetSuite Sandbox

How to Refresh NetSuite Sandbox

NetSuite Sandbox Email Settings

NetSuite Login Issues

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *