Jump to content

Module extraction des données de facturation


Recommended Posts

Bonjour à tous, 

 

Je recherche un module Prestashop qui me permettrait de faire un export de mes données de facturation (nom client, prénom client, adresse client, référence produit, désignation produit, prix d'achat HT, prix de vente TTC, frais de port, moyen de paiement utilisé)

Ce fichier pourra s'extraire sous la forme d'un fichier excel (.csv)

 

Je possède Prestashop version 1.6.0.14.

 

J'ai demandé à Prestashop si ils connaissaient un module de ce type, mais ils me proposent jamais un module qui répond à ces critères.

 

J'en ai besoin car en interne nous utilisons un logiciel de gestion commercial en ligne (EBP) et en faite, nous ne voulons pas rentrer chaque vente manuellement, mais faire un import directement dans le logiciel pour gagner du temps.

 

Connaissez-vous un module ou une alternative ?

 

Je vous remercie d'avance, 

Link to comment
Share on other sites

Salut,

J'ai créé une requête SQL pour ce genre de chose a adapter selon tes besoins... (dans bo/param avancés/gestionnaire SQL/nouvelle requete)

select 
oi.`id_order_invoice` as N_facture,
oi.`date_add` as Date_facture,
oi.`id_order` as N_commande,
o.`reference` as Ref_commande,
c.`lastname` as Nom,
c.`firstname` as Prenom,
od.`product_name` as Nom_produit,
od.`product_reference` as Ref_produit,
od.`product_ean13` as EAN13_produit,
od.`total_price_tax_incl` as Prix_produit_ttc,
od.`product_quantity` as Qt_produit,
oi.`total_products` as Total_produits_HT,  
(oi.`total_paid_tax_incl` - oi.`total_paid_tax_excl`) as TVA, 
(oi.`total_paid_tax_incl` - oi.`total_shipping_tax_incl`) as Total_produits_TTC, 
oi.`total_shipping_tax_excl` as Frais_d_expedition, 
oi.`total_paid_tax_incl` as Total_paye,
ocr.`name` as Dicount_Name,
ocr.`value` as Prix_discount_ttc
from ps_order_invoice oi
left outer join  ps_order_cart_rule ocr on oi.`id_order` = ocr.`id_order` 
left outer join ps_orders o on oi.`id_order` = o.`id_order` 
left outer join ps_order_detail od on od.`id_order` = o.`id_order` 
left outer join ps_customer c on o.`id_customer` = c.`id_customer`
order by  oi.`id_order_invoice` DESC

cdt

Edited by Alex-Kodd (see edit history)
Link to comment
Share on other sites

Salut,

J'ai créé une requête SQL pour ce genre de chose a adapter selon tes besoins... (dans bo/param avancés/gestionnaire SQL/nouvelle requete)

select 
oi.`id_order_invoice` as N_facture,
oi.`date_add` as Date_facture,
oi.`id_order` as N_commande,
o.`reference` as Ref_commande,
c.`lastname` as Nom,
c.`firstname` as Prenom,
od.`product_name` as Nom_produit,
od.`product_reference` as Ref_produit,
od.`product_ean13` as EAN13_produit,
od.`total_price_tax_incl` as Prix_produit_ttc,
od.`product_quantity` as Qt_produit,
oi.`total_products` as Total_produits_HT,  
(oi.`total_paid_tax_incl` - oi.`total_paid_tax_excl`) as TVA, 
(oi.`total_paid_tax_incl` - oi.`total_shipping_tax_incl`) as Total_produits_TTC, 
oi.`total_shipping_tax_excl` as Frais_d_expedition, 
oi.`total_paid_tax_incl` as Total_paye,
ocr.`name` as Dicount_Name,
ocr.`value` as Prix_discount_ttc
from ps_order_invoice oi
left outer join  ps_order_cart_rule ocr on oi.`id_order` = ocr.`id_order` 
left outer join ps_orders o on oi.`id_order` = o.`id_order` 
left outer join ps_order_detail od on od.`id_order` = o.`id_order` 
left outer join ps_customer c on o.`id_customer` = c.`id_customer`
order by  oi.`id_order_invoice` DESC

cdt

 

Votre script marche à la perfection ! J'ai cependant essayé de l'adapter pour mes besoins, mais je ne m'y connais pas du tout en SQL...

 

J'ai donc essayé de rajouter au script l'adresse du client : 

select

oi.`id_order_invoice` as N_facture,

oi.`date_add` as Date_facture,

oi.`id_order` as N_commande,

o.`reference` as Ref_commande,

c.`lastname` as Nom,

c.`firstname` as Prenom,

c.`adress` as Adresse,

 

Mais cela ne marche plus et j'ai un fichier vide... 

 

Je souhaitais aussi ajouté le moyen de paiement, mais je ne trouve pas comment elle s'appelle en SQL, et le coût de revient du produit, mais pareil je ne sais pas comment cela se nomme...

 

Existe-t-il un tutoriel qui regrouperait ses informations ? 

Link to comment
Share on other sites

Allez c'est cadeau

select 
oi.`id_order_invoice` as N_facture,
oi.`date_add` as Date_facture,
oi.`id_order` as N_commande,
o.`reference` as Ref_commande,
c.`lastname` as Nom,
c.`firstname` as Prenom,
CONCAT(a.`address1`,a.`address2`,' ',a.`postcode`,' ',a.`city`) AS `Adresse`,
o.`payment` as Moyen_paiement,
od.`product_name` as Nom_produit,
od.`product_reference` as Ref_produit,
od.`product_ean13` as EAN13_produit,
od.`total_price_tax_incl` as Prix_produit_ttc,
od.`product_quantity` as Qt_produit,
oi.`total_products` as Total_produits_HT,  
(oi.`total_paid_tax_incl` - oi.`total_paid_tax_excl`) as TVA, 
(oi.`total_paid_tax_incl` - oi.`total_shipping_tax_incl`) as Total_produits_TTC, 
oi.`total_shipping_tax_excl` as Frais_d_expedition, 
oi.`total_paid_tax_incl` as Total_paye,
ocr.`name` as Dicount_Name,
ocr.`value` as Prix_discount_ttc
from ps_order_invoice oi
left outer join  ps_order_cart_rule ocr on oi.`id_order` = ocr.`id_order` 
left outer join ps_orders o on oi.`id_order` = o.`id_order` 
left outer join ps_order_detail od on od.`id_order` = o.`id_order` 
left outer join ps_customer c on o.`id_customer` = c.`id_customer`
left outer join ps_address a on o.`id_customer` = a.`id_customer`

order by  oi.`id_order_invoice` DESC
Pour comprendre quelque chose il faut regarder comment est faite ta base de donnée via phpmyadmin Edited by Alex-Kodd (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 3 years later...

Bonjour,
Peut-on appliquer cette requête sur Prestashop 1.7.6 ?
A quoi ressemble le format de sortie ?

Personnellement j'ai besoin de très peu de choses... Juste un petit fichier TXT qui reprend:
Voici les instructions de CIEL COMPTA pour créer le fichier d'import:

Informations complètes sur http://www.comptashop.com/ciel-compta/parametrage-import

Le format Ximport
Ce format vous permet d’importer un fichier ASCII (format standard TXT reconnu par la majorité des éditeurs de texte) contenant des écritures.
Le nom du fichier à importer est : XIMPORT.TXT.
Avant d’importer vos écritures, vérifiez que ce fichier se trouve bien dans le répertoire ou le chemin d’accès où sont situés les fichiers du dossier en cours.
Au cours de l’importation, si des comptes ou des journaux n’existent pas, le logiciel va les créer. Si le fichier contient des écritures non équilibrées, celles-ci ne seront pas importées.
Le fichier XIMPORT.TXT doit être de type SDF (sans délimiteur fixe) et la taille d’un enregistrement ne doit pas dépasser 137 caractères.

Il doit avoir la structure suivante :
N° de Mouvement     5 caractères     Numérique
Journal                        2 caractères     Alphanumérique
Date d’écriture           8 caractères     Date (AAAAMMJJ)
Date d’échéance       8 caractères     Date (AAAAMMJJ) - Peut être la même que la date d'écriture
N° de pièce              12 caractères     Alphanumérique
Compte                    11 caractères     Alphanumérique
Libellé                       25 caractères     Alphanumérique
Montant                    13 caractères     (2 décimales) Numérique
Crédit-Débit                  1 caractère     (D ou C)

La forme du fichier TXT ressemble à ça pour chaque vente:
    1VT2020020720200211C0020722    411WEB     NomCLIENT-N°CDE-N°BL        6037.93D (correspond au montant TTC affecté au compte 411WEB)
    1VT20200207                  C0020722    706WEB     NomCLIENT-N°CDE-N°BL        5031.61C (correspond au montant HT de la vente)
    1VT20200207                  C0020722      445711     NomCLIENT-N°CDE-N°BL        1006.32C (correspond au montant de la TVA - si =0 alors, non exporté)

Peut-on faire ça avec une requète SQL ?

Merci pour votre avis

Edited by BGUERBET (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...
On 8/15/2016 at 8:35 AM, Alexandre Carette said:

Salut,

J'ai créé une requête SQL pour ce genre de chose a adapter selon tes besoins... (dans bo/param avancés/gestionnaire SQL/nouvelle requete)


select 
oi.`id_order_invoice` as N_facture,
oi.`date_add` as Date_facture,
oi.`id_order` as N_commande,
o.`reference` as Ref_commande,
c.`lastname` as Nom,
c.`firstname` as Prenom,
od.`product_name` as Nom_produit,
od.`product_reference` as Ref_produit,
od.`product_ean13` as EAN13_produit,
od.`total_price_tax_incl` as Prix_produit_ttc,
od.`product_quantity` as Qt_produit,
oi.`total_products` as Total_produits_HT,  
(oi.`total_paid_tax_incl` - oi.`total_paid_tax_excl`) as TVA, 
(oi.`total_paid_tax_incl` - oi.`total_shipping_tax_incl`) as Total_produits_TTC, 
oi.`total_shipping_tax_excl` as Frais_d_expedition, 
oi.`total_paid_tax_incl` as Total_paye,
ocr.`name` as Dicount_Name,
ocr.`value` as Prix_discount_ttc
from ps_order_invoice oi
left outer join  ps_order_cart_rule ocr on oi.`id_order` = ocr.`id_order` 
left outer join ps_orders o on oi.`id_order` = o.`id_order` 
left outer join ps_order_detail od on od.`id_order` = o.`id_order` 
left outer join ps_customer c on o.`id_customer` = c.`id_customer`
order by  oi.`id_order_invoice` DESC

cdt

Bonjour,

[mode NB: on]

Comment on fait pour s'en servir? 

Link to comment
Share on other sites

Le 15/08/2016 à 8:35 AM, Alexandre Carette a dit :

J'ai créé une requête SQL pour ce genre de chose a adapter selon tes besoins... (dans bo/param avancés/gestionnaire SQL/nouvelle requete)

 

Il y a 8 heures, boutiquepel a dit :

Bonjour,

[mode NB: on]

Comment on fait pour s'en servir? 

 

Link to comment
Share on other sites

  • 8 months later...

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
×
×
  • Create New...