PHPackages                             hickr/laravel-accounting - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. hickr/laravel-accounting

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

hickr/laravel-accounting
========================

Laravel Accounting App

161PHP

Since Jul 23Pushed 9mo agoCompare

[ Source](https://github.com/hicka/laravel-accounting)[ Packagist](https://packagist.org/packages/hickr/laravel-accounting)[ RSS](/packages/hickr-laravel-accounting/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel Accounting Package
==========================

[](#laravel-accounting-package)

A modular, multi-tenant, multi-currency accounting engine for Laravel 12+, supporting IFRS-compliant reports and regional extensions (e.g., MIRA Maldives).

---

✨ Features
----------

[](#-features)

- 📚 Double-entry accounting (Journal, Ledger, COA)
- 🧾 IFRS-compliant financial reports:
    - Trial Balance
    - Profit &amp; Loss
    - Balance Sheet
    - General Ledger
- 🌐 Multi-currency support with exchange rates and inverse logic
- 🏢 Multi-tenancy (per business/entity)
- 🌍 Modular regional compliance (e.g., MIRA 201 via plugin)
- ✅ Pest/PHPUnit test coverage
- 🧱 Clean architecture &amp; Laravel Action-based design
- 🛠️ Configurable tenant model and table names

---

⚙️ Installation
---------------

[](#️-installation)

```
composer require hickr/laravel-accounting
```

### Publish Config &amp; Migrations

[](#publish-config--migrations)

```
php artisan vendor:publish --tag=accounting-config
php artisan vendor:publish --tag=accounting-migrations
```

---

🚀 Usage Examples
----------------

[](#-usage-examples)

### Post a Journal Entry

[](#post-a-journal-entry)

```
PostJournalEntryAction::execute([
    'tenant_id' => 1,
    'date' => '2025-01-01',
    'description' => 'Initial capital',
    'currency_code' => 'MVR',
    'exchange_rate' => 1,
    'lines' => [
        ['account_id' => 1, 'type' => 'debit', 'amount' => 1000],
        ['account_id' => 2, 'type' => 'credit', 'amount' => 1000],
    ],
]);
```

---

🧾 Tax Invoice Entry Example
---------------------------

[](#-tax-invoice-entry-example)

```
PostJournalEntryAction::execute([
    'tenant_id' => 1,
    'date' => '2025-07-15',
    'description' => 'MIRA GST Sale',
    'currency_code' => 'MVR',
    'exchange_rate' => 1,
    'lines' => [
        [
            'account_id' => 1, // Cash
            'type' => 'debit',
            'amount' => 1060,
            'base_currency_amount' => 1060,
        ],
        [
            'account_id' => 2, // Revenue
            'type' => 'credit',
            'amount' => 1000,
            'base_currency_amount' => 1000,
            'meta' => [
                'gst_type' => 'standard-rated',
                'gst_rate' => 6,
                'net_amount' => 1000,
                'gst_amount' => 60,
                'invoice_number' => 'INV-1001',
                'customer_name' => 'Ali Hassan',
                'customer_tin' => '1010101GST001',
            ],
        ],
        [
            'account_id' => 3, // GST Payable
            'type' => 'credit',
            'amount' => 60,
            'base_currency_amount' => 60,
        ],
    ]
]);
```

---

#### 🏗️ Fixed Asset Management

[](#️-fixed-asset-management)

- Add and manage fixed assets via `FixedAsset` model.
- Support for depreciation via:
    - Straight Line method
    - Reducing Balance method
- Bulk depreciation processing supported per period.
- Link each asset to an `AssetCategory` and account mapping.

```
use Hickr\Accounting\Models\FixedAsset;

$asset = FixedAsset::create([
    'tenant_id' => 1,
    'category_id' => 2,
    'name' => 'Dell Laptop',
    'purchase_date' => '2024-01-01',
    'cost' => 2000,
]);
```

#### 🧾 MIRA Compliance (Maldives)

[](#-mira-compliance-maldives)

- Schedule 1 to Schedule 5 GST Reports implemented.
- Income Tax Schedule 1, 2, and 4 supported.
- `meta` field on `journal_lines` used for enhanced tagging.
- Country-specific config under `modules -> mira`.

```
$config = config('accounting.modules.mira');
$rate = $config['gst']['standard_rate']; // 6%
```

#### 📈 Financial Statements

[](#-financial-statements)

- Profit &amp; Loss
- Balance Sheet
- Trial Balance (grouped + flat)
- Cash Flow Statement

📊 Reports
---------

[](#-reports)

### Trial Balance

[](#trial-balance)

```
$data = TrialBalanceReportAction::run([
    'tenant_id' => 1,
    'date_from' => '2025-01-01',
    'date_to' => '2025-12-31',
    'group_by_type' => false,
]);
```

### Profit &amp; Loss

[](#profit--loss)

```
$data = ProfitAndLossReportAction::run([
    'tenant_id' => 1,
    'date_from' => '2025-01-01',
    'date_to' => '2025-12-31',
]);
```

### Balance Sheet

[](#balance-sheet)

```
$data = BalanceSheetReportAction::run([
    'tenant_id' => 1,
    'date_to' => '2025-12-31',
    'group_by_account' => true,
]);
```

### General Ledger

[](#general-ledger)

```
$data = GeneralLedgerReportAction::run([
    'tenant_id' => 1,
    'date_from' => '2025-01-01',
    'date_to' => '2025-12-31',
]);
```

---

### 🧠 Advanced Configuration Notes

[](#-advanced-configuration-notes)

```
// config/accounting.php

'tenant_model' => App\Models\Tenant::class,

'tenant_table' => 'tenants',

'modules' => [
    'mira' => [
        'enabled' => true,
        'gst' => [
            'standard_rate' => 0.06,
            'zero_rate' => 0.0,
        ],
    ],
],
```

✅ Testing
---------

[](#-testing)

```
vendor/bin/pest
# or
vendor/bin/phpunit
```

Uses [Orchestra Testbench](https://github.com/orchestral/testbench) to run package tests.

---

🧩 Regional Compliance
---------------------

[](#-regional-compliance)

This package supports regional reporting plugins via config. For example:

```
// config/accounting.php
'region_module' => \Hickr\Accounting\MIRA\MiraModule::class,
```

MIRA reports (GST 201, Income Tax) can be developed as standalone modules.

---

🧪 Tests Included
----------------

[](#-tests-included)

- Journal entries (balancing, currency conversion)
- Trial balance (flat &amp; grouped)
- Profit &amp; Loss
- Balance Sheet
- General Ledger

---

🧱 Architecture
--------------

[](#-architecture)

- Tenant-aware by config
- Supports soft-deleted tenants
- Region support via strategy pattern

---

🗂️ Roadmap
----------

[](#️-roadmap)

- Trial Balance
- Profit &amp; Loss
- Balance Sheet
- General Ledger
- Cash Flow Statement
- MIRA 201, 401, Income Tax Schedules
- Journal approvals / audit trail

---

🧾 License
---------

[](#-license)

MIT License

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance40

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity14

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/d4d7a9fcc735a00d7c52db55d0ad933ab8d71c360ee4799f1526f28fe28d2032?d=identicon)[hicka](/maintainers/hicka)

---

Top Contributors

[![hicka](https://avatars.githubusercontent.com/u/19439535?v=4)](https://github.com/hicka "hicka (57 commits)")

### Embed Badge

![Health badge](/badges/hickr-laravel-accounting/health.svg)

```
[![Health](https://phpackages.com/badges/hickr-laravel-accounting/health.svg)](https://phpackages.com/packages/hickr-laravel-accounting)
```

PHPackages © 2026

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