Jump to content

Requete SQL Comptabilité


Recommended Posts

Bonjour,

Je suis occupé sur une requete SQL pour générer un rapport comptable des ventes par moyen de paiement, par jour et par catégories.

exemple :

image.png.b6d4b5619082065a69663a7289e42820.png

Premier problème, c'est que je me base sur la table ps_order_invoice mais les prix calculés sont arrondis et en sommant le tout j'ai des différences de quelques cents. C'est connu?-

Donc je calcule sur base du prix TTC le prix HTVA en reprenant le detail de la commande, j'ai le taux de TVA utilisé.

Ma question est comment retrouver le taux de TVA à appliquer pour la livraison, j'ai trouvé la table ps_order_invoice_tax mais c'est toujours pour la tax du shipping cette table?

image.png.da9752a4efd9a0e412e3c875aabd506f.png 

 

Merci d'avance pour vos reponses et si vous avez des conseils je suis preneur :)

 

 

 

image.png

Share this post


Link to post
Share on other sites

Version 1.6.1.7

ps_orders je vais chercher le moyen de paiement et pour les frais de livraison ils sont arrondis

image.png.37e638f706a1e15e54c32c298fbf43a2.png
 

Pour un peu plus d'explication, je vais rechercher la date le moyen de paiement le total TTC que je regroupe par date et moyen de paiement.

SELECT
    DATE_FORMAT(oi.date_add, "%d-%m-%Y") AS Date,
    o.payment as Paiement,
    FORMAT(SUM(oi.total_paid_tax_incl), 2) AS `Total TTC`,
  
	....

FROM
    ps_order_invoice oi
LEFT JOIN ps_orders o ON
    o.id_order = oi.id_order
WHERE
    o.payment <> "Commande gratuite"
GROUP BY
    DATE_FORMAT(oi.date_add, "%Y-%m-%d"),
    o.payment
ORDER BY
    oi.date_add
DESC

Après pour les total par catégorie dans le select j'ajoute pour le TOTAL HTVA

  FORMAT(SUM((
        SELECT
            SUM(od.total_price_tax_incl / (1 + t.rate/100)) + oi.total_shipping_tax_excl
        FROM
            ps_order_detail od
        LEFT JOIN ps_order_detail_tax odt ON
            od.id_order_detail = odt.id_order_detail
        LEFT JOIN ps_tax t ON
            odt.id_tax = t.id_tax
        LEFT JOIN ps_product p ON
            p.id_product = od.product_id
        WHERE
            od.id_order = oi.id_order
        GROUP BY
            od.id_order
    )), 2) AS `Total HTVA`,
    

Et pour chaque colonne Cat1 ...

     coalesce(FORMAT(SUM((
        SELECT
            SUM(od.total_price_tax_incl / (1 + t.rate/100))
        FROM
            ps_order_detail od
        LEFT JOIN ps_order_detail_tax odt ON
            od.id_order_detail = odt.id_order_detail
        LEFT JOIN ps_tax t ON
            odt.id_tax = t.id_tax
        LEFT JOIN ps_product p ON
            p.id_product = od.product_id
        LEFT JOIN ps_category c ON
            p.id_category_default = c.id_category
        LEFT JOIN `ps_category_lang` b ON
            (
                b.`id_category` = c.`id_category` AND b.`id_lang` = 2 AND b.`id_shop` = 1
            )
        WHERE
            b.name = "Cat. 1" AND od.id_order = oi.id_order
        GROUP BY
            p.id_category_default
    )), 2), 0.00) AS `Cat. 1 HTVA`,

 

Voila ...
    

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More