PHPackages                             oxygensuite/digital-client-list - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. oxygensuite/digital-client-list

ActivePackage[Utility &amp; Helpers](/categories/utility)

oxygensuite/digital-client-list
===============================

A PHP package for managing the Digital Client List (DCL) by AADE (IARP) in Greece.

v2.0.1(3mo ago)151371MITPHPPHP ^8.1

Since May 18Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/oxygensuite/digital-client-list)[ Packagist](https://packagist.org/packages/oxygensuite/digital-client-list)[ RSS](/packages/oxygensuite-digital-client-list/feed)WikiDiscussions master Synced today

READMEChangelog (3)Dependencies (12)Versions (5)Used By (0)

Digital Client List (DCL) Package
=================================

[](#digital-client-list-dcl-package)

A comprehensive package for seamlessly interacting with Greece's Digital Client List (DCL) system, enabling automated submissions.

Description
-----------

[](#description)

This PHP package provides a simple and efficient way to interact with the Digital Client List (DCL) system in Greece. It allows you to create, update, correlate, and cancel digital clients in compliance with the AADE (Independent Authority for Public Revenue) requirements.

Documentation
-------------

[](#documentation)

- myDATA webpage: [AADE myDATA](https://www.aade.gr/mydata)
- DCL documentation (PDF): [AADE DCL REST API v1.1](https://www.aade.gr/sites/default/files/2025-06/DCL%20API%20Documentation%20v1.1_official_erp.pdf)

Requirements
------------

[](#requirements)

To use this package, you will need first a `aade id` and a `Subscription key`. You can get these credentials by signing up to myDATA rest api.

- Development: [Sign up to myDATA development api](https://mydata-dev-register.azurewebsites.net/)
- Production: [Sign up to myDATA production api](https://www.aade.gr/mydata)
- PHP 8.1 or higher
- ext-dom extension
- GuzzleHttp 7.9 or higher

VersionPHPmyDATASupport^v2.x8.1v1.1.0Active^v1.x8.1v1.0.0EndedInstallation
------------

[](#installation)

You can install the package via composer:

```
composer require oxygensuite/digital-client-list
```

Usage
-----

[](#usage)

### Initialization

[](#initialization)

Before using any functionality, you need to initialize the DCL client with your credentials:

```
use OxygenSuite\DigitalClient\Http\DCLRequest;

// Initialize with your credentials
$env = 'dev'; // 'production' for production environment
$userId = 'your-user-id';
$subscriptionKey = 'your-subscription-key';

DCLRequest::init($userId, $subscriptionKey, $env);
```

### Create a Digital Client

[](#create-a-digital-client)

To create a new digital client:

```
use OxygenSuite\DigitalClient\Enums\ClientServiceType;
use OxygenSuite\DigitalClient\Http\SendClient;
use OxygenSuite\DigitalClient\Models\DigitalClient;
use OxygenSuite\DigitalClient\Models\Workshop;

// Create a new digital client
$dcl = DigitalClient::create()
    ->setClientServiceType(ClientServiceType::WORKSHOP)
    ->setBranch(1)
    ->setComments('Your comments here')
    ->setUseCase(
        (new Workshop())
            ->setVehicleRegistrationNumber('REGISTRATION_NUMBER')
            ->setVehicleCategory('CATEGORY')
            ->setVehicleFactory('FACTORY'),
    );

// Send the client to DCL
$request = new SendClient();
try {
    $responses = $request->handle($dcl);

    foreach ($responses as $response) {
        if ($response->isSuccessful()) {
            // Get the new client DCL ID
            $dclId = $response->getNewClientDclID();
            // Process successful response
        } else {
            // Handle errors
            foreach ($response->getErrors() as $error) {
                // Process error
            }
        }
    }
} catch (DCLException $e) {
    // Handle communication error
    echo "Communication error: " . $e->getMessage();
}
```

### Update a Digital Client

[](#update-a-digital-client)

To update an existing digital client:

```
use OxygenSuite\DigitalClient\Enums\ClientServiceType;
use OxygenSuite\DigitalClient\Enums\InvoiceType;
use OxygenSuite\DigitalClient\Enums\ProvidedCategoryServiceType;
use OxygenSuite\DigitalClient\Http\UpdateClient;
use OxygenSuite\DigitalClient\Models\DigitalClient;

// Update an existing digital client
$updateClient = DigitalClient::update()
    ->setInitialDclId('your-dcl-id')
    ->setClientServiceType(ClientServiceType::WORKSHOP)
    ->setEntryCompletion(true)
    ->setAmount(150.25)
    ->setIsDiffVehReturnLocation(false)
    ->setProvidedServiceCategory(ProvidedCategoryServiceType::WORK_WITH_PARTS)
    ->setInvoiceKind(InvoiceType::RETAIL)
    ->setComments('Update comments');

// Send the update request
$request = new UpdateClient();
try {
    $responses = $request->handle($updateClient);

    foreach ($responses as $response) {
        if ($response->isSuccessful()) {
            // Get the updated client DCL ID
            $updatedDclId = $response->getUpdatedClientDclID();
            // Process successful response
        } else {
            // Handle errors
            foreach ($response->getErrors() as $error) {
                // Process error
            }
        }
    }
} catch (DCLException $e) {
    // Handle communication error
    echo "Communication error: " . $e->getMessage();
}
```

### Correlate a Digital Client with an invoice

[](#correlate-a-digital-client-with-an-invoice)

To correlate a digital client with another entity:

```
use OxygenSuite\DigitalClient\Http\ClientCorrelations;
use OxygenSuite\DigitalClient\Models\ClientCorrelation;

// Create a correlation
$correlateClient = (new ClientCorrelation())
    ->setMark('your-mark-number')
    ->addCorrelatedDCLid('your-dcl-id');

// Send the correlation request
$request = new ClientCorrelations();
try {
    $responses = $request->handle($correlateClient);

    if ($responses->isSuccessful()) {
        // Process successful response
        $correlateId = $response->getClientCorrelationId();
    } else {
        // Handle errors
    }
} catch (DCLException $e) {
    // Handle communication error
    echo "Communication error: " . $e->getMessage();
}
```

### Cancel a Digital Client

[](#cancel-a-digital-client)

To cancel a digital client:

```
use OxygenSuite\DigitalClient\Http\CancelClient;

// Create a cancel request
$request = new CancelClient();
try {
    $responses = $request->handle('your-dcl-id');
    $response = $responses->first(); //There is only one response

    if ($response->isSuccessful()) {
        // Get the cancellation ID
        $cancellationId = $response->getCancellationID();
        // Process successful response
    } else {
        // Handle errors
        foreach ($response->getErrors() as $error) {
            // Process error
        }
    }
} catch (DCLException $e) {
    // Handle communication error
    echo "Communication error: " . $e->getMessage();
}
```

### Retrieve Digital Clients

[](#retrieve-digital-clients)

To retrieve sent data:

```
use OxygenSuite\DigitalClient\Http\RequestClients;

$request = new RequestClients();

try {
    $response = $request->handle(100000000028013);

    print_r($response->toArray());
} catch (DCLException $e) {
    echo $e->getMessage();
}
```

Available methods
-----------------

[](#available-methods)

MethodAvailability**SendClient** - New Digital Client List registration✅**UpdateClient** - Change a Digital Client List Registration✅**CancelClient** - Cancel a Digital Client List registration✅**ClientCorrelations** - Correlate a Digital Client List Registration(s) with Tax Document✅**RequestClients** - Retrieve transmitted registrations✅Upgrading
---------

[](#upgrading)

When upgrading from v1.x to v2.x, please be aware of breaking changes. The most significant change is in the `ClientServiceType` enum, where `LEASING` has been renamed to `RENTAL`.

For detailed upgrade instructions, please refer to the [UPGRADE.md](UPGRADE.md) file.

Special Thanks
--------------

[](#special-thanks)

This package was inspired by the excellent work done in the [firebed/aade-mydata](https://github.com/firebed/aade-mydata) package. I would like to express my gratitude to the developers of that project, as some of the core code and concepts from their implementation have been adapted and utilized in this package.

License
-------

[](#license)

This package is open-sourced software licensed under the MIT license.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance81

Actively maintained with recent releases

Popularity20

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 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

Every ~103 days

Total

4

Last Release

101d ago

Major Versions

v1.0.1 → v2.0.02025-06-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/7cc799a66d4c20333f69a890ad17be2e0cbf68a535e9785c1c442c2b07e6a713?d=identicon)[isarantoglou](/maintainers/isarantoglou)

---

Top Contributors

[![isarantoglou](https://avatars.githubusercontent.com/u/98898337?v=4)](https://github.com/isarantoglou "isarantoglou (10 commits)")

---

Tags

aadedcldigital-client-listmydataaademyDATAdcldigital client listΨηφιακό Πελατολόγιο

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/oxygensuite-digital-client-list/health.svg)

```
[![Health](https://phpackages.com/badges/oxygensuite-digital-client-list/health.svg)](https://phpackages.com/packages/oxygensuite-digital-client-list)
```

###  Alternatives

[aws/aws-sdk-php

AWS SDK for PHP - Use Amazon Web Services in your PHP project

6.3k543.5M2.6k](/packages/aws-aws-sdk-php)[neuron-core/neuron-ai

The PHP Agentic Framework.

2.0k656.1k38](/packages/neuron-core-neuron-ai)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3741.3M47](/packages/tencentcloud-tencentcloud-sdk-php)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

751291.4k43](/packages/civicrm-civicrm-core)[spatie/laravel-export

Create a static site bundle from a Laravel app

674146.0k6](/packages/spatie-laravel-export)[oat-sa/tao-core

TAO core extension

66143.7k122](/packages/oat-sa-tao-core)

PHPackages © 2026

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