diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 203ba86a507..2d23643eebc 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -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();