mjaschen/collmex

Mehrere Positionen

Closed this issue · 1 comments

Wie lassen sich mit der SKD mehrere Positionen in eine Rechnung Schreiben?
Bei meinen Aktuellen versuchen wird entweder eine neue Rechnung angelegt oder die alte Überschrieben.

Hallo,

du brauchst für jede Rechnungsposition ein Invoice-Objekt. Die Doku sagt:

Jede Rechnungs-Position ist eine Zeile in der CSV-Datei. Alle Positionen einer Rechnung müssen in aufeinander folgenden Zeilen stehen. Die Kopfdaten (z.B. Kunde, Zahlungsbedingung, Versandart usw.) müssen für alle Positionen / Zeilen angegeben werden.

Erstelle einfach ein Invoice-Objekt für die erste Position. Dieses kannst du dann mit clone duplizieren und danach die Daten für die zweite Position anpassen usw.

Zum Schluss einfach für jede Position getCsv() aufrufen und diese Strings dann zusammen an Collmex schicken:

$invoice1 = new Invoice(
    [ 
        // Rechnungsdaten
    ]
);

$invoice2 = clone $invoice1;
$invoice2->product_id = 123;
$invoice2->quantity = 2;

// $invoice3 = clone $invoice1;
// ...
// ...

$requestData = $invoice1->getCsv() . "\n" . $invoice2->getCsv() . "\n" . $invoice3->getCsv();

$collmexResponse = $collmexRequest->send($requestData);