Field Notes

One Connected Record: How Solar1 Keeps CRM, Permitting, and Finance in Sync

A look under the hood at how Solar1 keeps a single operating record consistent across the tools your team already runs — with an open API, idempotent jobs, and webhooks you can trust.

Most solar shops don’t have a data problem because they lack tools — they have one because they have too many. The CRM knows the customer, the design tool knows the system, the accounting package knows the money, and none of them agree. Solar1 is built around a different idea: one connected record that every system reads from and writes to.

The record is the source of truth

Every project is a single record that carries its full state — sales, design, permitting, install, and finance — instead of a copy scattered across five apps. When something changes, it changes in one place, and everything else reacts to it. No more reconciling three versions of “truth” on a Monday morning.

Sync that survives the real world

Integrations break in boring ways: a request times out, a webhook fires twice, a third-party API returns a 500. We design for that, not against it.

  • Idempotent jobs — every sync operation can run more than once without creating duplicates or double-charging. A retried webhook is a no-op, not a disaster.
  • Event-driven updates — a status change emits an event that downstream systems consume, so the accounting side learns a milestone was hit without anyone copying it over.
  • Durable retries — when a partner system is down, the job waits and retries with backoff instead of silently dropping the update.

Open API and webhooks

Anything Solar1 does internally, you can do from outside. The open API exposes projects, milestones, and documents, and webhooks let you subscribe to the events that matter — a permit approved, an invoice released, a project moved to PTO. That’s how teams wire Solar1 into the tools we don’t replace.

The result is the part you don’t notice: data that’s simply consistent, everywhere, without a human keeping it that way.