# Parties

Every FacturaE invoice requires two parties: a seller (issuer) and a buyer (recipient).

Companies

use PhpFacturae\Party;
$company = Party::company(
taxNumber: 'B12345678',
name: 'Acme Corporation S.L.'
);

Individuals

$person = Party::person(
taxNumber: '12345678Z',
name: 'Juan',
firstSurname: 'García',
lastSurname: 'López'
);

Address

$party->address(
street: 'Gran Vía 1, 3rd Floor',
postalCode: '28013',
town: 'Madrid',
province: 'Madrid',
countryCode: 'ESP'
);

Country codes use ISO 3166-1 alpha-3 (ESP, FRA, DEU, etc.).

Contact details

$party->email('info@example.com')
->phone('+34 91 123 4567')
->fax('+34 91 123 4568')
->website('https://example.com')
->contactPeople('Juan García, Accounting Department');

Trade name

$party->tradeName('Acme Tech');

Administrative centers (FACe)

$buyer = Party::company('Q2819002D', 'Ministry of Finance')
->centre(role: '01', code: 'L01281901', name: 'Accounting Office')
->centre(role: '02', code: 'L01281902', name: 'Processing Unit')
->centre(role: '03', code: 'L01281903', name: 'Managing Office');

Commercial register

$party->merchantRegister(
register: 'Madrid',
book: '1234',
folio: '56',
sheet: 'M-123456',
section: '8',
volume: '789'
);

Economic activity codes

$party->cnoCnae('6201');
$party->ineTownCode('28079');

International parties

$foreignBuyer = Party::company('FR12345678901', 'Société Française SARL')
->address(
street: '10 Avenue des Champs-Élysées',
postalCode: '75008',
town: 'Paris',
province: 'Île-de-France',
countryCode: 'FRA'
);