centrex/laravel-accounting

Manage accounts in laravel

v1.4.1 2024-09-29 12:17 UTC

This package is auto-updated.

Last update: 2024-12-20 14:09:40 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This package to provide a simple drop-in trait to manage accruing balances for a given model. It can also be used to create double entry based projects where you would want to credit one journal and debit another.

Contents

Installation

You can install the package via composer:

composer require centrex/laravel-accounting

You can publish and run the migrations with:

php artisan vendor:publish --tag="accounting-migrations"
php artisan migrate

You can optionally publish the config file with:

php artisan vendor:publish --tag="accounting-config"

Usage

// Standard equation of accounting system

// Standard accounting statements

'statements' => [
    'balance_sheet' => [
        'accumulated' => true,
        'name' => 'Balance Sheet',
        'cash_only' => false,
        'accounts' => ['Asset', 'Liability', 'Equity', 'Revenue', 'Expense']
    ],
    'income' => [
        'name' => 'Income',
        'cash_only' => true,
        'accounts' => ['Revenue', 'Expense', 'Other',]
    ],
    'cash_flow' => [
        'name' => 'Cash Flow',
        'cash_only' => true,
        'accounts' => ['Asset']
    ]
],

Testing

๐Ÿงน Keep a modern codebase with Pint:

composer lint

โœ… Run refactors using Rector

composer refacto

โš—๏ธ Run static analysis using PHPStan:

composer test:types

โœ… Run unit tests using PEST

composer test:unit

๐Ÿš€ Run the entire test suite:

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.