Skip to content

Solar Installation

Solar installations are jobs for installing solar PV (photovoltaic) panel systems at residential properties. These installations may span multiple days and can include battery storage and Tesla Gateway components. For standalone battery installations without solar panels, see Battery-Only Installation.

Job Properties

PropertyDescription
productTypeAlways 'solar'
packsContains inverter, battery, and optional Tesla Gateway packs
datesArray of installation dates

Completing a Solar Installation

1. External Installation Photos

Supports up to 3 roof arrays. Array 1 photos are required; Arrays 2-3 are optional.

Per-array photos:

  • Roof face before starting
  • Full roof fixing points
  • Full roof bracket and rail
  • DC cables tied to rail
  • Completed roof array (showing full array)
  • DC entry (optional)
  • Optimiser layout (optional)
  • Bird guard (optional)
  • Flashing to roof hook fixing point
  • Existing roof damage (optional)

2. Internal Installation Photos

28 photos documenting the internal installation (20 mandatory, 8 optional), plus an optional serial-number photo per battery

3. Tesla Gateway (Conditional)

Only required if packs contain a Tesla Gateway (pack name contains both "tesla" and "gateway").

4 photos required:

  • Overview of gateway installed
  • Gateway (with serial number)
  • Gateway with internal cover removed (showing wiring)
  • Gateway with internal cover fitted and labelled

4. PV Array Test

Single photo of PV array test results.

5. Electrical Installation Certificate

Upload of the BS 7671 electrical installation certificate. Can be uploaded directly or sent via email to [email protected].

6. Building Regulations Certificate

Upload of the building regulations certificate. Can be uploaded directly or sent via email.

7. Customer Walkthrough

See Customer Walkthrough for details.

Submission Flow

StepEndpointBody
1PUT /engineers/installation-jobs/solar-and-battery/{id}/photosPhoto data
2PUT /installation_jobs/{jobId}/done{installerId}

Job transitions to ready_for_audit state on success.

Tesla Gateway Detection

Tesla Gateway step visibility is determined by pack contents:

typescript
hasTeslaGatewayInPacks = job.packs.some(
  (pack) => pack.name?.toLowerCase().includes('tesla') && pack.name?.toLowerCase().includes('gateway'),
);