misaf / vendra-currency
Multi-currency support system with hierarchical currency categories
0.0.7
2026-07-11 20:50 UTC
Requires
- php: ^8.3
- awcodes/filament-badgeable-column: ^4.0
- filament/filament: ^5.6.8
- filament/spatie-laravel-media-library-plugin: ^5.6.8
- illuminate/support: ^13.0
- misaf/filament-jalali: ^5.1.4
- misaf/vendra-multimedia: ^0.0.7
- misaf/vendra-support: ^0.0.7
- spatie/eloquent-sortable: ^5.0.1
- spatie/laravel-package-tools: ^1.93.1
- spatie/laravel-sluggable: ^4.0.2
- staudenmeir/belongs-to-through: ^2.18
Requires (Dev)
- fakerphp/faker: ^1.24.1
- larastan/larastan: ^3.10.0
- laravel/boost: ^2.4.12
- laravel/pint: ^1.29.3
- misaf/vendra-testing: ^0.0.7
- mockery/mockery: ^1.6.12
- nunomaduro/collision: ^8.9.4
- orchestra/testbench: ^11.1
- pestphp/pest: ^4.7.5
- pestphp/pest-plugin-arch: ^4.0.2
- pestphp/pest-plugin-laravel: ^4.1
- pestphp/pest-plugin-profanity: ^4.2.1
- pestphp/pest-plugin-type-coverage: ^4.0.4
- phpstan/extension-installer: ^1.4.3
README
Tenant-aware currency management for Vendra applications.
Features
- Currency categories
- Currencies with buy/sell pricing and conversion rate
- Filament resources on the
adminpanel
Requirements
- PHP 8.2+
- Laravel 12
- Filament 5
- Livewire 4
- Pest 4
- Tailwind CSS 4
misaf/vendra-tenantmisaf/vendra-activity-log
Installation
composer require misaf/vendra-currency php artisan vendor:publish --tag=vendra-currency-migrations php artisan migrate
Optional translations publish:
php artisan vendor:publish --tag=vendra-currency-translations
The service provider and Filament plugin are auto-registered.
Usage
Create a currency category:
use Misaf\VendraCurrency\Models\CurrencyCategory; $category = CurrencyCategory::query()->create([ 'name' => 'Fiat', 'description' => 'Government-issued currencies', 'slug' => 'fiat', 'position' => 1, 'status' => true, ]);
Create a currency:
use Misaf\VendraCurrency\Models\Currency; Currency::query()->create([ 'currency_category_id' => $category->id, 'name' => 'US Dollar', 'description' => 'United States Dollar', 'slug' => 'usd', 'iso_code' => 'USD', 'conversion_rate' => 1, 'decimal_place' => 2, 'buy_price' => 100000, 'sell_price' => 99500, 'is_default' => true, 'position' => 1, 'status' => true, ]);
Load currencies with their category:
$currencies = Currency::query() ->with('currencyCategory') ->where('status', true) ->get();
Filament
Resources are available in the Currencies cluster on the admin panel:
- Currency Categories
- Currencies
Testing
composer test
License
MIT. See LICENSE.