Version: eXtendFiles 1.9 and above
Overview
When using select object-based storage providers, the eXtendFiles Bulk Download feature lets users download multiple eXtendFiles from a record. You can configure which record types use bulk download, where the Bulk Download eXtendFiles button appears, and whether users can choose which files to include or whether all files are downloaded.

Prerequisites
Before you configure bulk download, make sure the following items are available:
- You're using Amazon S3 or Microsoft Azure and have access to add Cross-Origin Resource Sharing (CORS) rules.
- The target record type where you want to use bulk download.
- An eXtendFiles reference field associated with the target record.
- An inline HTML field on the target form where the Bulk Download eXtendFiles button should display. If the record type already uses the eXtendFiles Inline Link List Display, this field is auto-sourced from that configuration.
- Access to deploy the SuiteScripts.
Configure CORS in Amazon S3 or Microsoft Azure
Bulk download requires a Cross-Origin Resource Sharing (CORS) rule that allows your NetSuite domain to read files from your storage provider. Bulk download won't work until this rule is in place.
Amazon S3
Add the following CORS rule to the S3 bucket used with eXtendFiles. Replace yournetsuitesubdomain with your NetSuite account domain.
[ { "AllowedHeaders": ["*"], "AllowedMethods": ["GET", "HEAD"], "AllowedOrigins": [https://yournetsuitesubdomain.app.netsuite.com"], "ExposeHeaders": ["Content-Type"] } ]
Note: If you're using multiple buckets, add the rule to each S3 bucket in use by eXtendFiles.
Microsoft Azure
Azure CORS rules are configured in the Azure portal. Open the storage account used by eXtendFiles, go to Resource sharing (CORS), and add a rule on the Blob service tab with the following values:
- Allowed origins: your NetSuite domain, in the format https://yournetsuitesubdomain.app.netsuite.com
- Allowed methods: GET, HEAD
- Allowed headers: *
- Exposed headers: Content-Type
- Max age: 1800
If you also use Direct Upload
If you use eXtendFiles Direct Upload (Configure eXtendFiles for Direct Upload to Microsoft Azure / Configure eXtendFiles for Direct Upload to Amazon S3), create a separate rule for each feature instead of combining them into a single CORS rule. Separate rules keep the permission scope for each feature as small as possible.
The S3 example below uses one rule for direct upload and one rule for bulk download.
[ { "AllowedHeaders": ["*"], "AllowedMethods": ["PUT"], "AllowedOrigins": ["https://YoureXtendFileSubdomain.cf.suitextend.net"], "ExposeHeaders": ["ETag"] }, { "AllowedHeaders": ["*"], "AllowedMethods": ["GET", "HEAD"], "AllowedOrigins": ["https://yournetsuitesubdomain.app.netsuite.com"], "ExposeHeaders": ["Content-Type"] } ]
Configuration
Configure bulk download from the eXtendFiles Configuration page. You can add one configuration row for each record type where you want to display the bulk download option.
Open the eXtendFiles Configuration page
- In NetSuite, go to eXtendTech → eXtendFiles → eXtendFiles Configuration.
Configure bulk download display settings
- On the eXtendFiles Configuration page, select Bulk Download Display from the panel on the left.
- In the table, add a new row.

- In the Record Types field, select the record type where you want to use the bulk download feature.
- In the eXtendFiles Reference Field field, select the eXtendFiles reference field associated with the transaction or record.
- In the Inline HTML Field field, select the inline HTML field that controls where the Bulk Download eXtendFiles button appears on the form.
- Choose whether to enable Download All by Default.
- Enable this option if you want all available files selected by default.
- Disable this option if you want users to choose which files are included in the bulk download.

- Enable this option if you want all available files selected by default.
- Configure how the columns display when users review or select files for download.

Field placement
The Inline HTML Field you select controls where the Bulk Download eXtendFiles button displays on the form. How that field is set depends on whether the record type also uses the eXtendFiles Inline Link List Display.
- Bulk download only: The button displays in the inline HTML field you select.
- Bulk download and inline link list: The Inline HTML Field is auto-sourced from the inline link list configuration for that record type. You can also select the field manually.
- If bulk download and inline link list share the same field: The button and the inline file list display together in the same field.
- Different fields selected: If you select an inline HTML field for bulk download that differs from the one used by the inline link list, the button and the inline file list display in their respective fields.
Deploy the User Event script
After you configure the bulk download display settings, deploy the eXtendFiles Inline View User Event script to the target record type.
This deployment is required before the bulk download option can display on the selected record. The eXtendFiles Inline Link List Display isn't required to use bulk download. If you're already using the eXtendFiles Inline Link List Display on the same record type, no additional deployment is necessary because both features use the same user event script.
- Open the script link which is displayed.

- Click "Deploy Script"
- Choose your target record type, set the Status as Released and choose the roles who the script may run for (recommended: Select All).

Deploy the Suitelet script
- Navigate to Customization → Scripting → Scripts and find the eXtendFiles Suitelet script.
- Create a new deployment using the Deploy Script button with the following details:
- Title: eXtendFiles Bulk Download Template
- ID: customdeploy_extend_files_bulk_download
- Status: Released
- Audience: All Internal Roles
- Parameters:
- eXtendTech Files Suitlet Deployment: bulk_download_react_template

Configure additional record types
Repeat the configuration and user event deployment steps for each additional record type where you want to display the bulk download option. Only a single Suitelet deployment is needed.
- eXtendFiles Inline View User Event: One deployment for each record type where the bulk download feature is used.
- eXtendFiles Suitelet: A single deployment across all record types.
Troubleshooting
If the eXtendFiles Configuration page shows a validation error when saving your Bulk Download configuration, review the Suitelet deployment used by the feature.
"Suitelet deployment not found for Bulk Download"
This error means eXtendFiles couldn't find a Suitelet deployment with the required deployment ID:customdeploy_extend_files_bulk_download
To resolve this issue:
- In NetSuite, go to Customization → Scripting → Scripts.
- Open the eXtendFiles Suitelet script.
- Confirm that a deployment exists with the following ID:
- ID:
customdeploy_extend_files_bulk_download
- ID:
- If the deployment doesn't exist, create a new deployment using the steps in Deploy the Suitelet script.
"Suitelet not deployed for Bulk Download"
This error means the required Suitelet deployment exists, but the deployment isn't enabled.
To resolve this issue:
- Open the eXtendFiles Suitelet script deployment with the ID
customdeploy_extend_files_bulk_download. - Check the Deployed checkbox on the script deployment.
- Save the deployment.
"Suitelet deployment doesn't have roles or employees configured for Bulk Download"
This error means the Suitelet deployment doesn't have an audience configured. The deployment must be available to at least one role or employee.
To resolve this issue:
- Open the eXtendFiles Suitelet script deployment with the ID
customdeploy_extend_files_bulk_download. - On the Audience tab, configure one of the following:
- All Roles
- All Employees
- One or more selected roles
- One or more selected employees
- All Roles
- Save the deployment.
Recommended setting: Set the Suitelet deployment audience to All Internal Roles.
Frequently Asked Questions (FAQs)
Q: Do I need to configure the Inline Link List Display to use bulk download?
A: No. Bulk download works whether or not the inline link list is configured for the record type. If both are configured, the button and the file list display in the same field.