taitech / travfd-php
A composer package that helps to communicate with TRA [Tanzania Revenue Authority] VFD services
1.0.21
2025-02-23 15:37 UTC
Requires
- php: ^8.0
- ext-openssl: *
- ext-simplexml: *
- guzzlehttp/guzzle: ^7.0
- illuminate/support: *
Requires (Dev)
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-03-23 15:52:51 UTC
README
TRA VFD Client for Laravel
TRA VFD Client is a Laravel-compatible Composer package for integrating with the Tanzania Revenue Authority (TRA) Virtual Fiscal Device (VFD) service. It provides an easy-to-use interface for:
- Registering a TIN to obtain a VFD number
- Fetching authentication tokens
- Submitting receipts/invoices
- Posting daily Z reports
- Verifying receipts/invoices
Installation
1. Install via Composer
composer require taitech/travfd-php
2. Publish Configuration
php artisan vendor:publish --tag=config
3. Add Environment Variables
Update .env
with TRA API credentials:
TRA_VFD_API_BASE=https://virtual.tra.go.tz/efdmsRctApi TRA_VFD_TIN=123456789 TRA_VFD_USERNAME=your_username TRA_VFD_PASSWORD=your_password
Usage
Register VFD
use Taitech\TravfdPhp\Facades\Travfd; $response = Trarfd::registerVfd(); print_r($response);
Fetch Token
$response = Travfd::getValidToken(); print_r($response);
Submit Receipt
$receiptData = [ 'Invoice' => [ 'TIN' => '123456789', 'Date' => '2025-02-22', 'Total' => '1000.00' ] ]; $response = Travfd::sendReceipt($receiptData); print_r($response);
Submit Z Report
$response = Travfd::sendZReport([ 'TIN' => '123456789', 'Date' => '2025-02-22', 'TotalSales' => '5000.00' ]); print_r($response);
Verify Receipt
$response = Travfd::verifyReceipt('INV-12345'); print_r($response);
License
This package is licensed under the MIT License. See LICENSE.md for details.