Skip to content

Pre-Announcement Exemption (ExProan)

The ExProan form is used to declare an exemption from pre-announcement obligations. Businesses can declare that a specific branch is excluded from certain pre-announcement requirements for a given month.

Overview

PropertyValue
Document ClassPreAnnouncementExemption
Action CodeExProan
Declaration ModelExemptionDeclaration
Use CaseDeclaring exemption from pre-announcement obligations

Basic Usage

php
use OxygenSuite\OxygenErgani\Http\Documents\PreAnnouncement\PreAnnouncementExemption;
use OxygenSuite\OxygenErgani\Models\PreAnnouncement\ExemptionDeclaration;

$declaration = ExemptionDeclaration::make()
    ->setBranchCode(0)
    ->setIsExcluded(true)
    ->setMonth(1)
    ->setYear(2025)
    ->setComments('Εξαίρεση λόγω αναστολής λειτουργίας');

$response = (new PreAnnouncementExemption())->handle($declaration);

Via Ergani Facade

php
use OxygenSuite\OxygenErgani\Ergani;
use OxygenSuite\OxygenErgani\Models\PreAnnouncement\ExemptionDeclaration;

$ergani = new Ergani($accessToken);

$declaration = ExemptionDeclaration::make()
    ->setBranchCode(0)
    ->setIsExcluded(true)
    ->setMonth(1)
    ->setYear(2025);

$responses = $ergani->sendPreAnnouncementExemption($declaration);

Field Reference

MethodAPI FieldTypeRequiredDescription
setBranchCode()f_aa_pararthmatosint|stringYesBranch sequence number (0 for HQ)
setIsExcluded()f_is_excludedstring|boolYesWhether the branch is excluded (0/1)
setMonth()f_monthstring|intYesMonth (1-12, auto zero-padded)
setYear()f_yearstring|intYesYear (e.g., 2025)
setComments()f_commentsstringNoAdditional comments

Month Auto-Padding

The setMonth() method automatically zero-pads single-digit months:

php
$declaration->setMonth(1);   // Stored as "01"
$declaration->setMonth(12);  // Stored as "12"

Response Handling

php
$response = (new PreAnnouncementExemption())->handle($declaration);

foreach ($response as $result) {
    echo $result->id;              // Unique submission ID
    echo $result->protocol;        // Protocol number
    echo $result->submissionDate->format('d/m/Y H:i:s');
}

Retrieve PDF

After a successful submission, retrieve the official PDF document:

php
$pdfBase64 = (new PreAnnouncementExemption())->pdf(
    $response[0]->protocol,
    $response[0]->submissionDate
);

// Save to file
file_put_contents('pre-announcement-exemption.pdf', base64_decode($pdfBase64));

Testing with Factories

php
use OxygenSuite\OxygenErgani\Models\PreAnnouncement\ExemptionDeclaration;

$declaration = ExemptionDeclaration::factory()->make();

// With state methods
$declaration = ExemptionDeclaration::factory()
    ->mainBranch()
    ->excluded()
    ->forPeriod(2, 2026)
    ->make();

// Not excluded
$declaration = ExemptionDeclaration::factory()
    ->notExcluded()
    ->make();

See Also

Released under the MIT License.