// \todo a ce jour on se sait pas la compter car le montant tva d'un payment
// n'est pas stock<63> dans la table des payments.
// Seul le module compta expert peut r<>soudre ce probl<62>me.
// (Il faut quand un payment a lieu, stocker en plus du montant du paiement le
// detail part tva et part ht).
$sql='TODO';
}
if($conf->global->MAIN_MODULE_COMPTABILITE)
{
$sql="SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_taux as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,";
$sql.=" f.facnumber as facnum, f.total_ttc as ftotal_ttc,";
$sql.=" p.rowid as pid, p.ref as pref, p.fk_product_type as ptype";
$sql.=" FROM ".MAIN_DB_PREFIX.$invoicetable." as f,";
$sql.="".MAIN_DB_PREFIX.$invoicedettable." as d";
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid";
$sql.=" WHERE ";
$sql.=" f.fk_statut in (1,2)";// Validated or payed (partially or completely)
$sql.=" AND f.rowid = d.".$fk_facture;
$sql.=" AND f.datef >= '".$y."0101000000' AND f.datef <= '".$y."1231235959'";
$sql.=" AND (date_format(f.datef,'%m') > ".(($q-1)*3)." AND date_format(f.datef,'%m') <= ".($q*3).")";
$sql.=" AND d.product_type = 0";// Limit to products
$sql.=" ORDER BY d.rowid, d.".$fk_facture;
}
}
else
{
// If vat payed on payments
if($conf->global->MAIN_MODULE_COMPTABILITEEXPERT)
{
// \todo a ce jour on se sait pas la compter car le montant tva d'un payment
// n'est pas stock<63> dans la table des payments.
// Seul le module compta expert peut r<>soudre ce probl<62>me.
// (Il faut quand un payment a lieu, stocker en plus du montant du paiement le
// detail part tva et part ht).
$sql='TODO';
}
if($conf->global->MAIN_MODULE_COMPTABILITE)
{
// Tva sur factures pay<61>s (should be on payment)
$sql="SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_taux as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,";
$sql.=" f.facnumber as facnum, f.total_ttc as ftotal_ttc,";
$sql.=" p.rowid as pid, p.ref as pref, p.fk_product_type as ptype";
$sql.=" FROM ".MAIN_DB_PREFIX.$invoicetable." as f,";
$sql.="".MAIN_DB_PREFIX.$invoicedettable." as d";
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid";
$sql.=" WHERE ";
$sql.=" f.fk_statut in (1,2)";// Validated or payed (partially or completely)
$sql.=" AND f.rowid = d.".$fk_facture;
$sql.=" AND f.datef >= '".$y."0101000000' AND f.datef <= '".$y."1231235959'";
$sql.=" AND (date_format(f.datef,'%m') > ".(($q-1)*3)." AND date_format(f.datef,'%m') <= ".($q*3).")";
$sql.=" AND d.product_type = 0";// Limit to products
// \todo a ce jour on se sait pas la compter car le montant tva d'un payment
// n'est pas stock<63> dans la table des payments.
// Seul le module compta expert peut r<>soudre ce probl<62>me.
// (Il faut quand un payment a lieu, stocker en plus du montant du paiement le
// detail part tva et part ht).
$sql='TODO';
}
if($conf->global->MAIN_MODULE_COMPTABILITE)
{
$sql="SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_taux as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,";
$sql.=" f.facnumber as facnum, f.total_ttc as ftotal_ttc,";
$sql.=" p.rowid as pid, p.ref as pref, p.fk_product_type as ptype";
$sql.=" FROM ".MAIN_DB_PREFIX.$invoicetable." as f,";
$sql.="".MAIN_DB_PREFIX.$invoicedettable." as d";
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid";
$sql.=" WHERE ";
$sql.=" f.fk_statut in (1,2)";// Validated or payed (partially or completely)
$sql.=" AND f.rowid = d.".$fk_facture;
$sql.=" AND f.datef >= '".$y."0101000000' AND f.datef <= '".$y."1231235959'";
$sql.=" AND (date_format(f.datef,'%m') > ".(($q-1)*3)." AND date_format(f.datef,'%m') <= ".($q*3).")";
$sql.=" AND d.product_type = 1";// Limit to services
$sql.=" ORDER BY d.rowid, d.".$fk_facture;
}
}
else
{
// If vat payed on payments
if($conf->global->MAIN_MODULE_COMPTABILITEEXPERT)
{
// \todo a ce jour on se sait pas la compter car le montant tva d'un payment
// n'est pas stock<63> dans la table des payments.
// Seul le module compta expert peut r<>soudre ce probl<62>me.
// (Il faut quand un payment a lieu, stocker en plus du montant du paiement le
// detail part tva et part ht).
$sql='TODO';
}
if($conf->global->MAIN_MODULE_COMPTABILITE)
{
// Tva sur factures pay<61>s (should be on payment)
$sql="SELECT d.rowid, d.product_type as dtype, d.".$fk_facture." as facid, d.tva_taux as rate, d.total_ht as total_ht, d.total_ttc as total_ttc, d.".$total_tva." as total_vat, d.description as descr,";
$sql.=" f.facnumber as facnum, f.total_ttc as ftotal_ttc,";
$sql.=" p.rowid as pid, p.ref as pref, p.fk_product_type as ptype,";
$sql.=" pf.".$fk_payment." as payment_id, pf.amount as payment_amount";
$sql.=" FROM ".MAIN_DB_PREFIX.$invoicetable." as f,";
$sql.="".MAIN_DB_PREFIX.$paymentfacturetable." as pf,";
$sql.="".MAIN_DB_PREFIX.$paymenttable." as pa,";
$sql.="".MAIN_DB_PREFIX.$invoicedettable." as d";
$sql.=" LEFT JOIN ".MAIN_DB_PREFIX."product as p on d.fk_product = p.rowid";
$sql.=" WHERE ";
$sql.=" f.fk_statut in (1,2)";// Payed (partially or completely)
$sql.=" AND f.rowid = d.".$fk_facture;;
$sql.=" AND pf.".$fk_facture2." = f.rowid";
$sql.=" AND pa.rowid = pf.".$fk_payment;
$sql.=" AND pa.datep >= '".$y."0101000000' AND pa.datep <= '".$y."1231235959'";
$sql.=" AND (date_format(pa.datep,'%m') > ".(($q-1)*3)." AND date_format(pa.datep,'%m') <= ".($q*3).")";
$sql.=" AND d.product_type = 1";// Limit to services
$sql.=" ORDER BY d.rowid, d.".$fk_facture.", pf.rowid";