Eloquent-IFRS 4.0 is the final active development release which addresses the last part of the accounting process, Foreign Exchange differences management.
Like Laravel, Eloquent-IFRS follows Semantinc Versioning. This means that only Major releases introduce breaking changes to the package.
Eloquent IFRS 4.0 requires Eloquent minimum 7.0+ and PHP 7.3 to work. Update your emungai/eloquent-ifrs
dependency to ^4.0 in your composer.json file
. You also need to update your database schema for the Major changes mentioned below.
These changes require you to update your database schema to be compatible with the new version of the package. Details about column types can be obtained from the respective migration files. (There is the implied assumption here that you are upgrading from version 3. To upgrade from version 2, Please go through the upgrade guide for version 3 before following the setps below)
locale
attribute.amount
attribute to balance
.rate
attribute.currency_id
attribute.closing_date
attribute.single_currency
, array for account types that should only allow transactions with the account’s currency.transactionRate
, clearedRate
, transactionType
, clearedType
, parameter to the validate()
method to facilitate realized forex differences transactions validation.currencyId
parameter to the contribution()
method to filter transactions by currency.postForex()
method to post foreign exchange differences to the ledger at transaction assignment.getVatAttribute()
method to retrieve the VAT amount of a transaction.balanceAccount()
method to calculate foreign exchange differences at period closing.transactionCurrencies()
method to retrieve all foreign currencies used in transactions for the period.prepareBalancesTranslation()
method to create the foreign currency translation transactions for the period.getTranslations()
method to retrieve all foreign currency translation transactions for the period.postTranslations()
method to commit all foreign currency translation transactions for the period to the ledger.currencyId
parameter to the openingBalance()
method to filter opening balances by currency.currencyId
parameter to the currentBalance()
method to filter transactions by currency.currencyId
parameter to the closingBalance()
method to filter closing balances by currency.currencyId
parameter to the transactionsQuery()
method to filter transactions by currency.getAmount()
method with getAmountAttribute()
to corerspond to the transactions model amount attribute.