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

Module Laravel Package

akaunting/module

A Laravel package that adds a modular architecture to Akaunting, letting developers package features as self-contained modules with service providers, routes, views, migrations, and settings. It simplifies registering, installing, enabling, and managing modules within an Akaunting application.

View on GitHub
Deep Wiki
Context7

Module management package for Laravel

Frequently asked questions about Module
How do I install akaunting/module in a Laravel application?
Install it with Composer using composer require akaunting/module, then confirm the service provider is registered (Laravel's package discovery should handle this on supported versions). Publish any config or asset files the package ships with and set your module path in configuration. Because the package is built around Akaunting conventions, budget a short spike to verify autoloading, paths, and provider registration in a plain Laravel app before rolling it into an existing codebase.
Which Laravel and PHP versions does akaunting/module support?
The package targets modern Laravel and PHP versions, but the exact constraint range should be read from the composer.json of the specific tagged release you install. Support is not guaranteed to track every new Laravel major release, and the project has a short release history, so treat version bumps as something to test. Pin the package version and validate it against your team's Laravel and PHP matrix in CI before upgrading.
What does a module manifest look like and can I declare dependencies between modules?
Modules are self-contained folders that carry a manifest describing the module plus a Laravel service provider, routes, views, migrations, and settings. The manifest is the module contract, so agree internally on required fields such as name, alias, version, providers, and any dependency declarations. How strictly inter-module dependencies and version constraints are enforced should be confirmed in your spike, since boot order problems are the most common source of subtle bugs in modular architectures.
How does akaunting/module discover modules and does discovery slow down each request?
Modules are discovered from a configured modules directory and registered through their service providers, similar to how Laravel registers packages. Whether discovery runs on every request or is cached depends on your configuration and on Laravel's own config and route caching, so measure it rather than assume. In production, enable config and route caching and confirm module registration still behaves correctly, since stale caches after enabling or disabling a module are a real operational risk.
Does enabling or disabling a module run migrations and clear caches safely?
The package is built to manage the module lifecycle, including installing and enabling modules, but you should explicitly test what happens to migrations, rollbacks, routes, config, published assets, and queues when a module is toggled. Disabling a module does not necessarily reverse its database changes, so design migrations to be additive and reversible where possible. Prove enable, disable, and rollback behavior in a staging environment, including cache clearing, before relying on it in production.
Can I use akaunting/module outside of Akaunting in a regular Laravel application?
Yes in principle, but it is tightly coupled to Akaunting's conventions and expectations, and public documentation for generic Laravel use is limited. Treat it as an internal module registry and lifecycle layer rather than a full plugin sandbox or a replacement for Composer dependency management. If your application already follows Akaunting-style structure or needs enable/disable module behavior, the fit is strong; otherwise a short proof of concept is the right first step.
Does akaunting/module support multi-tenant module activation?
Module enablement is generally application-wide rather than per-tenant, so multi-tenant activation is not something to assume. If your application serves multiple tenants, confirm before designing tenant-specific behavior whether enablement and settings are global or can be scoped. Many teams keep module activation global and implement tenant-level feature flags separately in their own application code.
How do I test a custom module built with akaunting/module?
Write standard Laravel tests against the module's service provider, routes, and migrations, registering the module in your test suite the same way the application does at runtime. Add CI checks that bootstrap the application with the module enabled to catch registration and boot-order regressions early. Testing the enable and disable path, including cache clearing and migration safety, is worth the effort because lifecycle edge cases are where this kind of package usually breaks.
Is akaunting/module production-ready and actively maintained?
Adoption signals are modest, with roughly 125 GitHub stars, a low package score, and a short release history, so evaluate it as a small open-source dependency rather than a heavily used one. The MIT license gives you a fork-and-own exit path, but forking means taking on maintenance yourself. Pin the version, monitor the repository for Laravel compatibility updates, and keep a fallback plan in case it is abandoned or breaks on a future framework release.
What are the alternatives to akaunting/module for modular Laravel development?
Common alternatives include nwidart/laravel-modules for general-purpose Laravel modules and Laravel's own package development tooling for distributable packages. Akaunting's package is a better fit when you specifically want Akaunting-style module manifests and enable/disable lifecycle management in an Akaunting-derived application. Compare candidates on lifecycle behavior, dependency handling, documentation, and maintenance activity before committing your architecture to one of them.
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.
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
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource