Download the PHP package johnstef/elorus-fuse-php without Composer
On this page you can find all versions of the php package johnstef/elorus-fuse-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download johnstef/elorus-fuse-php
More information about johnstef/elorus-fuse-php
Files in johnstef/elorus-fuse-php
Package elorus-fuse-php
Short Description PHP SDK for the Elorus Fuse e-invoicing API
License MIT
Informations about the package elorus-fuse-php
Elorus Fuse PHP SDK
A modern, typed PHP client for the Elorus Fuse Developer API (v1.0).
Elorus Fuse is a certified e-invoicing provider that lets businesses issue, send and archive electronic invoices, receipts and other commercial documents, with transmission to the Greek myDATA platform.
This SDK wraps the Elorus Fuse Developer API with strongly-typed request/response objects (DTOs), enums for myDATA code lists, and a pluggable HTTP layer.
Features
- 🧱 Typed DTOs for every request and response — no untyped arrays.
- 🔤 Enums for myDATA code lists (invoice types, payment methods, VAT exemptions, currencies, country codes, …).
- 🔌 Pluggable HTTP client — ships with a Guzzle adapter, or bring your own via
HttpClientInterface. - 🚨 Rich exceptions that expose field-level, integrity and myDATA validation errors.
- ✅ PHP 8.1+,
declare(strict_types=1), PHPStan level 6.
Requirements
- PHP 8.1 or higher
ext-json- An HTTP client. The bundled
GuzzleHttpClientadapter requiresguzzlehttp/guzzle(^7.0), or you can implement your own adapter.
Installation
If you plan to use the built-in Guzzle adapter, also install Guzzle:
Quick start
Configuration
The ElorusFuse constructor accepts:
| Parameter | Type | Required | Description |
|---|---|---|---|
apiKey |
string |
yes | Your API token. Sent as Authorization: Token <apiKey>. |
organizationVat |
string |
yes | Default organization VAT, sent as the X-Organization header for listings. |
httpClient |
?HttpClientInterface |
no | Custom HTTP client. Defaults to GuzzleHttpClient. |
baseUrl |
?string |
no | API base URL. Defaults to https://api.elorusfuse.gr. |
Usage
The client exposes four endpoint groups:
| Accessor | Covers |
|---|---|
$client->invoices() |
Create, list and email invoices; fetch QR codes. |
$client->providerSignatures() |
Request POS payment provider signatures. |
$client->paymentMethods() |
Submit payment methods for an already-issued invoice. |
$client->deliveryNotes() |
Cancel a delivery note. |
Create an invoice
List invoices with filters
You can also fetch the raw AADE/myDATA representation as a string:
Email an invoice
Fetch invoice QR codes
POS payment provider signature
Submit payment methods
Cancel a delivery note
Error handling
All API errors throw an exception that extends ElorusFuse\Exception\ElorusFuseException:
| Exception | HTTP status | Meaning |
|---|---|---|
ValidationException |
400 |
Field, integrity or myDATA validation failure. |
AuthorizationException |
403 |
Authentication/permission failure. |
ElorusFuseException |
other 4xx/5xx |
Any other API error. |
ValidationException exposes structured details so you can react to the exact failure:
Enums
The SDK ships typed enums for the myDATA code lists, including:
InvoiceType— invoice/document types (e.g.InvoiceType::SaleInvoice=1.1).PaymentMethodType— payment methods (e.g.Cash,PosEpos,IrisDirectPayments).PosProtocol— POS connection protocols (e.g.VivaCloud,CommonTcp).VatExemptionCategory,SpecialInvoiceCategory,MovePurpose,TransmissionFailure.Currency,CountryCode.
Each case carries the underlying myDATA value, accessible via ->value.
Custom HTTP client
To integrate with your framework's HTTP layer, implement ElorusFuse\HttpClient\HttpClientInterface:
Then pass your implementation to the client:
Development
License
Released under the MIT License.
All versions of elorus-fuse-php with dependencies
ext-json Version *