Welcome to Part 3 of our SDF Deployment tutorial series. In Part 2 we created a fresh Account Customization Project and added a simple custom record from scratch. In real projects, though, you usually start with an existing NetSuite account that already contains scripts, workflows, custom records, and forms. This part shows you how to import those existing objects into your SDF project so you can bring legacy customizations under source control.
Why Importing Matters
Most NetSuite accounts already have customizations that were built directly in the UI over months or years. Importing them turns every script, workflow, and custom record into a versioned XML file on your machine β ready for code review, Git history, and consistent redeployment to other environments.
Step 1 β List Available Objects
From inside your SDF project folder, run suitecloud object:list –type customrecordtype to see every custom record type in the linked account. You can swap customrecordtype for any object type SDF supports β customscript, workflow, customrole, savedsearch, and more. Use the –scriptid filter to narrow the list to a naming pattern.
Step 2 β Import Objects
Use suitecloud object:import –type customrecordtype –scriptid customrecord_blog_demo –destinationfolder /Objects to pull a specific object down. The CLI writes the XML representation into src/Objects and prompts you about any referenced files or dependencies it also needs to import.
Step 3 β Import Files from the File Cabinet
Scripts, templates, and other assets often live in SuiteScripts or custom File Cabinet folders. Use suitecloud file:import –paths “/SuiteScripts/MyModule/*” to pull them into src/FileCabinet. Always import the JavaScript file together with the customscript XML that references it, otherwise validation will fail.
Step 4 β Resolve Dependencies
Imported objects often reference other customizations β a workflow may use a custom field, a script may target a custom record. Run suitecloud project:adddependencies to scan your project and add any missing dependencies to manifest.xml so your project deploys cleanly to another account.
Step 5 β Validate and Commit
Run suitecloud project:validate to confirm everything imported correctly, then commit the new XML and script files to Git in small, logical chunks. Reviewable commits make it easier for teammates to understand what came from the live account versus what was added by hand.
Tips for Large Imports
Import in batches by module rather than pulling the entire account at once, because large imports are harder to review and more likely to surface dependency issues. Exclude experimental or deprecated scripts β SDF should reflect what you actually want to maintain, not every artifact in the account.
Up Next
In Part 4, we’ll take this fully-populated SDF project and deploy it to a sandbox account, then promote the same package to production using a controlled, repeatable workflow. See you there!