graystackit/laravel-mollie-billing
Batteries-included Mollie billing for Laravel with VAT/OSS compliance, wallet-based metered billing, coupons, scheduled plan changes, trials, an admin panel and a Livewire 4 customer portal, all keyed off a Billable contract.
mollie/laravel-mollie SDK, or move to an all-in-one merchant of record (Paddle/LemonSqueezy) that absorbs tax for you.SinglePayment, Recurring, Credits, TrialExtension, AccessGrant) plus signed promotion URLs let growth run discount, trial-extension, and comped-access campaigns without engineering cycles.Billable contract living on Organization (not User) is an opinionated stance that matches how B2B SaaS is usually priced: per-company, seats counted from users. Adopting the package bakes that model into your data layer.Consider it when:
livewire/flux-pro separately — it is required by the portal, checkout, and admin views, and is deliberately not bundled.bavix/laravel-wallet, mpociot/vat-calculator, and your own webhook handlers.Look elsewhere when:
billable_key_type and user_key_type must be set before the first migration; changing them later means hand-altering wallet tables.Executives. This is a buy-not-build accelerator for turning on subscription revenue in Laravel. The expensive, hard-to-hire part of EU billing is not the payment integration — it's VAT calculation, VIES validation, and keeping tax treatment correct when a customer's country, card, and IP disagree. This package ships that, plus trials, coupons, proration, refunds, credit notes, and a customer self-service portal, under MIT. Two costs come with it: a commercial Flux Pro license, and the fact that this is a young, single-maintainer, near-zero-adoption package. Recommendation: fund it as a one-to-two-week spike to de-risk EU VAT and metered billing, not as a strategic platform commitment, and assume we may fork it and own it.
Engineering. It's an opinionated layer over mollie/laravel-mollie v4, bavix/laravel-wallet, and mpociot/vat-calculator, with an audit trail stored as translation keys plus raw values (locale-safe history) and fully publishable Livewire SFC views. Adoption cost is real but bounded and mostly configuration: set the key types before the first migrate, mount webhook routes outside the web middleware group, keep checkout routes outside the tenant prefix, run billing:check-config, and make sure Tailwind scans the vendor views or the portal renders unstyled. The security-critical item is authUsing() — it must actually compare the billable to the requester, because the checkout route's query-parameter fallback otherwise lets ?organization=<other-tenant> disclose billing data. Plan to pin the version, write our own tests around auth boundaries and webhook idempotency, and add a Flux Pro license line item.
How can I help you explore Laravel packages today?