PHP code example of salmanahmad143 / laravel-einvoice-suite

1. Go to this page and download the library: Download salmanahmad143/laravel-einvoice-suite library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

salmanahmad143 / laravel-einvoice-suite example snippets


// .env example in case of EY..
EINVOICE_EY_API_URL=https://api.eyprovider.com
EINVOICE_EY_API_KEY=your-ey-api-key
EINVOICE_EY_USERNAME=your-ey-username
EINVOICE_EY_PASSWORD=your-ey-password


// .env example in case of Adaequare..
EINVOICE_API_MODE=TEST # or PRODUCTION (for Adaequare provider)
EINVOICE_ADAEQUARE_API_URL=https://api.adaequare.com
EINVOICE_ADAEQUARE_CLIENT_ID=your-adaequare-client-id
EINVOICE_ADAEQUARE_CLIENT_SECRET=your-adaequare-client-secret
EINVOICE_ADAEQUARE_USERNAME=your-adaequare-username
EINVOICE_ADAEQUARE_PASSWORD=your-adaequare-password

use LaravelEInvoiceSuite\EInvoiceManager;

$params = [
    'suppGstin' => '29ABCDE1234F2Z5',
    'docNo' => 'INV-1001',
    'docDate' => '01/04/2026',
    'docType' => 'INV',
    'custGstin' => '27ABCDE1234F1Z6',
    'custOrSupName' => 'Customer Name',
    'custOrSupAddr1' => 'Customer Address',
    'custPincode' => '400001',
    'billToState' => '27',
    'invAssessableAmt' => 1000,
    'invIgstAmt' => 0,
    'invCgstAmt' => 90,
    'invSgstAmt' => 90,
    'totalInvoiceAmount' => 1180,
    'lineItems' => [
        [
            'SlNo' => 1,
            'PrdDesc' => 'Product 1',
            'IsServc' => 'N',
            'HsnCd' => '1001',
            'Qty' => 1,
            'Unit' => 'NOS',
            'UnitPrice' => 1000,
            'TotAmt' => 1000,
            'Discount' => 0,
            'AssAmt' => 1000,
            'GstRt' => 18,
            'CgstAmt' => 90,
            'SgstAmt' => 90,
            'IgstAmt' => 0,
            'TotItemVal' => 1180
        ]
    ]
];

// For EY Provider
$manager = new EInvoiceManager('ey');
$manager->setParameters($params);
$response = $manager->generateIrn();

// For Adaequare Provider
$manager = new EInvoiceManager('adaequare');
$manager->setParameters($params);
$response = $manager->generateIrn();

// Handle the response
if ($response['status']) {
    // Success
    print_r($response['data']);
} else {
    // Error
    echo 'Error: ' . $response['data'];
}

$manager->setParameters($params); // Set parameters if not already set
$response = $manager->generateEwayBill();

$manager->setParameters([
    'ewbNo' => '123456789012',
    'canRemarks' => 'Order cancelled',
    'canReason' => '3',
]);
$response = $manager->cancelEwayBill();

$manager->setParameters([
    'irn' => 'IRN1234567890',
    'canRemarks' => 'Wrong entry',
    'canReason' => '3',
]);
$response = $manager->cancelIrn();

return [
    'default_provider' => env('EINVOICE_PROVIDER', 'ey'),
    'providers' => [
        'ey' => [
            'api_url' => env('EINVOICE_EY_API_URL'),
            'api_key' => env('EINVOICE_EY_API_KEY'),
            'username' => env('EINVOICE_EY_USERNAME'),
            'password' => env('EINVOICE_EY_PASSWORD'),
        ],
        'adaequare' => [
            'api_url' => env('EINVOICE_ADAEQUARE_API_URL'),
            'client_id' => env('EINVOICE_ADAEQUARE_CLIENT_ID'),
            'client_secret' => env('EINVOICE_ADAEQUARE_CLIENT_SECRET'),
            'username' => env('EINVOICE_ADAEQUARE_USERNAME'),
            'password' => env('EINVOICE_ADAEQUARE_PASSWORD'),
        ],
    ],
];
sh
php artisan vendor:publish --tag=einvoice-config