Download the PHP package icomefromthenet/ledger without Composer
On this page you can find all versions of the php package icomefromthenet/ledger. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package ledger
GeneralLedger
General Ledger for PHP and MySql.
A general ledger is a complete record of financial transactions over the life of a company. The ledger holds account information that is needed to prepare financial statements, and includes accounts for assets, liabilities, owners' equity, revenues and expenses.
Installing
Step 1. You can install this library using composer.
Step 2. Create a new database called 'general_ledger' and run the database build script under database/database.sql
I use my own database migration tool called Migrations but I have included a sql file for convenience.
Terms and conventions
1. Debits / Credit.
A debit is a value with a positive sign, a credit is a value with a negative sign.
2. Transaction
For purposes of this library a transaction is represented by a single entry into the general ledger with each transaction having 1 to many account movements.
3. Organisation Unit (Cost Center)
Organisation Units are used to group transactions with each having a relation to ONE and therefore should be mutually exclusive. For example departments in an organisation.
4. Ledger User.
Each transaction is subscribed to a single user this most likely your application users.
5. Ledger Entry / Account movement.
Each entry represents an allocation to a ledger account.
6. Ledger Account
Each account can hold one to many child accounts think of it like a tree.
6. Trail Balance
Aggerates all enteries which are then split into debits and credits. The ledger is said to be in balance if debits equals credit.
7. Adjustments
To make a correction a transaction must be adjusted through a reversal and a re-issue we do NOT delete transactions in our ledgers.
Create a Transaction
- Instance the library DI container.
- Instance the transaction builder.
- Fetch the current date from the database.
- Set transaction details and run.
You really should not assume your webserver and database server running same date settings.
Create a Adjustment
- Instance the library DI container.
- Instance the transaction builder.
- Fetch the current date from the database.
- Fetch the transaction that were looking to reverse.
- Process an adjustment and then do the replacement.
Should give them replacement transaction the same occured date as the original so if a list is made in date order you see them grouped together.
Run a Trail Balance
- Decide if you want to use the AGG tables or the entry tables.
- Pick if you want a trail balance for everyone or a single user/organistation unit.
Chart of Accounts
- First account at id 1 will be a root account.
- Need one or more accounts with is_left = true (Debit) and one or more accounts with is_right = true (credit).
- Other accounts should inherit from these top level accounts.
- Yep its a tree.
All versions of ledger with dependencies
pimple/pimple Version 3.0.*
psr/log Version 1.0.*
bluem/tree Version @stable
vlucas/valitron Version ^1.2