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.
A new look for the Blade/Livewire screens, a searchable dropdown everywhere, and a journal entry form that is quick to use.
components/ui-styles) for all kits, light and dark, written as plain CSS so the host's Tailwind does not have to compile it. The page header has labelled buttons (Filters with the number of active filters, New entry), the filter panel stays open while a dropdown is used and shows what is filtered as chips, tables have a quiet header, tabular numbers and status pills, alerts have icons, language/company/branch sit in one context bar. The older screens that still use utility classes get the same look.class="no-select2". An option can carry data-code / data-tag to be drawn as number + name + type.<select> (80 of them) and every Radix Select is now components/accounting/dropdown.tsx, a searchable dropdown with the same <option> children and onChange as a native select. The journal entry form got the same running totals, balance bar, balance button and checks; the index shows amount, branch and status pills.Professional PDFs and background exports release.
accounting.pdf (engine, paper, logo, number system)./accounting/journal-entries/{id}/print (browser print) and /pdf (also
GET /api/v1/accounting/journal-entries/{id}/pdf) — voucher type and number, dates, source document, lines with
cost centers, totals, amount in words (international or Lakh/Crore), Prepared / Approved / Posted / Received
signature boxes, and a DRAFT / VOID / REVERSED watermark. Print and PDF buttons on the entry page (React, Blade).accounting.export_max_rows are no longer refused — they are
queued (GenerateReportExport job, re-checks the permission when it runs) and appear under My Exports
(React and Blade), downloadable only by the user who asked for them. API: POST /reports/{report}/exports/{format},
GET /exports, GET /exports/{id}/download, DELETE /exports/{id}. accounting:prune-exports removes exports
older than accounting.exports.keep_days (7). accounting.exports.queue_large=false keeps the old 422.AmountInWords helper, PdfRenderer service, ReportCatalog (the exportable reports and their PDF filters).dompdf/dompdf is suggested (not required); install it for typeset PDFs.How can I help you explore Laravel packages today?