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

Eloquent Ifrs Laravel Package

ekmungai/eloquent-ifrs

Eloquent IFRS adds double-entry accounting to Laravel, generating IFRS-compliant financial statements. Supports multiple entities, account categorization, VAT, opening balances, forex revaluation, tamper-protected ledgers, and configurable receivables aging.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy on the ledger core. The single biggest decision this package informs is whether your team writes double-entry accounting from scratch. It supplies the general ledger, posting rules, chart-of-accounts categorization, transaction types (cash sale, client invoice, supplier bill, receipts), assignments/settlement, and opening balances. If your product needs a ledger but accounting is not your differentiator, this is the "borrow" option and removes months of domain modelling from the roadmap.
  • Whether to promise IFRS-compliant reporting. IFRS compatibility is a sales-qualifying claim in EU, UK, much of Africa, the Middle East and Asia — and a support liability if you hand-roll it. Adopting this package makes "IFRS-compatible financial statements" a deliverable rather than a research project, with Income Statement and Balance Sheet generated from posted transactions rather than computed ad hoc.
  • Multi-currency as a roadmap item, not a rebuild. Automated forex difference posting within the period plus closing-rate translation of foreign-denominated balances is the hard part of multi-currency accounting. Presence of this capability turns "international expansion" from an architectural risk into a configuration and QA exercise.
  • Compliance and audit positioning as a feature. Tamper protection against direct database edits to the ledger is a differentiator you can put in a security questionnaire and a trust page — it supports enterprise/procurement conversations and reduces the cost of audit-related support tickets.
  • Credit-control and collections scope. Configurable receivables/payables aging buckets (Current, 31–60, 61–90, …) justify a collections/dunning surface and give sales a concrete "who owes what, how overdue" story without a separate reporting pipeline.
  • Customer onboarding and migration strategy. Start-of-year opening balances are the mechanism for importing customers off incumbent tools. This supports a decision to offer a guided migration service rather than asking new customers to re-key history.
  • Sequencing the UI investment. The package deliberately stops at the data layer — report rendering in the README is explicitly debug-only. Product must budget for the presentation layer (report builder, drill-down, exports, PDFs), so plan the "accounting screens" epic as adjacent work, not as something the package delivers.

When to Consider This Package

Consider it when most of the following hold:

  • Your stack is PHP 8.2+ on Laravel 11/12/13, and you are willing to keep the ledger inside your own application and database rather than integrating a third-party accounting API.
  • You are building a vertical SaaS, ERP, invoicing, POS, lending or expense product where accounting is a supporting capability, and shipping a credible IFRS-shaped P&L and balance sheet is worth more than a bespoke ledger.
  • You operate in, or sell to, IFRS-adopting jurisdictions and need VAT handling and financial statements that pass a customer's finance team.
  • You are multi-entity/multi-company from day one, or expect to be.
  • You can absorb coupling to your User model (the IFRSUser / Recycling traits and Recyclable interface) and a migration-ordering constraint: the package extends an existing users table and expects it to be dated before 2014_10_12_000000. Greenfield apps and stock Laravel user migrations are fine; long-lived databases with later-dated user migrations need an integration spike first.
  • You are prepared to own the reporting UI, exports and reconciliation tooling yourself.

Look elsewhere when:

  • You need an accounting system of record your finance team logs into. Use a mature product and integrate; do not rebuild accounts payable/receivable workflows here.
  • Your requirements are US GAAP-centric, or depend on jurisdiction-specific filing and e-invoicing (Making Tax Digital, PEPPOL, real-time clearance regimes). Nothing in the documented scope covers statutory submission.
  • You need inventory/stock valuation, revenue recognition schedules, deferred revenue, lease accounting (IFRS 16) or expected-credit-loss modelling (IFRS 9). These are outside what the README evidences — treat them as unbuilt until proven in the source.
  • You need vendor SLAs, indemnities, or a named support channel. This is an MIT-licensed community project from a single originating organisation, with 367 stars and no dependent packages on Packagist — credible, but not a supply-chain anchor.
  • Your stack is not Laravel, or you need a language-agnostic accounting service.
  • You already have 3+ years of posted history in another system and no appetite for a controlled cutover.

How to Pitch It (Stakeholders)

To executives: this is a scope-reduction decision, not a technology preference. We can either spend an engineering half-year and a specialist hire building a double-entry ledger, VAT handling, multi-entity support, forex translation and IFRS-shaped statements — or adopt a mature MIT-licensed Laravel package that already does the accounting mechanics and spend our team on the product surface customers actually pay for. There is no licence cost and no per-transaction fee. The trade-off is that we own the reporting UI and the integration, and we inherit maintainer risk: the project is community-run with modest adoption signals, so we should plan to vendor the code and be able to patch it ourselves rather than depend on upstream responsiveness.

To engineering: it is Eloquent-native and installs into our database with published migrations and config, targeting PHP 8.2 and Laravel 11–13 — aligned with where we are heading. It gives us a ledger with posting semantics, VAT, assignments, aging and forex out of the box, plus a tamper-resistant transaction model. Costs to plan for: a trait and interface on our User model, a users-table migration-ordering constraint that needs a spike on our existing schema, an abstraction boundary so we are not coupled to its models everywhere, and a real reporting/export layer we build ourselves. Also note the package's own debug renderer is not production-safe — nothing ships without our own presentation code. Recommend a two-week spike: install in a branch, post a representative month of our real transactions, then reproduce our current reports and diff them.

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.
dakiquang/laravel-oauth-refresh-lock
woda/laravel-worktrees
dalefranks/ramasite
faghy/laracashbook
roundly-consulting/google-places-for-laravel
roundly-consulting/kubernetes-api-for-laravel
roundly-consulting/plausible-for-laravel
gvp/gvp-laravel-template
metasyncsite/laravel-metasync-client
roundly-consulting/onboarding-for-laravel
andydefer/laravel-notification
adachsoft/cli-process-tester
jhaskell13/laraflow
sebastienheyd/boilerplate-media-manager
ccast/tagixo-primix
pretendtrue/laravel-builder
sawmainek/laravel-scout-tntsearch-driver
tomshaw/laravel-calendar-table
dibakar/laravel-ownership
adachsoft/changelog-linter