Skip to content

Employment Modifications (MA)

The MA forms are used to report modifications to employment terms. There are two variants:

  • WebMA: For regular (direct) employees
  • WebMAD: For borrowed/loaned employees

Overview

FormAction CodeDeclaration ModelUse Case
MAWebMAModificationDeclarationRegular employee modifications
MADWebMADBorrowedModificationDeclarationBorrowed employee modifications

When to Use MA/MAD

Use these forms when employment terms change:

  • Salary or wage changes
  • Work schedule modifications
  • Employment status changes (full-time to part-time)
  • Specialty or position changes
  • Work location changes
  • Collective agreement changes
  • Insurance modifications
  • Employment type changes (indefinite to fixed-term)

MA vs MAD

FeatureMA (WebMA)MAD (WebMAD)
Employee TypeDirect employeesBorrowed/loaned employees
Loan DetailsOptionalRequired
Salary Payment SourceNot applicableRequired
Modification TypesRequired arrayNot included
Settlement TypeAvailableAvailable
Reference PeriodAvailableAvailable

MA: Regular Employee Modifications

Basic Usage

php
use OxygenSuite\OxygenErgani\Http\Documents\Modification\EmploymentModification;
use OxygenSuite\OxygenErgani\Models\Modification\ModificationDeclaration;
use OxygenSuite\OxygenErgani\Models\Modification\ModificationTypeSelection;
use OxygenSuite\OxygenErgani\Enums\Sex;
use OxygenSuite\OxygenErgani\Enums\SettlementType;
use OxygenSuite\OxygenErgani\Enums\EmploymentStatus;
use OxygenSuite\OxygenErgani\Enums\WorkerType;
use OxygenSuite\OxygenErgani\Enums\EmploymentType;

$declaration = ModificationDeclaration::make()
    // Branch
    ->setBranchCode(0)
    ->setLaborInspectionServiceCode('12345')
    ->setDypaServiceCode('123456')

    // Personal Information
    ->setLastName('ΠΑΠΑΔΟΠΟΥΛΟΣ')
    ->setFirstName('ΙΩΑΝΝΗΣ')
    ->setFatherName('ΝΙΚΟΛΑΟΣ')
    ->setMotherName('ΜΑΡΙΑ')
    ->setBirthDate('15/03/1985')
    ->setSex(Sex::MALE)

    // Identity
    ->setNationality('001')
    ->setIdType('ΑΤ')
    ->setIdNumber('ΑΒ123456')

    // Tax/Insurance
    ->setAfm('123456789')
    ->setAmka('15038512345')

    // Modification Details
    ->setModificationDate('01/02/2025')
    ->setSettlementType(SettlementType::INDIVIDUAL)

    // Employment Details
    ->setSpecialtyCode('123456')
    ->setEmploymentStatus(EmploymentStatus::FULL)
    ->setWorkerType(WorkerType::EMPLOYEE)
    ->setEmploymentType(EmploymentType::INDEFINITE)

    // Updated Salary
    ->setGrossSalary(1800.00)
    ->setHourlyWage(10.50)
    ->setSalaryPaymentTiming('Μηνιαία καταβολή')

    // What changed (required)
    ->addModificationTypeSelection(
        ModificationTypeSelection::make()->setModificationTypeCode('01')  // e.g., Salary change
    );

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

MA-Specific Fields

Modification Details (Required)

MethodAPI FieldTypeRequiredDescription
setModificationDate()f_date_metabolhsstringYesEffective date (DD/MM/YYYY)
setSettlementType()f_eidos_dieuthethshsSettlementTypeNoSettlement arrangement
setSettlementTypeComment()f_eidos_dieuthethshs_commentsstringNoSettlement details (max 200 chars)
setReferencePeriodFrom()f_periodos_anaforas_fromstringNoReference period start
setReferencePeriodTo()f_periodos_anaforas_tostringNoReference period end

Modification Type Selections (Required)

Each MA submission must include at least one modification type:

php
use OxygenSuite\OxygenErgani\Models\Modification\ModificationTypeSelection;

$declaration
    ->addModificationTypeSelection(
        ModificationTypeSelection::make()->setModificationTypeCode('01')  // Salary
    )
    ->addModificationTypeSelection(
        ModificationTypeSelection::make()->setModificationTypeCode('03')  // Schedule
    );

// Or set all at once
$declaration->setModificationTypeSelections([
    ModificationTypeSelection::make()->setModificationTypeCode('01'),
    ModificationTypeSelection::make()->setModificationTypeCode('03'),
]);

Common Modification Type Codes

CodeDescription
01Salary change
02Position change
03Hours change
04Location change
05Employment status change

Salary and Employment

MethodAPI FieldTypeRequiredDescription
setExperienceYears()f_proipiresiaintNoYears of prior experience
setGrossSalary()f_apodoxesfloatNoGross monthly salary
setHourlyWage()f_hour_apodoxesfloatNoHourly wage rate
setSalaryPaymentTiming()f_xronos_katabolhsstringNoPayment timing (max 200 chars)

Employment Type

MethodAPI FieldTypeRequiredDescription
setEmploymentType()f_sxeshapasxolisisEmploymentTypeNoContract duration type
setFixedTermFrom()f_orismenou_apostringNoFixed-term start date
setFixedTermTo()f_orismenou_ewsstringNoFixed-term end date
setSpecialCase()f_special_caseSpecialCaseNoPublic sector classification

Collective Agreement

MethodAPI FieldTypeRequiredDescription
setCollectiveAgreementApplies()f_efarmostea_sillogiki_simbasiboolNoWhether CLA applies
setCollectiveAgreementComment()f_efarmostea_sillogiki_simbasi_commentsstringNoCLA details (max 200 chars)

Insurance

MethodAPI FieldTypeRequiredDescription
setPrimaryInsurance()f_kyria_asfalishstringNoPrimary insurance code
setAdditionalInsuranceBenefits()f_prosthetes_asfalistikes_paroxesstringNoAdditional benefits (max 200 chars)
setMandatoryTraining()f_ipoxreotiki_katartisiboolNoWhether training is mandatory

DYPA Programs

MethodAPI FieldTypeRequiredDescription
setDypaPlacement()f_topothetisioaedboolNoPlaced via DYPA
setDypaProgram()f_programaoaedstringNoDYPA program code

Trial Period

MethodAPI FieldTypeRequiredDescription
setTrialPeriod()f_trial_periodboolNoWhether trial period
setTrialPeriodEndDate()f_trial_date_tostringNoTrial period end date

Acceptance and Files

MethodAPI FieldTypeRequiredDescription
setBasicsAcceptance()f_basics_acceptanceBasicsAcceptanceNoTerms acceptance method
setAcceptanceFile()f_filestringNoSigned acceptance (Base64 PDF)
setRotationDecisionFile()f_epibolh_filestringNoRotation decision (Base64 PDF)

MAD: Borrowed Employee Modifications

Basic Usage

php
use OxygenSuite\OxygenErgani\Http\Documents\Modification\BorrowedEmploymentModification;
use OxygenSuite\OxygenErgani\Models\Modification\BorrowedModificationDeclaration;
use OxygenSuite\OxygenErgani\Enums\Sex;
use OxygenSuite\OxygenErgani\Enums\LoanType;
use OxygenSuite\OxygenErgani\Enums\SalaryPaymentSource;
use OxygenSuite\OxygenErgani\Enums\SettlementType;
use OxygenSuite\OxygenErgani\Enums\EmploymentStatus;
use OxygenSuite\OxygenErgani\Enums\WorkerType;

$declaration = BorrowedModificationDeclaration::make()
    // Branch
    ->setBranchCode(0)
    ->setLaborInspectionServiceCode('12345')
    ->setDypaServiceCode('123456')

    // Personal Information
    ->setLastName('ΓΕΩΡΓΙΟΥ')
    ->setFirstName('ΜΑΡΙΑ')
    ->setFatherName('ΠΕΤΡΟΣ')
    ->setMotherName('ΑΝΝΑ')
    ->setBirthDate('22/08/1990')
    ->setSex(Sex::FEMALE)

    // Identity
    ->setNationality('001')
    ->setIdType('ΑΤ')
    ->setIdNumber('ΖΗ789012')

    // Tax/Insurance
    ->setAfm('987654321')
    ->setAmka('22089012345')

    // Modification Details
    ->setModificationDate('01/02/2025')
    ->setSettlementType(SettlementType::INDIVIDUAL)

    // Loan Details (REQUIRED for MAD)
    ->setLoanType(LoanType::GENUINE)
    ->setLoanStartDate('01/01/2024')
    ->setLoanEndDate('31/12/2025')
    ->setBorrowingCompanyAfm('555555555')
    ->setBorrowingCompanyName('BORROWING COMPANY LTD')

    // Salary Payment Source (REQUIRED for MAD)
    ->setSalaryPaymentSource(SalaryPaymentSource::DIRECT_EMPLOYER)

    // Employment Details
    ->setSpecialtyCode('234567')
    ->setEmploymentStatus(EmploymentStatus::FULL)
    ->setWorkerType(WorkerType::EMPLOYEE);

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

MAD-Specific Fields

Loan Details (Required)

MethodAPI FieldTypeRequiredDescription
setLoanType()f_borrow_typeLoanTypeYesGenuine or EPA
setLoanStartDate()f_borrow_date_fromstringYesLoan start date
setLoanEndDate()f_borrow_date_tostringYesLoan end date
setBorrowingCompanyAfm()f_borrow_company_afmstringYesBorrower's AFM
setBorrowingCompanyName()f_borrow_company_eponimiastringYesBorrower's name

Salary Payment Source (Required)

MethodAPI FieldTypeRequiredDescription
setSalaryPaymentSource()f_kataboli_apodoxonSalaryPaymentSourceYesWho pays wages

Settlement/Reference Period

MethodAPI FieldTypeRequiredDescription
setSettlementType()f_eidos_dieuthethshsSettlementTypeNoSettlement arrangement
setSettlementTypeComment()f_eidos_dieuthethshs_commentsstringNoSettlement details (max 200 chars)
setReferencePeriodFrom()f_periodos_anaforas_fromstringNoReference period start
setReferencePeriodTo()f_periodos_anaforas_tostringNoReference period end

Salary Fields

When SalaryPaymentSource::INDIRECT_EMPLOYER is set, you should also provide salary details:

php
->setSalaryPaymentSource(SalaryPaymentSource::INDIRECT_EMPLOYER)
->setGrossSalary(1800.00)
->setHourlyWage(10.50)

Enums

SettlementType

CaseValueEnglishGreek
COLLECTIVE0Collective agreementΣυλλογική σύμβαση
INDIVIDUAL1Individual agreementΑτομική συμφωνία
NO2No settlementΧωρίς διευθέτηση

SalaryPaymentSource

CaseValueEnglishGreek
DIRECT_EMPLOYER0Direct employer/EPAΆμεσος εργοδότης/ΕΠΑ
INDIRECT_EMPLOYER1Indirect employerΈμμεσος εργοδότης

EmploymentType

CaseValueEnglishGreek
INDEFINITE0Indefinite termΑορίστου χρόνου
FIXED_TERM1Fixed termΟρισμένου χρόνου
PROJECT2Project-basedΈργου
BORROWED3Borrowed employeeΔανειζόμενος

LoanType

CaseValueEnglishGreek
GENUINE0Genuine borrowingΓνήσιος δανεισμός
EPA1Temporary Employment AgencyΕ.Π.Α.

Complete Examples

MA: Salary Increase

php
use OxygenSuite\OxygenErgani\Http\Documents\Modification\EmploymentModification;
use OxygenSuite\OxygenErgani\Models\Modification\ModificationDeclaration;
use OxygenSuite\OxygenErgani\Models\Modification\ModificationTypeSelection;
use OxygenSuite\OxygenErgani\Enums\Sex;
use OxygenSuite\OxygenErgani\Enums\SettlementType;
use OxygenSuite\OxygenErgani\Enums\EmploymentStatus;
use OxygenSuite\OxygenErgani\Enums\WorkerType;
use OxygenSuite\OxygenErgani\Enums\EmploymentType;

$declaration = ModificationDeclaration::make()
    // Branch
    ->setBranchCode(0)
    ->setLaborInspectionServiceCode('12345')
    ->setDypaServiceCode('123456')
    ->setBranchActivityCode('4711')

    // Personal
    ->setLastName('ΑΝΤΩΝΙΟΥ')
    ->setFirstName('ΔΗΜΗΤΡΙΟΣ')
    ->setFatherName('ΓΕΩΡΓΙΟΣ')
    ->setMotherName('ΕΛΕΝΗ')
    ->setBirthDate('10/04/1988')
    ->setSex(Sex::MALE)

    // Identity
    ->setNationality('001')
    ->setIdType('ΑΤ')
    ->setIdNumber('ΘΙ456789')
    ->setIdIssuingAuthority('Α.Τ. ΘΕΣΣΑΛΟΝΙΚΗΣ')

    // Tax/Insurance
    ->setAfm('444555666')
    ->setTaxOffice('1234')
    ->setAmka('10048812345')

    // Modification
    ->setModificationDate('01/02/2025')
    ->setSettlementType(SettlementType::INDIVIDUAL)

    // Employment stays the same
    ->setSpecialtyCode('345678')
    ->setEmploymentStatus(EmploymentStatus::FULL)
    ->setWorkerType(WorkerType::EMPLOYEE)
    ->setEmploymentType(EmploymentType::INDEFINITE)

    // Updated salary (the change)
    ->setGrossSalary(2200.00)  // Was 1800.00
    ->setHourlyWage(12.50)
    ->setSalaryPaymentTiming('Μηνιαία καταβολή στις 25 εκάστου')

    // Mark what changed
    ->addModificationTypeSelection(
        ModificationTypeSelection::make()->setModificationTypeCode('01')  // Salary modification
    )

    ->setComments('Αύξηση αποδοχών λόγω προαγωγής');

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

MA: Full-Time to Part-Time Change

php
$declaration = ModificationDeclaration::make()
    // ... branch and personal fields ...

    ->setModificationDate('01/03/2025')
    ->setSettlementType(SettlementType::INDIVIDUAL)

    // Change to part-time
    ->setEmploymentStatus(EmploymentStatus::PART)
    ->setWorkerType(WorkerType::EMPLOYEE)
    ->setEmploymentType(EmploymentType::INDEFINITE)

    // Updated work hours
    ->setWeekHours(25.0)
    ->setFullEmploymentHours(40.0)
    ->setWeekDays(5)

    // Adjusted salary
    ->setGrossSalary(1125.00)  // Proportional
    ->setHourlyWage(11.25)

    // Modification types
    ->addModificationTypeSelection(
        ModificationTypeSelection::make()->setModificationTypeCode('02')  // Employment status
    )
    ->addModificationTypeSelection(
        ModificationTypeSelection::make()->setModificationTypeCode('01')  // Salary
    )

    ->setComments('Μετατροπή σε μερική απασχόληση κατόπιν αιτήματος εργαζομένου');

MA: Indefinite to Fixed-Term Conversion

php
$declaration = ModificationDeclaration::make()
    // ... branch and personal fields ...

    ->setModificationDate('01/01/2025')

    // Change employment type
    ->setEmploymentType(EmploymentType::FIXED_TERM)
    ->setFixedTermFrom('01/01/2025')
    ->setFixedTermTo('30/06/2025')

    // Mark the change
    ->addModificationTypeSelection(
        ModificationTypeSelection::make()->setModificationTypeCode('04')  // Employment type
    );

MA: Position Change with New Specialty

php
$declaration = ModificationDeclaration::make()
    // ... branch and personal fields ...

    ->setModificationDate('15/02/2025')
    ->setSettlementType(SettlementType::COLLECTIVE)
    ->setSettlementTypeComment('Εφαρμογή ΣΣΕ εμπορίου')

    // New specialty/position
    ->setSpecialtyCode('567890')  // New code
    ->setSpecialtyDescription('Υπεύθυνος Πωλήσεων')
    ->setHasResponsiblePosition(true)

    // Salary adjustment
    ->setGrossSalary(2500.00)
    ->setExperienceYears(8)

    // Applied collective agreement
    ->setCollectiveAgreementApplies(true)
    ->setCollectiveAgreementComment('Κλαδική ΣΣΕ Εμπορικών Υπαλλήλων')

    // Mark changes
    ->addModificationTypeSelection(
        ModificationTypeSelection::make()->setModificationTypeCode('05')  // Specialty
    )
    ->addModificationTypeSelection(
        ModificationTypeSelection::make()->setModificationTypeCode('01')  // Salary
    );

MAD: Modify Borrowed Employee Schedule

php
use OxygenSuite\OxygenErgani\Http\Documents\Modification\BorrowedEmploymentModification;
use OxygenSuite\OxygenErgani\Models\Modification\BorrowedModificationDeclaration;
use OxygenSuite\OxygenErgani\Enums\Sex;
use OxygenSuite\OxygenErgani\Enums\LoanType;
use OxygenSuite\OxygenErgani\Enums\SalaryPaymentSource;
use OxygenSuite\OxygenErgani\Enums\EmploymentStatus;
use OxygenSuite\OxygenErgani\Enums\WorkerType;

$declaration = BorrowedModificationDeclaration::make()
    // Branch (borrower's branch)
    ->setBranchCode(0)
    ->setLaborInspectionServiceCode('12345')
    ->setDypaServiceCode('123456')
    ->setBranchActivityCode('4711')

    // Personal
    ->setLastName('ΝΙΚΟΛΑΟΥ')
    ->setFirstName('ΕΛΕΝΗ')
    ->setFatherName('ΚΩΝΣΤΑΝΤΙΝΟΣ')
    ->setMotherName('ΣΟΦΙΑ')
    ->setBirthDate('08/11/1992')
    ->setSex(Sex::FEMALE)

    // Identity
    ->setNationality('001')
    ->setIdType('ΑΤ')
    ->setIdNumber('ΑΜ123456')
    ->setIdIssuingAuthority('Α.Τ. ΑΘΗΝΩΝ')

    // Tax/Insurance
    ->setAfm('777888999')
    ->setTaxOffice('1234')
    ->setAmka('08119212345')

    // Modification date
    ->setModificationDate('01/02/2025')

    // Loan details (required)
    ->setLoanType(LoanType::GENUINE)
    ->setLoanStartDate('01/06/2024')
    ->setLoanEndDate('31/05/2025')
    ->setBorrowingCompanyAfm('333444555')
    ->setBorrowingCompanyName('LENDING COMPANY S.A.')

    // Salary payment (required)
    ->setSalaryPaymentSource(SalaryPaymentSource::DIRECT_EMPLOYER)

    // Employment details
    ->setSpecialtyCode('456789')
    ->setEmploymentStatus(EmploymentStatus::FULL)
    ->setWorkerType(WorkerType::EMPLOYEE)

    // Work schedule change
    ->setWeekHours(40.0)
    ->setFullEmploymentHours(40.0)
    ->setWeekDays(5)
    ->setWorkCardRequired(true)

    ->setComments('Αλλαγή ωραρίου δανειζόμενου εργαζομένου');

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

MAD: EPA Worker Salary Paid by Indirect Employer

php
$declaration = BorrowedModificationDeclaration::make()
    // ... branch and personal fields ...

    ->setModificationDate('01/02/2025')

    // EPA loan arrangement
    ->setLoanType(LoanType::EPA)
    ->setLoanStartDate('01/01/2024')
    ->setLoanEndDate('31/12/2024')
    ->setBorrowingCompanyAfm('111222333')
    ->setBorrowingCompanyName('EPA AGENCY LTD')

    // Salary paid by indirect employer (client)
    ->setSalaryPaymentSource(SalaryPaymentSource::INDIRECT_EMPLOYER)
    ->setGrossSalary(1600.00)
    ->setHourlyWage(9.50)
    ->setSalaryPaymentTiming('Μηνιαία')

    // Applied collective agreement
    ->setCollectiveAgreementApplies(true)
    ->setCollectiveAgreementComment('ΣΣΕ ΕΠΑ');

Common Fields (Both MA and MAD)

Both declaration types inherit from the same base class and share these common field groups:

DateTime Support

All date fields accept both DateTime objects and strings. When a DateTime is passed, it's automatically formatted to DD/MM/YYYY:

php
$declaration->setBirthDate('15/01/1990');           // String
$declaration->setBirthDate(new DateTime('1990-01-15')); // DateTime

Branch/Location

MethodAPI FieldTypeRequiredDescription
setBranchCode()f_aa_pararthmatosintYesBranch sequence number (0 for HQ)
setRelatedProtocol()f_rel_protocolstringNoRelated submission protocol
setRelatedDate()f_rel_datestringNoRelated submission date
setLaborInspectionServiceCode()f_ypiresia_sepestringYesSEPE service code
setDypaServiceCode()f_ypiresia_oaedstringYesDYPA/OAED service code
setBranchActivityCode()f_kad_pararthmatosstringNoActivity code (KAD)
setKallikratisCode()f_kallikratis_pararthmatosstringNoMunicipality code

Personal Information

MethodAPI FieldTypeRequiredDescription
setLastName()f_eponymostringYesLast name (uppercase Greek)
setFirstName()f_onomastringYesFirst name (uppercase Greek)
setFatherName()f_onoma_patrosstringYesFather's first name
setMotherName()f_onoma_mitrosstringYesMother's first name
setBirthDate()f_birthdatestringYesBirth date (DD/MM/YYYY)
setSex()f_sexSexYesSex (1=Male, 2=Female)
setMaritalStatus()f_marital_statusMaritalStatusNoMarital status
setNumberOfChildren()f_arithmos_teknonintNoNumber of children

Identity/Nationality

MethodAPI FieldTypeRequiredDescription
setNationality()f_yphkoothtastringYesNationality code
setIdType()f_typos_taytothtasstringYesID document type
setIdNumber()f_ar_taytothtasstringYesID document number
setIdIssuingAuthority()f_ekdousa_arxhstringNoIssuing authority
setIdIssueDate()f_date_ekdosisstringNoIssue date
setIdExpiryDate()f_date_ekdosis_lixistringNoExpiry date

Tax/Insurance

MethodAPI FieldTypeRequiredDescription
setAfm()f_afmstringYesTax ID (9 digits)
setTaxOffice()f_doystringNoTax office code
setAmika()f_amikastringNoIKA number
setAmka()f_amkastringYesSocial security number
setUnemploymentCode()f_code_anergiasstringNoUnemployment registration code
setMinorBookNumber()f_ar_vivliou_anilikoustringNoMinor work permit book number

Work Organization

MethodAPI FieldTypeRequiredDescription
setDigitalWorkOrganization()f_working_time_digital_organizationboolNoDigital scheduling
setUnpredictableSchedule()f_mh_problepsimo_programmaboolNoVariable schedule
setOnDemandDaysHours()f_paraggelia_hmeres_hoursstringNoOn-demand scheduling
setOnDemandMinNotification()f_paraggelia_min_notificationstringNoMinimum notice period
setWeekHours()f_week_hoursfloatNoWeekly hours
setFullEmploymentHours()f_full_employment_hoursfloatNoFull-time equivalent hours
setWeekDays()f_week_daysintNoWork days per week
setFlexibleArrivalMinutes()f_euelikto_wrario_minutesintNoFlexible arrival window
setWorkCardRequired()f_working_cardboolNoWork card mandatory
setBreakMinutes()f_dialeimma_minutesintNoBreak duration
setBreakWithinSchedule()f_dialeimma_entos_wrariouboolNoBreak within work hours

Work Location

MethodAPI FieldTypeRequiredDescription
setWorkLocation()f_topos_ergasiasstringNoWork location code
setWorkLocationComment()f_topos_ergasias_commentsstringNoLocation details

Employment Classification

MethodAPI FieldTypeRequiredDescription
setEmploymentStatus()f_kathestosapasxolisisEmploymentStatusNoFull/Part-time
setWorkerType()f_xaraktirismosWorkerTypeNoWorker/Employee
setHasResponsiblePosition()f_responsible_positionboolNoManagerial position

Specialty

MethodAPI FieldTypeRequiredDescription
setSpecialtyCode()f_eidikothtastringNoSpecialty code
setSpecialtyDescription()f_eidikothta_analstringNoSpecialty description

Supplementary Insurance (MA only)

php
use OxygenSuite\OxygenErgani\Models\Hiring\SupplementaryInsuranceSelection;

$declaration->addSupplementaryInsuranceSelection(
    SupplementaryInsuranceSelection::make()->setCode('201')
);

Response Handling

php
// MA
$response = (new EmploymentModification())->handle($declaration);

// MAD
$response = (new BorrowedEmploymentModification())->handle($declaration);

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

Retrieve PDF

After a successful submission, retrieve the official PDF document:

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

// Save to file
file_put_contents('modification.pdf', base64_decode($pdfBase64));

Best Practices

  1. Specify What Changed: Always include modification type selections (MA) to document exactly what was modified.

  2. Complete Loan Details: For MAD, always provide all loan details even if unchanged.

  3. Salary Payment Source: For MAD, correctly indicate who pays the salary.

  4. Reference Period: When applicable (MA), specify the reference period for the changes.

  5. Settlement Type: Document whether changes are via collective agreement or individual negotiation.

  6. Keep Original E3: Modifications reference the original hiring — ensure the E3 submission exists.


Important Notes

  1. MA vs MAD: Use MA for direct employees, MAD for borrowed/loaned employees.

  2. Modification Types: MA requires at least one modification type selection.

  3. Loan Details: MAD requires loan details; they're optional for MA.

  4. Salary Payment: MAD requires specifying who pays the salary.

  5. Common Base: Both forms share the same personal information and identity fields.

  6. No Form File: MAD doesn't have f_file — only foreign/young files.


See Also

Released under the MIT License.