LarsaSub handles subscriptions, one-time payments, ten Mollie payment methods, invoicing with VAT, credit and multi-tenant platform billing for your Laravel application. It bills from your own Mollie account: no revenue share, no reseller in between, and the customer relationship stays yours.
# Your billing month, in one scheduled command $ php artisan larsasub:execute-charges Executing BillableSubscription RecurringCharges... ✓ Executed 124 BillableSubscription RecurringCharges. Executing standalone RecurringCharges... ✓ Executed 4 standalone RecurringCharges. ✓ Successfully processed RecurringCharges.
Not a hosted portal your customers get redirected to, and not a starting point you finish yourself. These ship with the package, themed to your brand, on your own domain and in your own database.
Recurring or one-time, single-tenant or a platform: LarsaSub covers the parts you would otherwise build yourself, from plan definition to paid invoice.
Plans, trials via deferred starts, prorated plan changes with credit, automatic renewal, cancellation with notice periods, and failed-payment retry with a full audit trail.
Each tenant connects their own Mollie account via OAuth (Mollie Connect). Money settles to the tenant and the invoice carries their own seller details and number series. Charge application fees, or run dual billing: the platform bills tenants while tenants bill their users.
SEPA Direct Debit with mandate management, credit card and PayPal carry the recurring collection. iDEAL, Bancontact, Apple Pay, KBC/CBC, Belfius, EPS and TWINT cover one-time and manual payments. Scheduled commands plan and execute the charges; webhooks process the results.
Sequential invoice numbers, VAT handling with per-plan rates, credit notes on refunds and chargebacks, and downloadable PDFs, generated automatically for every paid charge.
No subscription required. Charge a workshop, a setup fee, hardware or a top-up, with optional order lines and per-line VAT. Attach your own models — an order, a booking, a ticket — and they are notified on every status change, so fulfillment stays in your code.
A built-in credit ledger that auto-applies to the next charge. Prepaid days from a plan change land here, as do refunds and goodwill, with expiry dates and warning e-mails before credit runs out.
Drop-in Vue dashboards for subscriptions, payments, invoices, credit, payment methods and billing details. Self-contained assets, themed with CSS tokens. A failed direct debit is something the customer settles themselves, in the method of their choice.
Plan names and descriptions per locale, and frozen text — bank statement descriptions, invoice lines, credit entries — follows the customer's own language. VAT rates per plan, reverse charge for EU businesses and 0% outside the EU.
35 themeable e-mail notifications you can send to yourself with one command, an operator dashboard for plans, charges and subscribers, a policy layer for who may see it, and free Laravel Nova and Filament admin companions.
The included customer dashboards and the Nova admin companion, live in a real application. Twelve of them ship with the package — six for your customers, six for platform operators. Assets are self-contained, and CSS tokens theme them to your brand.
Subscription dashboard: current plan, next billing date and payment history.
You get a license token and composer access right away, and install directly from larsasub.eu.
New features, fixes and compatibility updates arrive via a normal composer update for 12 months.
After your license expires, every version from your license period stays installable, on new servers and in CI. Renew when you want new releases again.
Every tenant gets paid into their own Mollie account, and the platform takes a fee.
// Tenant onboarding: one line app(MollieConnectService::class) ->getAuthorizationUrl($tenant); // API calls route to the right account MollieClientResolver::forBillable($user); MollieClientResolver::forTenant($tenant); MollieClientResolver::platform();
class User extends Authenticatable implements BillableModel { use IsBillableModel; // Your model now holds subscriptions, // accepts payments, manages credit // and exposes feature access checks. }
Make any model billable: a User, a Team, a Company. Most of the behavior is configuration rather than code.
$user->hasFeature('api')Subscriptions are the hard part, so they get the headline. But one-time payments are a feature in their own right, and plenty of applications only ever need those.
This site runs on it: your LarsaSub license is sold, invoiced and refunded by LarsaSub itself.
app(SinglePaymentService::class)->createSinglePayment( owner: $user, paymentMethod: $ideal, amount: 149.00, currency: 'EUR', description: 'Workshop ticket', entities: [$booking], // implements IsPayable );
A license is a one-time purchase. Renewing is optional: the versions you installed keep working and keep installing.
For one application
Renewal €79 / year
Buy SingleFor all your applications
Renewal €149 / year
Buy UnlimitedFor platforms and marketplaces
Renewal €399 / year
Buy PlatformPrices exclude VAT · Full pricing details and FAQ
Create an account, pick a license and install with composer.
$ composer config repositories.peters-development \ composer https://larsasub.eu $ composer config http-basic.larsasub.eu \ you@company.com <license-token> $ composer require peters-development/larsasub $ php artisan larsasub:install ✓ LarsaSub installed