ekmungai/laravel-ifrs
Laravel IFRS brings double-entry accounting and IFRS-compliant financial reporting to Laravel apps. Manage chart of accounts, journal entries, ledgers, and trial balances, then generate balance sheets, income statements, and other audit-ready financial reports from clean data.
Vat model and LineItem amounts/quantities/rates means VAT-aware line-item computation and reporting are in scope without custom schema design. Useful for pricing EU/UK-facing invoicing features.AccountSchedule (age-based calculations) and Trial Balance behaviour are the building blocks for receivables aging, period-close summaries, and accountant-facing exports — the kind of feature that usually justifies an enterprise tier.remove_vat_id_column fix drops a foreign key before the column so Laravel 11+ table rebuilds work on modern SQLite. That bug could leave a migration half-applied and a schema in an inconsistent state — relevant if you support SQLite in dev, CI, or single-tenant on-prem installs. It also argues for testing migrations against every driver you actually ship, not just MySQL.Consider it when:
diffInDays() behaviour and modern SQLite's foreign-key strictness — edge cases you would otherwise discover in production.Look elsewhere when:
Upgrade note for existing v5 users: v6 is a clean breaking release (PHP floor, Laravel 10 dropped). Plan it as a scheduled platform upgrade, not a patch bump — validate migrations across every database driver you ship, and re-run financial regression tests, since the Carbon 3 age-calculation fix can change AccountSchedule output for edge-case dates.
For executives: This is mature, actively maintained Laravel infrastructure that gives us accounting and VAT capabilities — accounts, line items, tax rates, aging schedules, trial balance — without building them from scratch. That is roughly a quarter of engineering effort redirected toward customer-facing features. The new v6 release keeps us current with the latest Laravel and PHP, and the maintainer is demonstrably rigorous about correctness in financial calculations and database migrations. The trade-off is a platform requirement: PHP 8.2+ and Laravel 11+. That is a scheduled upgrade we should sequence deliberately, and it is a cost we would face on our own roadmap regardless.
For engineering: v6.0.0 is a breaking release — PHP 8.2 minimum, Laravel 10 dropped, supported range is Laravel 11/12/13. Budget for: (1) a PHP/Laravel upgrade if we are behind; (2) a migration audit across all drivers we support — the remove_vat_id_column foreign-key ordering fix matters specifically on modern SQLite; (3) regression testing on AccountSchedule aging, because Carbon 3 returns a signed float from diffInDays() and older whole-number assumptions may surface in our own code too. The dev-dependency bump (testbench, PHPUnit 11|12, Collision 8) means our test tooling moves with it. Upside: Laravel 13 readiness ahead of the ecosystem, and a test suite that is now deterministic — the maintainer fixed Faker-related flakiness and zero-value factory data that were producing intermittently failing Trial Balance assertions. That class of bug is exactly what erodes trust in financial tests, and it is now closed. Recommendation: adopt v6 for new work; schedule the upgrade for existing surfaces and treat it as a planned platform milestone rather than an opportunistic bump.
How can I help you explore Laravel packages today?