// the find
stripe/sync-engine
Sync your Stripe account to you Postgres database.
Stripe's official tool for syncing your Stripe account data into PostgreSQL, recently migrated from Supabase's original implementation. It's evolved well beyond a simple webhook consumer into a full pipeline engine with Temporal-backed orchestration, reverse ETL, and a dashboard UI. If you need Stripe data queryable in your own database without building the plumbing yourself, this is the authoritative version.
Temporal for workflow orchestration is the right call — you get durable execution, retry semantics, and visibility into long-running backfills for free rather than rolling your own state machine. The architecture is properly decomposed: engine (core sync protocol), service (Temporal activities/workflows), supabase (edge functions), dashboard (pipeline management UI) — each with its own test suite including real e2e tests against stripe-mock. Reverse ETL support means the pipeline isn't one-way; you can push data back to Stripe from your Postgres. The design docs folder is unusually honest, showing rejected alternatives and tradeoffs rather than just the happy path.
The main README is nearly empty — just a warning that the dev branch is undocumented and a pointer to the old `og` branch. If you clone this today expecting to get started, you will be reading source code and internal design docs for hours. The original Supabase implementation (the `og` branch) is what most people know and what has actual user-facing documentation, but it's now a dead branch; the gap between the two is not bridged anywhere obvious. The Temporal dependency is load-bearing but non-trivial to operate — you need a Temporal cluster running before any of the pipeline lifecycle management works, which is a significant ops burden for teams that just want Stripe data in Postgres. TypeScript-only with no published stable release visible in the changelog yet, so the API surface is still moving.