Site transfers
Hand a site from the installer that commissioned it to the long-term O&M operator, with both sides explicitly accepting the change.
Why transfers exist
Most commercial sites are commissioned by an installer that also handles warranty O&M for the first year or two. After that, day-to-day O&M often moves to a different operator — sometimes the asset owner's in-house team, sometimes a specialist O&M firm.
The site row's organisation_id needs to flip atomically when that happens — but only after the receiving
organisation's owner has explicitly accepted. A unilateral handover is a recipe for a site falling into a no-mans-land where
neither org thinks they're responsible for it. The transfer flow makes the handoff explicit, audit-logged, and reversible
until the moment of acceptance.
The ritual
- Initiate. From the site detail page, the outgoing org's owner or admin clicks "Transfer site". Pick the receiving organisation (by name or ID) and add an optional note.
- Pending. The transfer lands in the receiving org's Transfers inbox. The site is still owned by the outgoing org — nothing has moved yet.
- Resolve. The receiving org's owner accepts (site ownership flips) or rejects (no-op, reason captured). The outgoing org can also cancel a pending transfer at any time.
- Expire. If nobody resolves it within 30 days, the transfer auto-expires. The site stays where it is.
What moves on accept
When the receiving org accepts:
- Site ownership (
organisation_id) flips atomically. - Open cases, scheduled visits and outstanding reports stay with the site — they belong to the asset, not the org. The new org inherits them.
- Historical telemetry, equipment registers, documents and audit log stay with the site.
- Integration credentials don't transfer. The new org needs to connect their own SolarEdge / Solis credentials. We don't share API keys between organisations, ever.
- Team members, client portal access and notification subscriptions of the outgoing org no longer apply. The new org sets up their own.
The inbox
Pending incoming transfers show as a counter pill on the sidebar's Transfers entry. The inbox page shows every transfer addressed to your org with the initiator, the site, the note, and the date the transfer expires. From there you accept, reject or just leave it pending.
Audit trail
Every transfer state change is logged in the platform-wide audit log: who initiated, who resolved, when, and the note or rejection reason. This survives the transfer — both organisations can see the trail of any site they've ever owned.