Address Management in NetSuite Projects

Discover how to manage project-specific addresses in NetSuite when Project Management is enabled. Learn about creating custom records, scripting solutions, and customizing PDFs for accurate address handling.

Address Management in NetSuite Projects
Address Management in NetSuite Projects

Understanding the Issue

When you enable Project Management within NetSuite, you lose the ability to attach addresses directly to your project records. This differs from when Project Management is not enabled, where project records function more like sub-customer records, carrying much of the functionality of customer records. True project records are sub-records of customer records and allow for tracking time, project-specific tasks, revenue, expenses, etc., as you would expect from a project management tool.

This is particularly important for businesses that engage with clients or perform work at multiple locations. Tax liabilities may be based on the location where the work is performed, not just where your business is based.

The Problem

With Project Management enabled, you need to record addresses on the project record for visibility and tax liability reasons, but there are no address fields available. Although you can add addresses to the customer record and select them when creating a sales transaction, this approach has its drawbacks, such as the risk of users selecting the incorrect address.

Proposed Solution

To overcome this issue, you can create a custom record (Job Site Address Record, JSA) that captures address-related data and associates it with the respective project record. When creating sales transactions tagged to projects, the JSA captured on the project record would automatically populate the appropriate fields for visibility and taxation purposes. This method allows the JSA to be shown on an invoice PDF more easily.

Implementation Steps

  1. Create a Custom Record: Develop a Job Site Address (JSA) record that captures address fields similar to a shipping address, as NetSuite typically uses shipping addresses to calculate tax. The specific fields on this record can vary based on your needs.
  2. Develop a Scripted Solution: Have a technical resource or developer build a script to pull the JSA fields of data forward to the sales transactions, setting the Ship To fields appropriately. This script should include error handling for scenarios such as missing JSA on a project or mismatched city and zip code.
  3. Customize PDFs: Customize your customer-facing PDFs to include the JSA data for transparency or business needs.

Error Handling

The error handling might include:

  • Dialog boxes shown when a user creates a transaction for a project without a JSA.
  • Alerts for mismatches in the City and Zip code within the JSA.


Implementing this solution allows you to maintain accurate address records for your projects, ensuring compliance with tax liabilities and improving operational efficiency. Customizing this process to suit your specific needs can provide a more seamless and error-free experience for your users.

Process Flow for Managing Project Addresses in NetSuite

  1. Define Requirements: Identify the need to capture project-specific addresses for tax and visibility purposes. Determine the specific fields required in the Job Site Address (JSA) record.
  2. Create Custom Record (JSA): Navigate to Customization > Lists, Records, & Fields > Record Types > New. Create a custom record named "Job Site Address" (JSA). Add fields to capture address details (e.g., Street, City, State, Zip Code, Country).
  3. Associate JSA with Projects: Customize the Project record to include a field for linking the JSA record. Navigate to Customization > Lists, Records, & Fields > Record Types > Project > Fields > New. Create a field to link to the JSA record.
  4. Develop Scripted Solution: Create a script to automatically populate the JSA data into sales transactions. Develop error handling within the script to manage cases where JSA is missing or incorrect. Example errors: Missing JSA, City and Zip Code mismatch. Deploy the script to run on sales transactions involving projects.
  5. Implement Error Handling: Design dialog boxes and alerts to notify users of missing or incorrect JSA data during transaction creation. Ensure the script checks for JSA validity and prompts users accordingly.
  6. Customize Customer-Facing PDFs: Modify invoice and sales order templates to include JSA data. Navigate to Customization > Forms > Advanced PDF/HTML Templates. Edit the templates to display JSA fields in the appropriate sections.
  7. Test and Validate: Conduct thorough testing to ensure the JSA data is correctly captured and transferred to sales transactions. Validate the error handling and PDF customization.
  8. User Training and Documentation: Train users on the new process for capturing and using JSA records. Provide documentation on the process and any new fields or scripts implemented.

[Define Requirements] -> [Create Custom JSA Record] -> [Associate JSA with Projects] -> [Develop Script] -> [Customize PDFs] -> [Test and Validate] -> [User Training and Documentation]

Got insights or questions on topic? Shoot me a message or replay and let's chat! 🗣️ For daily tips on NetSuite and project management, follow me! 📈 And don't forget to share your experiences with #ProjectManagement! 🧠💡