← Code-Übersicht

LexofficePort.php

Pfad: src/Domain/Rechnung/LexofficePort.php

Ext: php

Größe: 967 Bytes

Geändert: 2026-07-16 14:10:38+02

<?php
declare(strict_types=1);

namespace Demo\Domain\Rechnung;

/**
 * Port zur Integration mit Buha (Lexoffice o.Ä.).
 */
interface LexofficePort
{
    /**
     * @param string $vendorName Lieferant.
     * @return list<array<string,mixed>> Trefferdaten.
     */
    public function findContactByName(string $vendorName): array;

    /**
     * @param string $vendorName             Lieferant.
     * @param string $vendorAddressSignature Adresse.
     * @return string Neue Kontakt-ID.
     */
    public function createContact(string $vendorName, string $vendorAddressSignature): string;

    /**
     * @param ExtractedInvoiceData $invoice   Extrahierte Rechnungsdaten.
     * @param string              $contactId Kontakt-ID.
     * @param string              $pdfPath   Lokales PDF.
     * @return PostingResult Ergebnis der Buchung.
     */
    public function postInvoice(ExtractedInvoiceData $invoice, string $contactId, string $pdfPath): PostingResult;
}