Fix the previous PR FixNegativeCreditNote for specific workflow deposit --> payed --> delete discount --> mark as credit (#34637)

Co-authored-by: Alex SOLAUV <test@test.com>
This commit is contained in:
apsolauv 2025-06-25 19:58:55 +02:00 committed by GitHub
parent 68b97390b3
commit d3b691d495
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1067,18 +1067,34 @@ if (empty($reshook)) {
}
if ($object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) {
foreach ($amount_ht as $tva_tx => $xxx) {
$discount->amount_ht = -((float) $amount_ht[$tva_tx]);
$discount->amount_tva = -((float) $amount_tva[$tva_tx]);
$discount->amount_ttc = -((float) $amount_ttc[$tva_tx]);
$discount->total_ht = -((float) $amount_ht[$tva_tx]);
$discount->total_tva = -((float) $amount_tva[$tva_tx]);
$discount->total_ttc = -((float) $amount_ttc[$tva_tx]);
$discount->multicurrency_amount_ht = -((float) $multicurrency_amount_ht[$tva_tx]);
$discount->multicurrency_amount_tva = -((float) $multicurrency_amount_tva[$tva_tx]);
$discount->multicurrency_amount_ttc = -((float) $multicurrency_amount_ttc[$tva_tx]);
$discount->multicurrency_total_ht = -((float) $multicurrency_amount_ht[$tva_tx]);
$discount->multicurrency_total_tva = -((float) $multicurrency_amount_tva[$tva_tx]);
$discount->multicurrency_total_ttc = -((float) $multicurrency_amount_ttc[$tva_tx]);
if ($object->type == Facture::TYPE_CREDIT_NOTE) {
$discount->amount_ht = -((float) $amount_ht[$tva_tx]);
$discount->amount_tva = -((float) $amount_tva[$tva_tx]);
$discount->amount_ttc = -((float) $amount_ttc[$tva_tx]);
$discount->total_ht = -((float) $amount_ht[$tva_tx]);
$discount->total_tva = -((float) $amount_tva[$tva_tx]);
$discount->total_ttc = -((float) $amount_ttc[$tva_tx]);
$discount->multicurrency_amount_ht = -((float) $multicurrency_amount_ht[$tva_tx]);
$discount->multicurrency_amount_tva = -((float) $multicurrency_amount_tva[$tva_tx]);
$discount->multicurrency_amount_ttc = -((float) $multicurrency_amount_ttc[$tva_tx]);
$discount->multicurrency_total_ht = -((float) $multicurrency_amount_ht[$tva_tx]);
$discount->multicurrency_total_tva = -((float) $multicurrency_amount_tva[$tva_tx]);
$discount->multicurrency_total_ttc = -((float) $multicurrency_amount_ttc[$tva_tx]);
} else {
//We keep the absolute value to be consistent with the function used to create the discount in case of deposit in the “create” function of the Payment class
$discount->amount_ht = abs((float) $amount_ht[$tva_tx]);
$discount->amount_tva = abs((float) $amount_tva[$tva_tx]);
$discount->amount_ttc = abs((float) $amount_ttc[$tva_tx]);
$discount->total_ht = abs((float) $amount_ht[$tva_tx]);
$discount->total_tva = abs((float) $amount_tva[$tva_tx]);
$discount->total_ttc = abs((float) $amount_ttc[$tva_tx]);
$discount->multicurrency_amount_ht = abs((float) $multicurrency_amount_ht[$tva_tx]);
$discount->multicurrency_amount_tva = abs((float) $multicurrency_amount_tva[$tva_tx]);
$discount->multicurrency_amount_ttc = abs((float) $multicurrency_amount_ttc[$tva_tx]);
$discount->multicurrency_total_ht = abs((float) $multicurrency_amount_ht[$tva_tx]);
$discount->multicurrency_total_tva = abs((float) $multicurrency_amount_tva[$tva_tx]);
$discount->multicurrency_total_ttc = abs((float) $multicurrency_amount_ttc[$tva_tx]);
}
// Clean vat code
$reg = array();