amarenkov/laravel-mutable-content-shop
A practical Laravel package for mutable-content shops that provides building blocks to manage and dynamically update storefront content. It helps Laravel developers keep product listings, pages, and other shop content editable, organized, and easy to maintain within their applications.
Invoice model with number, date, money amount, paid amount, payment state (unpaid, partially_paid, paid), due tracking, comments, and document files. This lets a PM scope an invoicing MVP without commissioning a custom domain layer.Order::invoicedTotal() and paidTotal(), plus invoice due() and payment state, provide the raw metrics for outstanding-balance reporting and collection prioritization.invoices_disk config lets product and operations align invoice-document retention with existing storage and compliance policies without code changes.lovs.order_state, lovs.order_item_state, invoice_payment_state), so segment-specific states can be added in subclasses.DomainException; single-currency invoices are a constraint to design around or explicitly defer.Consider adoption when:
mutable-content-shop-migrations) and configurable model classes to fit an existing schema and persistence strategy.Look elsewhere when:
DomainException-based currency enforcement or a package-managed invoice payment-state model.Executives: This package gives us order and invoice fundamentals — numbering, amounts, payment status, due dates, and document storage — without a custom build. It is a small, configurable Laravel dependency that lets us validate billing use cases faster while keeping switching costs low. Because it is pre-1.0 (v0.2.0), treat it as an accelerator rather than a long-term platform commitment and budget for upgrade testing.
Engineering: v0.2.0 adds an Invoice model linked to orders, computed invoiced and paid totals, a payment-state LOV kept consistent on save, configurable disk and model classes, and publishable migrations. States are extensible by subclassing configured LOV classes. Key constraints: one currency per invoice (DomainException on a mismatched paid currency), no built-in payment processing or PDF rendering, and a pre-1.0 API. Recommended adoption is behind a thin internal interface so the package can be extended or replaced without widespread changes.
How can I help you explore Laravel packages today?