Version: eXtendFiles 1.7.0 and above
Audience: Administrator

Overview

The public upload feature in eXtendFiles allows external users to upload files to your NetSuite records through a URL. This document explains how to configure and enable this functionality.

Preparation

Before configuring public upload:

  • Ensure eXtendFiles is added to your record type
  • For example, if you are adding public upload functionality to the Item Receipt record, the custom role being used by eXtendFiles also needs to have access to that record type.
  • Create three custom fields for the target record type. When creating these fields, ensure they're applied to the record type you're configuring with the eXtendFiles public upload feature.
    • Checkbox field for enabling public upload
    • Hyperlink field to store the generated URL
    • Text field to store the Universally Unique Identifier (UUID)
For standard NetSuite transaction records with pre-applied eXtendFiles fields— Opportunities, Estimates, Sales Orders, Invoices, Cash Sales, Purchase Orders, and Vendor Bills—you can use the included eXtendFiles fields without creating new ones:
  • Included transaction hyperlink field: custbody_extend_public_upload_link
  • Included transaction checkbox field: custbody_extend_generate_public_upload
  • Included transaction free-form text field: custbody_extend_approval_id
Don't manually apply existing fields to additional record types, as they'll revert during SuiteApp updates.

eXtendFiles Configuration

Follow these steps to configure the Public Upload feature:

1. Access eXtendFiles Configuration

  1. Navigate to eXtendTech  eXtendFiles  eXtendFiles Configuration.
  2. Select Public Upload from the left navigation panel.
    Image Placeholder

2. Configure Public Upload Settings

  1. Click any row and select the add button to add a new record type.


    If you want to add details using detail view (recommended), click Open Detail View.

Setup Record Type

  1. Record Type
    Specify the Record Type where public upload is to be enabled.
  2. eXtendFiles Reference Field
    Specify the eXtendFiles Record Field used to reference the parent record for the eXtendFiles record being created using public upload. This is a field reference to the record against which your eXtendFiles record will be attached. See Add eXtendFiles to a New Record Type for more information on how to create this field reference.

  3. Click Next.

Setup Display Settings

  1. File Upload Title (Optional)
    Specify the File Upload Title which will be displayed on the public upload webpage. This will show to someone who is performing a file upload.
  2. File Upload ID
    Specify the File Upload ID to be displayed on public upload webpage header. This will show to someone who is performing a file upload.
  3. Max Public Upload Limit (Optional)
    Specify the maximum number of files that are allowed to be uploaded on your record. If no value is specified, a default of 10 files will be applied.

  4. Click Next.

Setup Record Fields

  1. Generate Public URL Checkbox Field
    Specify the field used to generate the public upload link.
  2. UUID Field
    Specify the UUID Field. This field will store the UUID which will be used to generate a public upload link.
  3. Public Upload URL Field
    Specify the field ID for storing the generated public upload link. You'll also need to create a formula field to dynamically generate the URL using the UUID, record type, and record ID.

    Basic formula structure for the formula field:
    CASE WHEN {BASE URL LINK} IS NOT NULL THEN CONCAT({BASE URL LINK}, CONCAT(CONCAT('&id=', {id}), CONCAT('&rectype=', {type}))) ELSE  '' END
    In the case of a custom record, replace Record Type with your custom record’s record type ID.  You can find the custom record type ID from your records URL or on the custom record itself.

    The generated URL will be like: https://hostname.suitextend.net/v1/approval/order/9200f816-6a88-4ba9-848e-8a9faafc2d50?id=39776&rectype=salesord

    To set specific field values during upload, add them to the URL formula. For example, to set the “eXtendFiles - File Type” field to “Final Artwork”, for which the field ID is “custrecord_extfile_type_custlist” and its list value is “4”, you will create your formula field as:

    CASE WHEN {BASE URL LINK} IS NOT NULL THEN CONCAT({BASE URL LINK }, CONCAT('&id=', CONCAT({id}, CONCAT('&rectype=', CONCAT({type}, CONCAT('&custrecord_extfile_type_custlist=', '4')))))) ELSE '' END

    The final generated URL be:  https://hostname.suitextend.net/v1/approval/order/9200f816-6a88-4ba9-848e-8a9faafc2d50?id=39776&rectype=salesord&custrecord_extfile_type_custlist=4 

    Note: In the case of a select field, you will have to provide the option’s list value instead of its name.
  4. Folder Info Record Field (Optional)
    When using Folder Information records to Upload Files to Specific Folders in eXtendFiles, specify the eXtendFiles - Folder Information field reference to use for public upload. This is applicable only to Amazon S3, Google Cloud Storage, Oracle Object Storage, and Microsoft Azure.

    Included field for native NetSuite transaction types: custbody_extend_files_folder_info
    Note: the field must be of the list/record field type, and the sourcing record should be eXtendFiles - Folder Information.
    Image Placeholder
  5. Click Next.

Setup Saved Search

  1. Saved Search
    Specify a Saved Search here.

    To do this:
    Create an eXtendFiles saved search using the criteria to filter to the record(s) related to that specific record type. This saved search should be created using the eXtendFiles record type and must include the eXtendFiles Record Field in its filter criteria.

    Example:
    If you are adding public upload to the "File Feedback" custom record, enter the record reference field from "eXtendFiles Record Field" in the criteria of this saved search so that it only returns eXtendFiles associated with that record type.

    Image Placeholder
  2. Click Next.

3. Setup Script Deployment

Deploy the eXtendFiles Public Upload User Event script. This script will need to be deployed on each record type where the public upload feature will be used.
  1. Go to Customization → Scripting → Scripts.
  2. Find the script file titled eXtendFiles Public Upload User Event and view it.
  3. Click the Deploy Script button and deploy the script on the Applies To record type, with a Status of Released, and All Roles as the Audience.  Repeat these steps for each record which needs the Public Upload feature enabled.
  4. After the script is deployed, click Next in the public upload configuration modal.
If you find an existing script deployment on the target record where you are configuring the eXtendFiles public upload feature, you only need to make sure that it is deployed.

Image Placeholder

4. Additional Configurations

  1. If you'd like to add Customized Uploader Fields, click the button to begin configuration.
Image Placeholder

5. Finalize Configuration

  1. Click Submit to save your changes.
Image Placeholder

6. Setup Custom Forms

To allow users to create and access generated public upload links, show the Generate Public URL Checkbox Field and Public Upload URL Field from Setup Record Fields on your record type's custom forms.