Bulk Import

Upload sites, customers, and device information at scale for fleet onboarding

Texture's bulk import tool enables large-scale data migration by uploading sites, customers, and device information before Integration Hub configuration is needed. Use bulk import to complete initial portfolio onboarding or manage net new system uploads at scale.

Overview#

Data onboarding is a two-step process:

  1. Import your portfolio — Upload Site, Customer, and Device IDs via bulk import (this guide)
  2. Configure integrations — Connect your OEM and data provider credentials to begin syncing (see Integration Hub Guide)

Once both steps are complete, Texture automatically pulls device performance, energy usage, and program enrollment data on a recurring basis—no manual updates required.

Before You Begin#

Important Considerations#

Homeowner-Owned Sites

If a homeowner owns the site, they should onboard their device through Texture Connect rather than through your Integration Hub or bulk import list.

Data Dictionary#

FieldRequiredNotes
firstNameRequiredContact's first name
lastNameRequiredContact's last name
emailOptionalWe prefer a unique email for validation, but you can use a TPO or company-generated email like dev@company.com
phoneOptionalContact phone number
FieldRequiredNotes
streetOneRequiredStreet address
streetTwoOptionalApartment, suite, unit, etc.
cityRequiredCity name
stateRequiredState abbreviation
postalCodeRequiredZIP or postal code
countryOptionalCountry code (defaults to US)
siteNameOptionalDisplay name for the site
siteReferenceIdOptionalBackreference to your system for the site specifically. Useful when a site has a different ID than the customer referenceId.
FieldRequiredNotes
manufacturerSlugsRequiredMust be exactly one of: tesla, enphase, solaredge-monitoring-api, eg4-electronics, franklinwh, sma
systemIdentifierRequiredSee manufacturer-specific requirements below

System Identifier Requirements by Manufacturer#

ManufacturerSystem Identifier Format
teslaDIN or Site UUID
enphaseSite ID
solaredge-monitoring-apiSite ID
eg4-electronicsInverter serial number
franklinwhaGate serial number
smaPlant ID (numeric)
FieldRequiredNotes
programSlugOptionalSlug of a program to enroll the device in. When provided, Texture delegates to the program enrollment flow which handles customer, site, and enrollment creation with eligibility checks. Either programSlug or programId may be specified; programId takes precedence if both are present.
programIdOptionalID of a program to enroll the device in. Takes precedence over programSlug when both are provided.

Additional Variables#

FieldRequiredNotes
referenceIdRequiredBackreference to your system—typically a userId, accountId, or siteId. This identifier is used to prevent duplicate customer creation and is tied to created sites and devices.
tagsOptionalArbitrary labels that create logical device groupings for batch operations.

Performing a Bulk Import#

Step 1: Prepare your data file#

Download the bulk import template and populate it with your site, customer, and device data. Ensure all required fields are complete and manufacturerSlugs values match exactly.

Step 2: Upload to Texture#

In Texture, click Integration Hub in the left sidebar, then navigate to Bulk Import and upload your prepared file.

Step 3: Review validation results#

Texture validates your upload and displays any errors. Common errors are listed in the Troubleshooting section below.

Step 4: Confirm import#

Once validation passes, confirm the import. Texture creates site and customer records immediately. Device records are created and await Integration Hub configuration to begin syncing data.

After Import#

What Happens Next#

  • Sites and Customers are created immediately and appear in your Sites and Customers views
  • Devices are created but remain in a pending state until Integration Hub is configured
  • Enrollments are created when programSlug or programId is provided, subject to eligibility checks
  • Once Integration Hub is configured, Texture begins syncing device performance data automatically

Where to Find Your Data#

Imported sites and customers appear in your Sites and Customers views. Once Integration Hub is configured, devices become active and appear in your Devices view. All imported data becomes available to query via the Texture API.

Troubleshooting#

Upload Failed with Validation Error#

Review the error message in Texture. The most common validation errors are:

manufacturerSlugs not specified correctly#

The field is case sensitive and must match exactly: tesla, enphase, solaredge-monitoring-api, eg4-electronics, franklinwh, or sma. Using Tesla, TESLA, solaredge, eg4, or any other variation will cause the upload to fail.

Invalid address#

Ensure all required address fields (streetOne, streetTwo, city, state, postalCode, country) are complete and properly formatted.

Address undiscoverable in Mapbox#

Our mapping partner, Mapbox, cannot locate the address. Verify the address exists and is formatted correctly. Try variations if the exact format is causing issues.

Invalid program reference#

If programSlug or programId is specified, Texture validates that the program exists in your workspace during the preview step. Ensure the slug or ID is correct and belongs to your workspace.

Additional blank rows#

Remove any empty rows from your spreadsheet before uploading. Trailing blank rows can cause validation errors.

Fix the errors in your file and re-upload.

Devices Aren't Syncing Data#

Devices require Integration Hub configuration before data syncing begins. See the Integration Hub Guide to connect your OEM credentials.

Need Help with a Complex Import#

Contact your Implementation team for assistance with large migrations, custom data mapping, or integration questions.

Support#

  • For upload questions: Review the data dictionary and common errors section above
  • For data mapping help: Contact your Texture Implementation team for guidance on complex scenarios
  • For technical issues: Use the support panel in Texture or email support@texturehq.com with your organization name and upload details