Version: eXtendFiles 1.8.8 and
above
Audience: NetSuite
Administrator, Google Cloud
Administrator
Overview
To use eXtendFiles with Google
Cloud Storage, part of Google Cloud
Platform, you must configure settings in
both NetSuite and Google Cloud. This
configuration requires a user with
Administrator privileges in both NetSuite
and Google Cloud.
Configuration
Google Cloud Configuration
To use Google Cloud Storage buckets
with eXtendFiles, follow the
instructions below.
Google Cloud Prerequisites
- Before beginning configuration, ensure you have:
- A Google Cloud account with
Administrative access
- Access to create service
accounts and manage
permissions
- One or more buckets created
for file storage
- A Google Cloud account with
Administrative access
1. Create Service Account
- In Google Cloud console, navigate to Service Accounts for your project or use the search.

- Click Create Service Account.

- Specify the following details
- Service Account Name - Enter a name for your service
account.
- Service Account ID - This
ID is automatically generated from
the service account name, but you
can customize it. The ID will be
used to create the email
address.
- Service Account Description - Enter a description of the service account's purpose (e.g., "eXtendFiles GCP Production Account").

- Click Create And Continue,
and then click Done.
- Once the service account is created, it will be shown in the service accounts list.

- Click the service account's email
address to open it.
- Navigate to Keys and click Add Key.

- Select the JSON key type.

- When you click "Create," a key file
will be downloaded.
- You'll need to upload this key file in
the eXtendFiles setup screen, which
we'll cover in the NetSuite
configuration steps.
Configure Buckets
- Navigate to Buckets for your
project or use the
search.
- If needed, create a bucket to use with
eXtendFiles. Otherwise, select an existing
bucket.
- Supported Location Type:
Multi-region
- Support Storage Class: Standard
- Access Control Options:
- Uniform: All files share the same
public/private status
(unchangeable after setup)
- Fine-grained: Individual file
permissions via ACL
- Files inherit bucket's default
access settings
- Signed URLs are required to access
private files (7-day
maximum)
- Navigate to the Permissions, and click Grant Access.

- Enter the service account email address you created earlier in the New Principals field.

- Select Storage Admin for the
role. Note: Storage Admin permission is
required because eXtendFiles needs to
modify file ACLs, generate signed
URLs, and set CORS configurations for
the buckets.

- Click Save.
- Repeat these steps for all buckets you
want to use with eXtendFiles.
2. NetSuite Configuration
The configuration steps below are performed in your NetSuite account.
- Go to eXtendTech → eXtendFiles → eXtendFiles Configuration.
- In Storage Settings → General, set Storage Type to Google Cloud.
- In Storage Information, enter the Google Cloud bucket values:
- Enter the primary bucket name in Bucket.
- Enter any additional bucket names in Additional Buckets. Separate each bucket name with a comma.
- Enter the primary bucket name in Bucket.
- In Authentication, upload the service account JSON key file in Google Cloud Credentials.
- Click Enable CORS.
- After CORS is enabled, review the CORS Status table and confirm each configured bucket shows Yes.
- After CORS is enabled, review the CORS Status table and confirm each configured bucket shows Yes.
- Optional: In Versioning & Additional Settings, enable the settings you want to use:
- Versioning: Turns on file versioning for uploaded files.
- Delete Files From Storage: Deletes files from Google Cloud Storage when all related eXtendFiles records are deleted in NetSuite.
- Click Save.

Field definitions
| Field | Description |
|---|---|
| Enable CORS | Click Enable CORS after entering your bucket values and uploading the JSON key file from Google Cloud. CORS must be enabled for each configured bucket. |
| Bucket | Enter the primary Google Cloud Storage bucket name used for file storage. |
| Additional Buckets | Optional. Enter any additional Google Cloud Storage bucket names eXtendFiles should use. Separate each bucket name with a comma. Note: All configured buckets must use the same service account as the uploaded key file. |
| CORS Status | Shows whether CORS is enabled for each configured bucket. Each bucket should show Yes before you save the configuration. |
| Google Cloud Credentials | Upload the service account JSON key file downloaded from Google Cloud. |
| Versioning | Optional. Turn on this preference to enable file versioning. |
| Delete Files From Storage | Optional. Turn on this preference to delete files from Google Cloud Storage when all related eXtendFiles records are deleted in NetSuite. |
Common Configuration Errors
- If CORS is not enabled on the bucket, file uploads will fail with the following error:
