alimarchal/laravel-chart-of-accounts
Production-ready chart of accounts and double-entry accounting for Laravel. One-command install, works with Jetstream (Blade/Livewire) and Breeze (Inertia/React). Includes versioned REST API, RBAC, and core financial reports.
+ icon — text label removed from all list page headers for a cleaner, compact toolbar. Label preserved as a title tooltip on the button.page-header component with improved filters: Table dropdown (dynamically populated from DB), Action dropdown (INSERT/UPDATE/DELETE), Date From/To.page-header component.wire:model.live) — changing the date instantly recalculates all aging buckets.page-header component for consistent nav/print/back buttons.AuditLogBladeController passes $tableNames to view for the table filter dropdown.current_balance, balance, days_over_90) from updated queries.livewire:updated)grid CSS class on all filter divs (batch script had removed it) — all 25 index/report viewsbackRoute="settings.dashboard" → backRoute="accounting.dashboard" in users, roles, permissions index views.select2 { width: auto !important; display: block; }grid Tailwind class removed by batch standardization script in all 25 filter viewsgrid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 — max 4 inputs per row on all 25 index and report pagesRoute [settings.dashboard] not defined on users, roles, and permissions index pages — backRoute was wrong/settings/roles — Spatie permission cache clearedUndefined variable $periods on /settings/account-balance-snapshots — controller now passes $periods and $accounts to viewRoute [accounting.accounting-periods.index] not defined on settings dashboard — correct route name is accounting.periods.indexACCOUNTING_ROUTE_PREFIX env variable (default: accounting, set to settings to use /settings/ URLs)Undefined variable $summary on settings dashboard — controller was passing $counts but view expected $summaryaccounting_ table prefix for all models via AccountingModel::getTable() override (was using bare table names like journal_entries)JournalEntry::record() — static helper to create and optionally post a balanced GL entry in one line<select> elements across all Blade/Livewire views now use Select2 with Tailwind-matched stylingpublic/vendor/accounting/ (CDN fallback)accounting-assets publish tag — copies jQuery + Select2 to public/vendor/accounting/accounting:install now publishes public assets automaticallyaccounting:update now re-publishes public assets with --forcesave() blocks submission if |debits − credits| ≥ 0.01lg:grid-cols-4 to lg:grid-cols-3accounting_ via AccountingModel::getTable() overrideaccount-balances.blade.php had duplicate content after </x-accounting::app-layout> causing ParseErrorJournalEntryBladeController::show() passing entry instead of journalEntry to viewaccounting:install auto-publishes viewsaccounting:update commandApp\ namespace dependenciesApp\Models\User references — now uses config('auth.providers.users.model')spatie/laravel-activitylog, spatie/laravel-permission, spatie/laravel-query-builder as proper dependenciesHow can I help you explore Laravel packages today?