Quantcast
Channel: Forum Dolibarr france :: Discussions récentes
Viewing all articles
Browse latest Browse all 34935

Sujet: TVA à payer -> Post Modification d'un montant - par: magikbibi

$
0
0
C'est encore moi (le mec qui pose un problème et qui donne sa solution )

Alors effectivement il y avait un delta entre l'affichage général de la TVA à payer par rapport au rapport détaillé par mois.

Ceci vient de 2 scripts :
/core/lib/tax.lib.php
j'ai apporté une nouvelle modification à la requete pour prendre en compte la date de paiement et non de facture lors de l'affichage général de la TVA (page principale)

Voici donc la nouvelle requete :


/compta/tva/index.php
Les boucles (ligne 164 et 172 environ) qui traitent les informations reçues par la requête ci dessous se contentaient d'additionner de prendre le montant total de la TVA pour la période en cours (mensuel). Que la facture soit partiellement payée ou non.
Du coup j'ai modifié les 2 boucle pour :
- Connaitre le ratio payé de la facture
- Appliquer ce ratio au montant de TVA

Avant :
 $x_coll = 0;
foreach($coll_listsell as $vatrate=>$val)
{
$x_coll+=$val['vat'];
}
$subtotalcoll = $subtotalcoll + $x_coll;
print "<td nowrap align=\"right\">".price($x_coll)."</td>";
 
$x_paye = 0;
foreach($coll_listbuy as $vatrate=>$val)
{
$x_paye+=$val['vat'];
}
$subtotalpaye = $subtotalpaye + $x_paye;
print "<td nowrap align=\"right\">".price($x_paye)."</td>";


Après :

[code type=php]$x_coll = 0;
foreach($coll_listsell as $vatrate=>$val)
{
foreach($val['payment_amount'] as $k=>$v){
// Attention la requete SQL retourne plusieuurs paiement pour la meme facture (liste de service et bien)
// Il faudrait que la requete retourne le total tva de la facture en faisant un group by payment_id
$payment_id = $val['payment_id'][$k];

$invoice_totalttc = $val['ftotal_ttc'][$k]; // Montant TOTAL TTC de la facture
$payment_amount = $val['payment_amount'][$k]; // Montant du paiement pour cette facture
$tva_amount_det = $val['vat_list'][$k];// montant TVA du service/produit vendu (la requete ne retourne pas le montant tva total de la facture)
$ratiopaymentinvoice=1;
$ratiopaymentinvoice=($payment_amount/$invoice_totalttc); // Ratio du paiement/facture
$temp_vat=$tva_amount_det*$ratiopaymentinvoice; // Montant de TVA payé (par rapport au ratio)
$x_coll+=$temp_vat;
}
/*
$payment_amount = $val['payment_amount'][0];
$invoice_totalttc = $val['ftotal_ttc'][0];
$ratiopaymentinvoice=1;
$ratiopaymentinvoice=($payment_amount/$invoice_totalttc);
$temp_vat=$val['vat']*$ratiopaymentinvoice;
//$x_coll+=price(price2num($temp_vat,'MT'));
$x_coll+=$temp_vat;
*/
}

$subtotalcoll = $subtotalcoll + $x_coll;
print "<td nowrap align=\"right\">".price($x_coll,0,'',1,2,2)."</td>";

$x_paye = 0;
foreach($coll_listbuy as $vatrate=>$val)
{
foreach($val['payment_amount'] as $k=>$v){
// Attention la requete SQL retourne plusieuurs paiement pour la meme facture (liste de service et bien)
// Il faudrait que la requete retourne le total tva de la facture en faisant un group by payment_id
$payment_id = $val['payment_id'][$k];

$invoice_totalttc = $val['ftotal_ttc'][$k]; // Montant TOTAL TTC de la facture
$payment_amount = $val['payment_amount'][$k]; // Montant du paiement pour cette facture
$tva_amount_det = $val['vat_list'][$k];// montant TVA du service/produit vendu (la requete ne retourne pas le montant tva total de la facture)
$ratiopaymentinvoice=1;
$ratiopaymentinvoice=($payment_amount/$invoice_totalttc); // Ratio du paiement/facture
$temp_vat=$tva_amount_det*$ratiopaymentinvoice; // Montant de TVA payé (par rapport au ratio)
$x_paye+=$temp_vat;
}
/*
$payment_amount = $val['payment_amount'][0];
$invoice_totalttc = $val['ftotal_ttc'][0];
$ratiopaymentinvoice=1;
$ratiopaymentinvoice=($payment_amount/$invoice_totalttc);
$temp_vat=$val['vat']*$ratiopaymentinvoice;
$x_paye+=$temp_vat;
*/
}
$subtotalpaye = $subtotalpaye + $x_paye;
print "<td nowrap ...

Viewing all articles
Browse latest Browse all 34935


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>