Multi-Tenancy allowed with 1 Acconut (1Project)? || Best Practice for a Multi-Tenant SaaS App
Hello everyone!
I'm building a SaaS invoicing application that will serve multiple, distinct companies (e.g., starting with 30 clients).
My plan is to use a single Supabase project for all of them. I intend to implement multi-tenancy by adding a tenant_id (or customer_id) column to every relevant table (like invoices, customers, etc.) and then use Row-Level Security (RLS) policies to ensure that users from one company can only see, edit, and create data associated with their own tenant_id.
I just want to confirm: Is this the standard and recommended approach for building this kind of multi-tenant application on Supabase, as opposed to the (much more expensive and difficult to maintain) alternative of creating a separate project for each client?
Thanks for your guidance

1 Reply
Yes that is the main way to do this in relational databases. RLS is key.
The next is a schema per user but maintenance goes way up as you have to deal with migrations for each of them or develop tools to update them all when things change. Also if using the REST API a bit tricky as you have to add the schema to the API for access.