abivia / ledger

General Ledger and Journal Accounting Package and API for Laravel
MIT License
102 stars 23 forks source link
accounting accounting-software finance general-ledger generalledger laravel multi-currency multicurrency php

General Ledger and Journal Accounting Package for Laravel with JSON API

Tests: php 8.0 php 8.1

Ledger lets you track anything related to money in your application with a single package while making your CFO happy at the same time. No matter if your app is handling memberships for a small club or supporting a multinational enterprise, Ledger can handle it.

Ledger is a full-featured implementation of the core of any good accounting system, a double-entry journal and general ledger. It is not a complete accounting solution, but rather the minimum for keeping track of financial transactions. Ledger features a JSON API that provides access to all functions.

That's the only minimal part. Ledger features:

Documentation

Full documentation is available here.

Updates and Chat

We've moved from Twitter to Mastodon. Come join us!

Quick start

Installation and Configuration

Install Ledger with composer:

composer require abivia/ledger

Publish configuration:

php artisan vendor:publish --provider="Abivia\Ledger\LedgerServiceProvider"

Create database tables

php artisan migrate

Configuration

The configuration file is installed as config\ledger.php. You can enable/disable the JSON API, set middleware, and a path prefix to the API.

Updating

To ensure schema changes are in place publish the configuration again and migrate:

php artisan vendor:publish --provider="Abivia\Ledger\LedgerServiceProvider"
php artisan migrate

Donations welcome

Abivia is a small business. Even small donations go a long way.

If you're getting something out of Ledger, you can sponsor us in any amount you wish using Liberapay Liberapay. Liberapay is itself run on donations and charges no fees beyond bank charges.