Skip to content
Code-Schnipsel Gruppen Projekte
Commit 9de04a5f erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

Merge branch 'next-2.x' into 'main'

fix: improve invoice handling for the electronic invoice

See merge request !93
Übergeordnete 76d83123 f39943e2
Branches next-3.x
No related tags found
2 Merge Requests!94Update 'next-3.x' with latest changes from 'main',!93fix: improve invoice handling for the electronic invoice
Pipeline #16082 mit Warnungen bestanden mit Phase
in 48 Sekunden
......@@ -663,6 +663,11 @@ public static function addressRequirementThreshold(): float
return floatval($threshold);
}
/**
* @throws QUI\ERP\Exception
* @throws QUI\Exception
* @throws QUI\Users\Exception
*/
public static function getElectronicInvoice(
InvoiceTemporary | QUI\ERP\Accounting\Invoice\Invoice $Invoice,
$type = ZugferdProfiles::PROFILE_EN16931
......@@ -828,9 +833,17 @@ public static function getElectronicInvoice(
// products
foreach ($Invoice->getArticles() as $Article) {
/* @var $Article QUI\ERP\Accounting\Article */
$article = $Article->toArray();
$nettoPreis = $article['calculated']['nettoPrice']; // Netto-Einzelpreis
$vatSum = $article['calculated']['vatArray']['sum'];
$bruttoPreis = $nettoPreis;
if ($vatSum) {
$bruttoPreis = $nettoPreis + ($vatSum / $article['quantity']);
}
$document
->addNewPosition($article['position'])
->setDocumentPositionProductDetails(
......@@ -841,9 +854,10 @@ public static function getElectronicInvoice(
null,
null
)
->setDocumentPositionNetPrice($article['calculated']['nettoPrice'])
->setDocumentPositionNetPrice($article['calculated']['nettoPrice'], 1, "C62") // C62 = Stück
->setDocumentPositionGrossPrice($bruttoPreis, 1, "C62") // C62 = Stück
->setDocumentPositionQuantity($article['quantity'], "H87")
->addDocumentPositionTax('S', 'VAT', $article['vat'])
->addDocumentPositionTax('S', 'VAT', $article['vat'], $article['calculated']['vatArray']['sum'])
->setDocumentPositionLineSummation($article['sum']);
}
......
0% oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren