scusa se ti rispondo qui, ma sembra che l'altro server non sia disponibile, proprio non lo si può raggiungere
nel codice che hai postato, ritrovo presente la parte del post precedente,
come dicevo il calcolo è corretto, ma ti propongo la seguente modifica,
Codice PHP:
if (isset($item->net_unit_price)) {
$items[$key]->net_unit_price = $item->net_unit_price;
$items[$key]->gross_unit_price = $item->net_unit_price * ((100 + $item->tax) / 100);
} else if (isset($item->gross_unit_price)) {
$items[$key]->gross_unit_price = $item->gross_unit_price;
$items[$key]->net_unit_price = $item->gross_unit_price / ((100 + $item->tax) / 100);
}
se il risultato non cambia, come temo, posso solo suggerirti di controllare i dati che fornisci all'applicazione, la cui struttura ti riporto sotto,
da quello che posso capire, nei dati hai scambiato le colonne "net_unit_price" con "gross_unit_price"
Codice PHP:
$invoiceitem = (object)array(
"invoice_id" => $invoice_id,
"name" => $item->name,
"description" => $item->description,
"quantity" => $item->quantity,
"net_unit_price" => $item->net_unit_price,
"tax" => $item->tax,
"gross_unit_price" => $item->gross_unit_price,
"gross_amount" => $item->gross_amount,
"net_amount" => $item->net_amount,
"source" => $item->source,
"source_key" => @$item->source_type,
"ordering" => $ordering);
se vuoi provare il calcolo puoi usare lo script seguente, ripreso dal calcolo originale
Codice PHP:
<?php
$gross_unit_price = 0; $net_unit_price = 4.90; TaxCalc( $net_unit_price, $gross_unit_price );
$gross_unit_price = 5.98; $net_unit_price = 0; TaxCalc( $net_unit_price, $gross_unit_price );
function TaxCalc( $item_net_unit_price, $item_gross_unit_price )
{
$item_tax = 22;
$item_quantity = 1;
if (!empty( $item_net_unit_price ))
{
$items_key_gross_unit_price = $item_net_unit_price * ((100 + $item_tax) / 100);
$items_key_net_unit_price = $item_net_unit_price;
}
else if (!empty($item_gross_unit_price))
{
$items_key_net_unit_price = $item_gross_unit_price / ((100 + $item_tax) / 100);
$items_key_gross_unit_price = $item_gross_unit_price;
}
$items_key_net_amount = $item_quantity * $items_key_net_unit_price;
$items_key_gross_amount = $items_key_net_amount * (100 + $item_tax) / 100;
$tax_amount = $items_key_gross_amount - $items_key_net_amount;
echo
"prezzo lordo : ".$item_gross_unit_price."<br />".
"prezzo netto : ".$item_net_unit_price."<br />".
"prezzo lordo calcolato : ".$items_key_gross_unit_price."<br />".
"prezzo netto calcolato : ".$items_key_net_unit_price."<br />".
"tasse calcolate : ".$tax_amount."<br /><br />";
}
?>
fai sapere, ciao
Marino