Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laraplans Laravel Package

gerardojbaez/laraplans

LaraPlans is a Laravel package for adding subscription plans and feature limits to your application. Define plans, subscribe users, manage renewals, and gate features through a clean, configurable API.

View on GitHub
Deep Wiki
Context7

SaaS style recurring plans for Laravel.

Frequently asked questions about Laraplans
What is LaraPlans and is it a billing or payment processing package?
LaraPlans is a Laravel package for SaaS-style recurring plans: it provides Plan, Feature, and Subscription models plus HasPlans and CanSubscribe traits for your user model. It is an entitlement and plan-management layer, not a billing engine, so it does not process payments, prorate invoices, or reconcile against a payment provider. It is designed to compose with Cashier, Paddle, or Stripe rather than replace them.
How do I install gerardojbaez/laraplans in a Laravel application?
Install it with composer require gerardojbaez/laraplans, publish the package assets, and run its migrations. Add the HasPlans and CanSubscribe traits to your User model, then seed your plans and features. From there you can gate routes, policies, and views on feature checks.
Which Laravel and PHP versions does LaraPlans support?
The package targets modern Laravel and PHP versions and had a release in September 2025. Version constraints can change between releases, so check the composer.json and Packagist metadata for the exact Laravel and PHP ranges before committing. Also confirm whether the version you install ships Pest or PHPUnit helpers for your test suite.
Does LaraPlans handle payments, invoices, or Stripe subscriptions?
No. LaraPlans only models plans, subscriptions, and feature entitlements inside your application database. Payment processing, invoicing, tax, dunning, and revenue recognition must come from a billing system of record such as Stripe through Cashier or Paddle. Treat LaraPlans as the entitlement half and your payment provider as the money half.
How do feature limits and usage metering work in LaraPlans?
Plans expose features, and each feature can be limit-style (a quota you consume against) or charging-style (metered usage). A feature manager handles consuming and checking usage so you can gate controllers, policies, and Blade views. Under concurrency, make sure consumption is atomic, because a naive read-modify-write on a counter will over-issue entitlements under load.
Does LaraPlans support team or organization-level subscriptions, or only user subscriptions?
The documented integration is trait-based on the User model, so user-level subscriptions are the well-trodden path. Team or workspace-level subscriptions, where a subscription is scoped to an organization rather than a person, are not obviously covered by the shipped tables. Verify scoping and table namespacing for multi-tenant use before relying on it.
How do I handle plan upgrades and downgrades with LaraPlans?
The package gives you plan and subscription models you can change, but proration and charge adjustments belong to your payment provider. A practical pattern is to switch the LaraPlans subscription and emit an event your billing integration listens to, letting the provider handle the money movement. Verify the upgrade and downgrade semantics and any events the package emits before designing around them.
Is LaraPlans safe to run in production at scale?
The main production risks are architectural rather than code quality: a single maintainer, modest adoption (around 179 GitHub stars), and the need to reconcile package subscriptions with payment provider state. Wrap feature checks behind an internal EntitlementService so you can swap implementations later, add a webhook-driven reconciliation job, and use row locking or atomic decrements when consuming features. Also treat the published migrations as part of your own schema.
How are monthly quotas and feature usage resets handled in LaraPlans?
Reset cadence depends on how you configure and schedule it, since the package provides feature consumption rather than a full quota scheduler. The usual approach is a scheduled job that resets or rolls over counters, made idempotent so a retry cannot double-reset. Confirm the documented reset behavior, grace periods, and idempotency guarantees with the maintainer before shipping quotas to customers.
What are the alternatives to LaraPlans for Laravel subscription plans?
Alternatives include Laravel Cashier with your provider's native entitlements (for example Stripe entitlements), commercial billing platforms that bundle entitlements with invoicing, or a small first-party implementation of plans and feature flags. LaraPlans fits when you want a lightweight in-app plan catalog and feature gating without pulling in a full billing suite. Keep the integration behind an interface so switching later stays cheap.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console