PHPackages                             bavan/eloquent-ifrs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. bavan/eloquent-ifrs

ActiveLibrary[Database &amp; ORM](/categories/database)

bavan/eloquent-ifrs
===================

Eloquent Double Entry Accounting with focus on IFRS Compliant Reporting

1.0.1(4mo ago)08[2 PRs](https://github.com/miladghorbani1999/eloquent-ifrs/pulls)MITPHPPHP ^8.1CI failing

Since Nov 15Pushed 4mo agoCompare

[ Source](https://github.com/miladghorbani1999/eloquent-ifrs)[ Packagist](https://packagist.org/packages/bavan/eloquent-ifrs)[ RSS](/packages/bavan-eloquent-ifrs/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (9)Versions (5)Used By (0)

 [![](https://camo.githubusercontent.com/b526af01b5ceade9cc08ab4850e540615930e31cb8582d2ee090ac7b5d87b2d5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c253230392d2d313225323052656164792d7265643f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/b526af01b5ceade9cc08ab4850e540615930e31cb8582d2ee090ac7b5d87b2d5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c253230392d2d313225323052656164792d7265643f7374796c653d666f722d7468652d6261646765) [![](https://camo.githubusercontent.com/c1a3f4031b735fce67187373c73928df3e68592ef0398bd51a2bf67a204630ac/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e312532422d626c75653f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/c1a3f4031b735fce67187373c73928df3e68592ef0398bd51a2bf67a204630ac/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e312532422d626c75653f7374796c653d666f722d7468652d6261646765) [![](https://camo.githubusercontent.com/153acf9dff19deb8abfc598c53bac50a4ceae0f5c83a552711060d3d78d2c057/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e3f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/153acf9dff19deb8abfc598c53bac50a4ceae0f5c83a552711060d3d78d2c057/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e3f7374796c653d666f722d7468652d6261646765)

Eloquent IFRS
=============

[](#eloquent-ifrs)

###  حسابداری دوطرفه و گزارش‌دهی IFRS برای Laravel

[](#-حسابداری-دوطرفه-و-گزارش‌دهی-ifrs-برای-laravel)

این پکیج یک سیستم حسابداری دفتردوبل کامل، چندشرکتی، چندارزی با گزارش‌های استاندارد IFRS را به پروژه‌های لاراول اضافه می‌کند.
پشتیبانی از VAT، کنترل تغییرات، محافظت از دفترکل، و گزارش‌های مالی حرفه‌ای.

فهرست مطالب
-----------

[](#فهرست-مطالب)

- [ویژگی‌ها](#%D9%88%DB%8C%DA%98%DA%AF%DB%8C%D9%87%D8%A7)
- [نصب](#%D9%86%D8%B5%D8%A8)
- [پیکربندی](#%D9%BE%DB%8C%DA%A9%D8%B1%D8%A8%D9%86%D8%AF%DB%8C)
- [شروع کار](#%D8%B4%D8%B1%D9%88%D8%B9-%DA%A9%D8%A7%D8%B1)
- [مثال‌های عملی](#%D9%85%D8%AB%D8%A7%D9%84%D9%87%D8%A7%DB%8C-%D8%B9%D9%85%D9%84%DB%8C)
- [گزارش‌گیری](#%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4%DA%AF%DB%8C%D8%B1%DB%8C)
- [گزارش‌های میانی](#%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4%D9%87%D8%A7%DB%8C-%D9%85%DB%8C%D8%A7%D9%86%DB%8C)
- [نقشه راه](#%D9%86%D9%82%D8%B4%D9%87-%D8%B1%D8%A7%D9%87)
- [مشارکت](#%D9%85%D8%B4%D8%A7%D8%B1%DA%A9%D8%AA)
- [لایسنس](#%D9%84%D8%A7%DB%8C%D8%B3%D9%86%D8%B3)
- [تغییرات نسخه‌ها](#%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1%D8%A7%D8%AA-%D9%86%D8%B3%D8%AE%D9%87%D9%87%D8%A7)

---

ویژگی‌ها
--------

[](#ویژگی‌ها)

✔ پشتیبانی چندشرکتی (Entity)
✔ حسابداری دفتردوبل کامل
✔ حساب‌های چندارزی + تفاوت نرخ ارز
✔ محافظت در برابر تغییرات مستقیم DB
✔ VAT ورودی، خروجی، ترکیبی
✔ گزارش‌های کامل IFRS شامل:

- Income Statement
- Balance Sheet
- Cash Flow
- Trial Balance

✔ زمان‌بندی بدهکار/بستانکار (Aging)
✔ ثبت‌های نقدی و اعتباری برای فروش/خرید
✔ گزارش Account Statement و Account Schedule

---

نصب
---

[](#نصب)

```
composer require "bavan/eloquent-ifrs"
php artisan migrate
```

### اگر از Lumen استفاده می‌کنید:

[](#اگر-از-lumen-استفاده-می‌کنید)

```
$app->register(IFRS\IFRSServiceProvider::class);
```

---

پیکربندی
--------

[](#پیکربندی)

انتشار فایل config:

```
php artisan vendor:publish --provider="IFRS\IFRSServiceProvider"
```

این فایل ایجاد می‌شود:

```
config/ifrs.php

```

### مهم‌ترین تنظیمات

[](#مهم‌ترین-تنظیمات)

- `user_model` → مدل User پروژه
- `locales` → زبان‌ها
- `forex_scale` → دقت نرخ ارز
- `single_currency` → حساب‌های محدود به یک ارز
- `aging_schedule_brackets` → بازه‌های زمانی بدهکار/بستانکار
- ساختار درآمد، هزینه، دارایی، بدهی، حقوق صاحبان سهام
- تنظیمات Cashflow

---

شروع کار
--------

[](#شروع-کار)

### افزودن خصوصیات به مدل User:

[](#افزودن-خصوصیات-به-مدل-user)

```
use IFRS\Traits\IFRSUser;
use IFRS\Traits\Recycling;

class User extends Authenticatable
{
    use IFRSUser, Recycling;
}
```

---

مثال‌های عملی
-------------

[](#مثال‌های-عملی)

### ۱. ساخت شرکت و ارز

[](#۱-ساخت-شرکت-و-ارز)

```
$entity = Entity::create(['name' => 'شرکت نمونه']);

$currency = Currency::create([
    'name' => 'Euro',
    'currency_code' => 'EUR'
]);

$entity->currency_id = $currency->id;
$entity->save();
```

---

### ۲. تعریف VAT

[](#۲-تعریف-vat)

```
$outputVat = Vat::create([
    'name' => "Standard Output Vat",
    'code' => "O",
    'rate' => 20,
    'account_id' => Account::create([
        'name' => "Sales VAT Account",
        'account_type' => Account::CONTROL,
    ])
]);
```

---

### ۳. تعریف حساب‌ها

[](#۳-تعریف-حساب‌ها)

```
$bank = Account::create([
    'name' => "Bank Account",
    'account_type' => Account::BANK,
]);

$revenue = Account::create([
    'name' => "Sales Revenue",
    'account_type' => Account::OPERATING_REVENUE,
]);
```

---

### ۴. ساخت دوره مالی

[](#۴-ساخت-دوره-مالی)

```
$period = ReportingPeriod::create([
    'period_count' => 1,
    'calendar_year' => 2024,
]);
```

---

### ۵. ثبت فروش نقدی (Cash Sale)

[](#۵-ثبت-فروش-نقدی-cash-sale)

```
$cashSale = CashSale::create([
    'account_id' => $bank->id,
    'date' => now(),
    'narration' => "Example Cash Sale",
]);
```

#### ایجاد Line Item

[](#ایجاد-line-item)

```
$item = LineItem::create([
    'account_id' => $revenue->id,
    'narration' => "Sale Item",
    'quantity' => 1,
    'amount' => 100,
]);

$item->addVat($outputVat);

$cashSale->addLineItem($item);
$cashSale->post(); // ثبت در دفتر کل
```

---

### ثبت‌های دیگر

[](#ثبت‌های-دیگر)

```
$clientInvoice = ClientInvoice::create([...]);
$cashPurchase = CashPurchase::create([...]);
$supplierBill = SupplierBill::create([...]);
$clientReceipt = ClientReceipt::create([...]);
```

---

### تخصیص (Assignment)

[](#تخصیص-assignment)

```
Assignment::create([
    'assignment_date'=> now(),
    'transaction_id' => $clientReceipt->id,
    'cleared_id' => $clientInvoice->id,
    'cleared_type'=> $clientInvoice->clearedType,
    'amount' => 50,
]);
```

---

گزارش‌گیری
----------

[](#گزارش‌گیری)

### صورت سود و زیان (Income Statement)

[](#صورت-سود-و-زیان-income-statement)

```
$income = new IncomeStatement("2021-01-01","2021-12-31");
echo $income->toString();
```

---

### ترازنامه (Balance Sheet)

[](#ترازنامه-balance-sheet)

```
$bs = new BalanceSheet("2021-12-31");
echo $bs->toString();
```

---

### Cash Flow

[](#cash-flow)

```
$cf = new CashFlowStatement("2021-12-31");
```

---

گزارش‌های میانی
---------------

[](#گزارش‌های-میانی)

### Account Statement

[](#account-statement)

```
$statement = new AccountStatement($clientAccount)->getTransactions();
```

### Account Schedule

[](#account-schedule)

```
$schedule = new AccountSchedule($clientAccount, $currency)->getTransactions();
```

---

نقشه راه
--------

[](#نقشه-راه)

- Cashflow Statement
- Laravel 8–12 Compatibility
- Multicurrency
- VAT پیشرفته
- گزارش‌های تلفیقی
- پشتیبانی کامل لاراول 12+
- ماژول دارایی ثابت

---

لایسنس
------

[](#لایسنس)

انتشار تحت مجوز MIT.

---

تغییرات نسخه‌ها
---------------

[](#تغییرات-نسخه‌ها)

### از CHANGELOG رسمی پکیج

[](#از-changelog-رسمی-پکیج)

- Laravel 12 Compatibility
- Laravel 11 Compatibility
- Attachments to Transactions
- Laravel 10 Compatibility
- Laravel 9 Compatibility
- Compound VAT
- Forex Difference هنگام تسویه
- Forex Translation
- پشتیبانی Lumen
- Cash Flow Statement
- گزارش Aging
- اصلاحات پایدار

```

legers:
post_account = حسابی که خودش Debit یا Credit می‌شود.
folio_account = حساب طرف مقابل.
entry_type = نوع بدهکار یا بستانکار بودن.
line_item_id = اگر برای آیتم خاص است، این‌جاست؛ بانک همیشه null.
amount = مبلغ واقعی ثبت‌شده.
rate = نرخ ارز.
transaction_id = به کدام ClientReceipt/Invoice/Bill تعلق دارد.

 post_account = حسابی که در همان Ledger در نقش D یا C قرار دارد
در پرداخت:

Ledger بانک → post_account = bank
Ledger آیتم → post_account = service/patientShare/etc
✔ folio_account = حساب طرف مقابل در همان ثبت دوبل
در پرداخت:

Ledger بانک → folio_account = account of first LineItem
Ledger آیتم → folio_account = bank

```

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance74

Regular maintenance activity

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

148d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4568ed3200d67b43b61116babbded73353b09bf9f403b5c600293ba29ee2b843?d=identicon)[miladghorbani1999](/maintainers/miladghorbani1999)

---

Top Contributors

[![miladghorbani1999](https://avatars.githubusercontent.com/u/80102956?v=4)](https://github.com/miladghorbani1999 "miladghorbani1999 (9 commits)")

---

Tags

laravellumeneloquentreportingAccounting

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/bavan-eloquent-ifrs/health.svg)

```
[![Health](https://phpackages.com/badges/bavan-eloquent-ifrs/health.svg)](https://phpackages.com/packages/bavan-eloquent-ifrs)
```

###  Alternatives

[owen-it/laravel-auditing

Audit changes of your Eloquent models in Laravel

3.4k33.0M95](/packages/owen-it-laravel-auditing)[ekmungai/eloquent-ifrs

Eloquent Double Entry Accounting with focus on IFRS Compliant Reporting

35757.9k](/packages/ekmungai-eloquent-ifrs)[silber/bouncer

Eloquent roles and abilities.

3.6k4.4M25](/packages/silber-bouncer)[mohammad-fouladgar/eloquent-builder

527189.5k](/packages/mohammad-fouladgar-eloquent-builder)[shiftonelabs/laravel-cascade-deletes

Adds application level cascading deletes to Eloquent Models.

163632.1k2](/packages/shiftonelabs-laravel-cascade-deletes)[altek/accountant

The auditing &amp; accountability package for Laravel's Eloquent ORM.

92954.3k4](/packages/altek-accountant)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
