Skip to content

Borrowed Employee (E3PD) ​

The E3PD form is used when you (the indirect employer) are receiving a borrowed employee from another company (the direct employer). This form is submitted by the company where the employee will actually work.

Overview ​

PropertyValue
Document ClassHiringWithLending
Action CodeWebE3PD
Declaration ModelLendingDeclaration
Use CaseReceiving a borrowed employee from another company

When to Use E3PD ​

Use E3PD when:

  • You are receiving an employee on loan from another company
  • You are receiving workers from a Temporary Employment Agency (EPA)
  • The employee will work at your premises but remains employed by the lending company

E3D vs E3PD

  • E3D: Submitted by the direct employer (lender)
  • E3PD: Submitted by the indirect employer (borrower)

Both forms are required for a lending arrangement to be complete.

Basic Usage ​

php
use OxygenSuite\OxygenErgani\Http\Documents\Hiring\HiringWithLending;
use OxygenSuite\OxygenErgani\Models\Hiring\LendingDeclaration;
use OxygenSuite\OxygenErgani\Enums\Sex;
use OxygenSuite\OxygenErgani\Enums\EmploymentType;
use OxygenSuite\OxygenErgani\Enums\EmploymentStatus;
use OxygenSuite\OxygenErgani\Enums\WorkerType;

$declaration = LendingDeclaration::make()
    // Branch (your branch where employee will work)
    ->setBranchCode(0)
    ->setLaborInspectionServiceCode('12345')
    ->setDypaServiceCode('123456')

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

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

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

    // Employment at your site
    ->setHiringDate('01/02/2025')
    ->setStartTime('09:00')
    ->setEndTime('17:00')
    ->setWeeklyHours(40.0)
    ->setSpecialtyCode('123456')
    ->setGrossSalary(1500.00)
    ->setEmploymentType(EmploymentType::BORROWED)
    ->setEmploymentStatus(EmploymentStatus::FULL)
    ->setWorkerType(WorkerType::EMPLOYEE)

    // Lending arrangement - who is lending the employee
    ->setLendingDateFrom('01/02/2025')
    ->setLendingDateTo('30/06/2025')
    ->setDirectEmployerAfm('999999999')
    ->setDirectEmployerName('LENDER COMPANY LTD')

    // Insurance
    ->setMainInsurance('101')

    // Acceptance (required for E3PD)
    ->setBasicsAcceptance(true)
    ->setAcceptanceFile(base64_encode(file_get_contents('acceptance.pdf')));

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

E3PD-Specific Fields ​

In addition to common fields, E3PD includes:

Lending Arrangement (Required) ​

MethodAPI FieldTypeRequiredDescription
setLendingDateFrom()f_borrow_date_fromstringYesLending start date (DD/MM/YYYY)
setLendingDateTo()f_borrow_date_tostringYesLending end date (DD/MM/YYYY)
setDirectEmployerAfm()f_borrow_company_afmstringYesLender's AFM (9 digits)
setDirectEmployerName()f_borrow_company_eponimiastringYesLender's company name (max 230 chars)

Employment Type & Salary ​

Same as E3N, but EmploymentType should typically be BORROWED:

MethodAPI FieldTypeRequiredDescription
setHiringDate()f_proslipsidatestringYesStart date at your company
setGrossSalary()f_apodoxesfloatYesMonthly gross salary
setEmploymentType()f_sxeshapasxolisisEmploymentTypeYesTypically BORROWED (3)

Trial Period ​

Same as E3N - see New Hire.

Insurance ​

Same as E3N - see New Hire.

DYPA Programs ​

Same as E3N - see New Hire.

Wage Payment ​

Same as E3N - see New Hire.

Acceptance Files (Required) ​

MethodAPI FieldTypeRequiredDescription
setBasicsAcceptance()f_basics_acceptanceboolYesEssential terms accepted
setAcceptanceFile()f_filestringYesBase64 PDF of acceptance form
setContractFile()f_file_symbashstringNoBase64 PDF of contract

Complete Examples ​

Receiving Borrowed Employee ​

php
use OxygenSuite\OxygenErgani\Http\Documents\Hiring\HiringWithLending;
use OxygenSuite\OxygenErgani\Models\Hiring\LendingDeclaration;
use OxygenSuite\OxygenErgani\Enums\Sex;
use OxygenSuite\OxygenErgani\Enums\EmploymentType;
use OxygenSuite\OxygenErgani\Enums\EmploymentStatus;
use OxygenSuite\OxygenErgani\Enums\WorkerType;
use OxygenSuite\OxygenErgani\Enums\WeekDays;

$declaration = LendingDeclaration::make()
    // Your branch
    ->setBranchCode(0)
    ->setLaborInspectionServiceCode('12345')
    ->setDypaServiceCode('123456')
    ->setBranchActivityCode('4520')

    // Personal
    ->setLastName('ΚΩΝΣΤΑΝΤΙΝΟΥ')
    ->setFirstName('ΔΗΜΗΤΡΙΟΣ')
    ->setFatherName('ΑΝΤΩΝΙΟΣ')
    ->setMotherName('ΣΟΦΙΑ')
    ->setBirthDate('20/07/1988')
    ->setSex(Sex::MALE)

    // Identity
    ->setNationality('001')
    ->setIdType('ΑΤ')
    ->setIdNumber('ΘΙ345678')
    ->setIdIssuingAuthority('Α.Τ. ΠΕΙΡΑΙΑ')

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

    // Lending arrangement
    ->setLendingDateFrom('01/03/2025')
    ->setLendingDateTo('31/08/2025')
    ->setDirectEmployerAfm('111222333')
    ->setDirectEmployerName('PARTNER COMPANY S.A.')

    // Employment at your site
    ->setHiringDate('01/03/2025')
    ->setStartTime('08:00')
    ->setEndTime('16:00')
    ->setWeeklyHours(40.0)
    ->setSpecialtyCode('456789')
    ->setSpecialtyDescription('ΤΕΧΝΙΚΟΣ ΣΥΝΤΗΡΗΣΗΣ')
    ->setExperienceYears(8)
    ->setGrossSalary(1800.00)
    ->setEmploymentType(EmploymentType::BORROWED)
    ->setEmploymentStatus(EmploymentStatus::FULL)
    ->setWorkerType(WorkerType::WORKER)

    // Work organization
    ->setWorkingTimeDigitalOrganization(true)
    ->setFullEmploymentHours(40.0)
    ->setWeekDays(WeekDays::FIVE)
    ->setWorkingCard(true)
    ->setBreakMinutes(30)
    ->setBreakWithinSchedule(true)

    // Insurance
    ->setMainInsurance('101')

    // Wage Payment
    ->setWagePaymentTime('Μηνιαία')
    ->setCollectiveAgreementApplicable(true)
    ->setCollectiveAgreementComments('ΕΓΣΣΕ')

    // Acceptance
    ->setBasicsAcceptance(true)
    ->setAcceptanceFile(base64_encode(file_get_contents('acceptance.pdf')));

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

Receiving EPA Worker ​

php
$declaration = LendingDeclaration::make()
    // Your branch
    ->setBranchCode(0)
    ->setLaborInspectionServiceCode('12345')
    ->setDypaServiceCode('123456')

    // ... personal fields ...

    // EPA as the direct employer
    ->setLendingDateFrom('15/02/2025')
    ->setLendingDateTo('15/05/2025')
    ->setDirectEmployerAfm('999888777')
    ->setDirectEmployerName('TEMP AGENCY EPA')

    // Employment
    ->setHiringDate('15/02/2025')
    ->setStartTime('09:00')
    ->setEndTime('17:00')
    ->setWeeklyHours(40.0)
    ->setSpecialtyCode('123456')
    ->setGrossSalary(1200.00)
    ->setEmploymentType(EmploymentType::BORROWED)
    ->setEmploymentStatus(EmploymentStatus::FULL)
    ->setWorkerType(WorkerType::EMPLOYEE)

    ->setMainInsurance('101')
    ->setBasicsAcceptance(true)
    ->setAcceptanceFile(base64_encode(file_get_contents('acceptance.pdf')));

Part-Time Borrowed Employee ​

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

    // Lending arrangement
    ->setLendingDateFrom('01/04/2025')
    ->setLendingDateTo('30/09/2025')
    ->setDirectEmployerAfm('555666777')
    ->setDirectEmployerName('PARTNER LTD')

    // Part-time employment
    ->setHiringDate('01/04/2025')
    ->setStartTime('09:00')
    ->setEndTime('13:00')
    ->setWeeklyHours(20.0)
    ->setSpecialtyCode('345678')
    ->setGrossSalary(900.00)
    ->setEmploymentType(EmploymentType::BORROWED)
    ->setEmploymentStatus(EmploymentStatus::PARTIAL)  // Part-time
    ->setWorkerType(WorkerType::EMPLOYEE)

    ->setMainInsurance('101')
    ->setBasicsAcceptance(true)
    ->setAcceptanceFile(base64_encode(file_get_contents('acceptance.pdf')));

Response Handling ​

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

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

Important Notes ​

  1. Acceptance Required: Unlike E3M, E3PD requires acceptance files since you are establishing new working conditions at your premises.

  2. Paired with E3D: When you submit E3PD, the lending company must also submit E3D.

  3. Employment Type: Use EmploymentType::BORROWED (value 3) for the f_sxeshapasxolisis field.

  4. End of Lending: When the lending period ends, submit E6LD (End of Loan) - see Dismissal documentation.

See Also ​

Released under the MIT License.