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)
```

###  Alternatives

[soup/paginator

Paginator is a simple class that allows you to create pagination. It doesn't require any database connection. It is compatible with Twitter's Bootstrap Framework, by using the CSS class pagination that is also attached.

351.5k](/packages/soup-paginator)

PHPackages © 2026

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