PHPackages                             salmanahmad143/laravel-einvoice-suite - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. salmanahmad143/laravel-einvoice-suite

ActiveLibrary[API Development](/categories/api)

salmanahmad143/laravel-einvoice-suite
=====================================

Multi-provider E-Invoice integration for Laravel 8+ (EY, Adaequare, etc.)

v1.0.0(3mo ago)01↓90.9%MITPHPPHP &gt;=7.3

Since Apr 2Pushed 3mo agoCompare

[ Source](https://github.com/salmanAhmad143/laravel-einvoice-suite)[ Packagist](https://packagist.org/packages/salmanahmad143/laravel-einvoice-suite)[ RSS](/packages/salmanahmad143-laravel-einvoice-suite/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

Laravel E-Invoice Suite
=======================

[](#laravel-e-invoice-suite)

Multi-provider E-Invoice integration for Laravel 8+ (EY, Adaequare, etc.)

---

Features
--------

[](#features)

- Plug-and-play support for multiple e-invoice providers (EY, Adaequare, and more)
- Unified API for generating IRN, EWay Bill, and cancellations
- Easily extendable for new providers
- Simple configuration via config/einvoice.php or .env
- Clean, production-ready codebase

---

Installation
------------

[](#installation)

### 1. Require the package via Composer

[](#1-require-the-package-via-composer)

If published on Packagist:

```
composer require salmanahmad143/laravel-einvoice-suite

```

### 2. Publish the configuration file

[](#2-publish-the-configuration-file)

```
php artisan vendor:publish --tag=einvoice-config

```

### 3. Configure your credentials

[](#3-configure-your-credentials)

Edit `.env` or `config/einvoice.php` to set your API credentials for each provider:

```
// .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

```

---

Basic Usage
-----------

[](#basic-usage)

### 1. Import the Manager

[](#1-import-the-manager)

```
use LaravelEInvoiceSuite\EInvoiceManager;

```

### 2. Prepare Invoice Parameters

[](#2-prepare-invoice-parameters)

```
$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
        ]
    ]
];

```

### 3. Generate IRN (Invoice Reference Number)

[](#3-generate-irn-invoice-reference-number)

```
// 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'];
}

```

### 4. Generate EWay Bill

[](#4-generate-eway-bill)

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

```

### 5. Cancel EWay Bill

[](#5-cancel-eway-bill)

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

```

### 6. Cancel IRN

[](#6-cancel-irn)

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

```

---

Configuration
-------------

[](#configuration)

The configuration file `config/einvoice.php` allows you to set credentials for each provider. Example:

```
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'),
        ],
    ],
];

```

Troubleshooting
---------------

[](#troubleshooting)

- Ensure your credentials are correct in `.env` or `config/einvoice.php`.
- Check the API endpoints for each provider.
- Use try/catch to handle exceptions and log errors.

---

License
-------

[](#license)

MIT License. See LICENSE file for details.

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance82

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity29

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

91d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/54c0f2e12b305869d7411e320f90ba2c59521ca9ed70d3f0dc77f0bfef6311b1?d=identicon)[salmanAhmad143](/maintainers/salmanAhmad143)

---

Top Contributors

[![phpsollution](https://avatars.githubusercontent.com/u/97101765?v=4)](https://github.com/phpsollution "phpsollution (3 commits)")

### Embed Badge

![Health badge](/badges/salmanahmad143-laravel-einvoice-suite/health.svg)

```
[![Health](https://phpackages.com/badges/salmanahmad143-laravel-einvoice-suite/health.svg)](https://phpackages.com/packages/salmanahmad143-laravel-einvoice-suite)
```

###  Alternatives

[rapidez/core

Rapidez Core

1823.5k71](/packages/rapidez-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
