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 Ifrs

Laravel Ifrs Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Eloquent Double Entry Accounting with a focus on IFRS Compliant Reporting

Frequently asked questions about Laravel Ifrs
How do I install ekmungai/laravel-ifrs in a Laravel application?
Require ekmungai/laravel-ifrs through Composer on a Laravel 11, 12, or 13 application running PHP 8.2 or newer for the v6 line. The package ships its own service provider plus publishable configuration and migrations, so you publish those and run the migrations to create the accounts, VAT, line item, and schedule tables. No external services, queue workers, or special database drivers are required, so installation is a normal Laravel package setup.
Which Laravel and PHP versions does laravel-ifrs support?
Version 6.0.0 is a platform-floor release that raises the minimum to PHP 8.2 and narrows framework support to Laravel 11, 12, and 13. Dev dependencies follow suit: PHPUnit 11 or 12, orchestra/testbench ^9, ^10, or ^11, nunomaduro/collision ^8, and spatie/laravel-ignition ^2. If your app is still on Laravel 10 or PHP 8.1 you cannot consume v6 and must stay pinned to 5.x or complete a framework upgrade first.
Do I need to publish the package's config and migrations?
Yes, the package exposes publishable configuration and migrations that install the accounting tables into your application's database. Because the package owns schema inside your database and also touches foreign keys on adjacent tables, avoid hand-editing published migration copies or they will diverge from upstream fixes such as the remove_vat_id_column correction. Re-publish or diff against the package version whenever you upgrade.
How do I upgrade laravel-ifrs from 5.x to 6.0?
Treat it as a platform upgrade rather than a feature upgrade: confirm your host app already runs Laravel 11+ and PHP 8.2+, then bump the constraint. Budget time for the four behavioral fixes, since reported aging output, factory-generated values, and migration state can all change. If your dev-dependency set includes the test runner, upgrade PHPUnit, Collision, and Testbench as one atomic change because Collision 8 requires PHPUnit 11 or newer.
Why did my aging report buckets change after upgrading laravel-ifrs?
AccountSchedule aging relies on Carbon date math, and Carbon 3 returns a signed float from diffInDays() where prior versions effectively produced a whole number. On Carbon 3, pre-v6 releases could silently place receivables or payables in the wrong aging bucket. Version 6 fixes the calculation, so the numbers are correct but different, which is a business-visible change that should get accounting stakeholder sign-off before it reaches production reports.
How do I generate a trial balance, balance sheet, or income statement with laravel-ifrs?
The package records double-entry journal entries against a chart of accounts and rolls them through ledgers into trial-balance reporting. From that clean data you generate balance sheets, income statements, and other audit-ready financial reports. Report and schedule classes are ordinary Eloquent-backed classes, so you can extend them when you need firm-specific presentation or extra disclosures.
Does laravel-ifrs work with SQLite and Orchestra Testbench?
The package is tested via Orchestra Testbench, which means its suite runs against an in-memory or file SQLite database in CI. v6 fixes the remove_vat_id_column migration that previously left a dangling foreign key on modern SQLite, so any environment where that migration already ran may need reconciliation. If SQLite is only used locally and in CI, the driver fix is test-infrastructure work rather than a production concern.
Can I extend or override the package models and report classes?
Yes, accounts, line items, VAT records, schedules, and report classes are regular Laravel classes you can subclass or swap through configuration where the package allows it. The cost shows up at upgrade time: every overridden class must be re-verified against the new release, especially the AccountSchedule aging logic and the LineItem and Vat factories. Keep a short list of your overrides so you can re-run their tests on each version bump.
Will the v6 factory changes break my tests or seeders?
Possibly. The LineItem and Vat factories no longer generate zero amounts, quantities, or rates, so any test or seeder that relied on zero-value lines will change shape. The package also seeds the PRNG globally and pins execution order internally, which can shift snapshot or golden tests if your suite interleaved package factories into your own faker stream. Run your full test suite against the bump before merging.
What production risks should I check before relying on laravel-ifrs for IFRS reporting?
Three things matter most: schema ownership, since the package creates tables in your database and adjusts foreign keys on host-adjacent tables; Carbon coupling, since date math drives aging output and framework-level upgrades can change reported figures; and migration state, since remove_vat_id_column may have partially applied in some environments. Confirm which Laravel and PHP versions are live in production and CI, whether published migration copies have drifted, and who signs off on reporting changes. Treat any upgrade that alters financial output as a business change, not just a Composer bump.
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.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core
nodisrupt/laravel-agent
sierratecnologia/media-manager