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

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.