- How do I install alimarchal/laravel-chart-of-accounts in a Laravel application?
- Install it with composer require alimarchal/laravel-chart-of-accounts, then run the package's one-command installer to publish configuration and migrations. If you use Jetstream or another Blade/Livewire stack, set ACCOUNTING_UI_DRIVER=blade in your .env before installing; Inertia/React apps use the Inertia driver instead. After installation, run migrations and review the published accounting config for currency, queue, and export settings.
- Which Laravel and PHP versions does this chart of accounts package support?
- The package requires PHP ^8.2 and supports Laravel ^10.0, ^11.0, ^12.0, and ^13.0. That makes it suitable for both current Laravel applications and projects still on Laravel 10. Check the composer constraints before upgrading Laravel, because major-version support is declared explicitly by the package.
- Does laravel-chart-of-accounts work with both Blade/Livewire and Inertia/React?
- Yes. It ships a dual-stack UI controlled by the ACCOUNTING_UI_DRIVER environment variable, so Blade/Livewire apps such as Jetstream and Inertia/React apps such as Breeze can use the same accounting backend. Print and PDF affordances are available for both React and Blade entry and report pages, so feature parity is maintained across frontends.
- How does the package enforce double-entry accounting and balanced journal entries?
- Balanced journal entries are enforced at the database layer, the application layer, and the UI, so a posting cannot be saved with unequal debits and credits. Journal entries are created through service actions such as CreateJournalEntry, and the package supports reversals and voids for correcting posted entries. It also exposes a JournalEntry::record() helper and domain events like JournalEntryCreated for downstream audit or sync workflows.
- Does this Laravel accounting package support multi-currency transactions?
- Yes, multi-currency handling is built in through the Money facade and currency support in the accounting schema and services. That lets you record and report transactions in more than one currency without building conversion or formatting logic from scratch. You should still confirm your base-currency, exchange-rate, and rounding requirements against the package configuration before production use.
- What financial reports and export formats are included?
- The package includes 10 financial reports covering standard statements, managed through a ReportCatalog service and report pages. Reports can be exported to PDF, Excel, and CSV through dedicated endpoints and export buttons in both React and Blade UIs. Large exports are handled by the GenerateReportExport queued job and persisted in a My Exports area with download and delete endpoints.
- How do I secure the accounting UI and REST API with roles and permissions?
- The package uses Spatie Permission for role-based access control, route middleware, and @can guards in the UI. You should map the package's permissions and route middleware onto your existing Gate and Policy model, especially for the versioned /api/v1/accounting endpoints. Background export jobs re-check permissions at runtime, which is a sensible safeguard for asynchronous work.
- Do report exports require a queue worker, and how are old exports cleaned up?
- Yes, large report exports run through a queue-backed GenerateReportExport job, so a functioning queue worker is required for those exports to complete. If the queue is misconfigured, exports can remain queued, so confirm the accounting.exports.queue_large behavior and decide whether the 422 fallback is appropriate for your environment. The accounting:prune-exports command removes old export files and records according to your retention settings.
- Is dompdf required for PDF reports and journal entry vouchers?
- No, dompdf/dompdf is a suggested optional dependency rather than a hard requirement. With dompdf installed you get richer output such as letterhead, logo, page numbering, and right-aligned amount columns; without it, the package uses a built-in renderer with a reduced header. Because the two rendering paths look different, pin dompdf and standardize it across staging and production to avoid visual drift.
- Is alimarchal/laravel-chart-of-accounts production-ready for enterprise use?
- The package is presented as production-ready with a clean service-layer architecture, enforced double-entry correctness, feature tests, and a versioned API. However, it has low public adoption and zero dependents, so treat high-volume transaction and export workloads as something to validate with the author and load-test in your own environment. Pin the package and dompdf versions, monitor queue health, and review the exports table and retention behavior before relying on it in production.