Skip to content
Code-Schnipsel Gruppen Projekte

Revisionen vergleichen

Änderungen werden so angezeigt, als ob die Quellrevision mit der Zielrevision zusammengeführt würde. Erfahre mehr über den Vergleich von Revisionen.

Quelle

Zielprojekt auswählen
No results found

Ziel

Zielprojekt auswählen
  • quiqqer/invoice
1 Ergebnis
Änderungen anzeigen
Commits auf Quelle (2)
  • Henning Leutz's avatar
    fix: improve invoice handling for the electronic invoice · f39943e2
    verfasst von Henning Leutz
    This commit offers a more detailed pricing calculation, including Net and Gross pricing for the
    electronic invoice export. It adds essential support for VAT calculation for invoice articles. It
    also includes the quantity into the gross price calculation which was previously based only on the
    net price. This could help in maintaining proper financial records. We also replaced the implicit
    variable declaration with explicit variable assignment for better code readability.
    f39943e2
  • Henning Leutz's avatar
    Merge branch 'next-2.x' into 'main' · 9de04a5f
    verfasst von Henning Leutz
    fix: improve invoice handling for the electronic invoice
    
    See merge request !93
    9de04a5f
......@@ -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']);
}
......