Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Production-ready Laravel 12 SaaS starter with Stripe billing, multi-tenant workspaces, team management, and admin panel.

A full-stack Next.js TypeScript template focused on functionality over UI, featuring Zustand, TanStack Query, and ESLint 9 support.
Laravel SAAS Starter is a production-ready Laravel 12 boilerplate for launching multi-tenant SaaS products, combining Stripe billing, team management, an admin panel, and a React 19 frontend built on Inertia.js v2.
Laravel SAAS Starter is an open-source starter kit built by XCO Agency that gives you the foundational code for a subscription-based software-as-a-service application. It takes a Laravel 12 backend, React 19 frontend with Inertia.js v2, and Tailwind CSS v4, and packages them with ready-to-use features like authentication, workspaces, billing, and an admin panel. You provide your environment configuration and Stripe credentials, and it produces a running SaaS application with landing page, user dashboard, billing pages, and administrative tools.
/stripe/webhook for events like subscription updates and payment failures.Installation follows the standard Laravel flow: clone the repository, run composer install and npm install, copy .env.example to .env, generate an app key, configure your database and Stripe keys, run migrations with php artisan migrate, build assets with npm run build, and start the dev server with composer run dev. The quick start then takes you from the landing page to creating a workspace, inviting teammates, and setting up billing.
/docs folder.act may produce 419 CSRF responses.Yes, the project is open-sourced under the MIT license, so you can use, modify, and deploy it without licensing fees.
You need PHP 8.4 or higher, Composer, Node.js 22+ with npm or pnpm, a database (SQLite, MySQL, or PostgreSQL), and a Stripe account for billing features.
Set STRIPE_KEY, STRIPE_SECRET, and STRIPE_WEBHOOK_SECRET in your .env file, then configure the Stripe webhook endpoint to /stripe/webhook with events such as subscription created/updated/deleted and invoice payment outcomes.
Yes, internationalization is included. You add new languages by creating translation files in resources/js/locales/, adding the locale to configuration, and updating the language selector component.
The starter ships with over 1,400 Pest tests covering authentication, workspaces, billing, and more. Run them with php artisan test.
