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
Laravel Chart Of Accounts

Laravel Chart Of Accounts Laravel Package

alimarchal/laravel-chart-of-accounts

Professional-grade Chart of Accounts and double-entry accounting module for Laravel with one-command install. Supports Jetstream and Breeze, a versioned REST API, 10 financial reports, role-based permissions, and balance enforcement at the database and application layers.

View on GitHub
Deep Wiki
Context7

Laravel Chart of Accounts is a professional-grade, production-ready accounting module that brings double-entry bookkeeping to your Laravel application in a single install. It ships with a clean service layer and Actions pattern, a versioned REST API, and Dual-stack UI support—switch between Jetstream (Blade/Livewire) and Breeze (Inertia/React) with one env variable.

  • Guaranteed correctness: balances enforced at database, application, and UI layers
  • Flexible frontend: ACCOUNTING_UI_DRIVER toggles Blade or Inertia stacks
  • 10 financial reports covering all standard statements
  • Spatie RBAC integration with route middleware and @can guards
  • Developer-friendly: one-command install and a JournalEntry::record() helper
Frequently asked questions about Laravel Chart Of Accounts
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.
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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections