api/ventes

vente / encaissement


Descriptif complet vente:
clé ex. de valeur description longueur / format
id_user 0165 code du compte Linkiliz int(4)
code_pdt 000014 code produit int(6)
vte_mag 02 code du magasin de cette vente int(2)
vte_date 2015-12-18 date de la vente date sql
tic_num 0015 numéro du ticket (de ce jour) int(4)
vte_position 2 position dans le ticket (ex:2e article du ticket) int(3)
t1_vte 1 quantité vendue en taille 1 int(4)
t2_vte 0 quantité vendue en taille 2 int(4)
t3_vte 0 quantité vendue en taille 3 int(4)
t4_vte 0 quantité vendue en taille 4 int(4)
t5_vte 0 quantité vendue en taille 5 int(4)
t6_vte 0 quantité vendue en taille 6 int(4)
t7_vte 0 quantité vendue en taille 7 int(4)
t8_vte 0 quantité vendue en taille 8 int(4)
t9_vte 0 quantité vendue en taille 9 int(4)
t10_vte 0 quantité vendue en taille 10 int(4)
t11_vte 0 quantité vendue en taille 11 int(4)
t12_vte 0 quantité vendue en taille 12 int(4)
t13_vte 0 quantité vendue en taille 13 int(4)
t14_vte 0 quantité vendue en taille 14 int(4)
t15_vte 0 quantité vendue en taille 15 int(4)
t16_vte 0 quantité vendue en taille 16 int(4)
t17_vte 0 quantité vendue en taille 17 int(4)
t18_vte 0 quantité vendue en taille 18 int(4)
t19_vte 0 quantité vendue en taille 19 int(4)
t20_vte 0 quantité vendue en taille 20 int(4)
vte_pv_actif 20.00 prix de vente original du produit float(6.2)
vte_pv_final 18.00 prix de vente du produit pour cette vente float(6.2)
vte_qt 1 quantité total de cette vente pour ce produit int(6)
vte_val 18.00 valeur de cette vente (vte_qt * vte_pv_actif) float(8.2)
vte_pdt_remise 2.00 remise produit pour cette vente en valeur float(7.2)
vte_type classique type de vente ("classique", "solde" ou "promo") varchar(10)
vte_code_client 0000148 code interne à Linkiliz, du client ayant acheté. 0000000 si non renseigné int(7)
vte_code_vendeur 04 code du vendeur dans Linkiliz varchar(2)
vte_marker 20151218_143420_2699 identifie la vente - composition: annéeDate_heureMinSec_4aléatoires varchar(20)
annule non annulé "oui" ou "non" varchar(3)

Descriptif complet encaissement:
clé ex. de valeur description longueur / format
id_user 0165 code du compte Linkiliz int(4)
enc_date 2015-12-18 date de l'encaissement date sql
enc_mag 02 magasin de l'encaissement int(2)
enc_code_vendeur 02 code du vendeur dans Linkiliz varchar(2)
paiement cb moyen de paiement "espece", "cb", "cheque" ou "libre" varchar(21)
paiement_val 18.00 valeur du paiement float(7.2)
remb rendu_espece Si remboursement "rendu_espece", "rendu_cb", "rendu_libre", "avoir_creation" varchar(21)
remb_val 0.00 valeur du remboursement float(7.2)
enc_code_client 0000148 code interne à Linkiliz, du client ayant acheté. 0000000 si non renseigné int(7)
enc_marker 20151218_143420_2699 identifie la vente - composition: annéeDate_heureMinSec_4aléatoires varchar(20)
annule non annulé "oui" ou "non" varchar(3)

Pour bien comprendre...


Pour commencer, comme pour le stock, il y a 20 tailles possibles pour chaque article, donc t1_vte à t20_vte sont les quantités pour les différentes tailles vendues.
La version tout commerce, ne gérant pas le tailles ne se soucie que de t1_vte.

Linkiliz fonctionne normalement sous forme de tickets. Ce qui signifie que chaque passage en caisse représente un ticket complet, pouvant contenir un ou plusieurs produits, et un ou plusieurs encaissements. Ce qui va sûrement signifier, qu'un ticket (ou passage) dans Linkiliz correspondera à une vente (ou un passage) dans votre système (par exemple une vente internet ou autre).
Chaque jour, le compteur du numéro de ticket ("tic_num") repart à 0, et s'incrémente au fil des passages.

Chaque passage est identifiable par un marker ("vte_marker" et "enc_marker"), qui sera commun et qui fera le lien de tout ce que contient un ticket.

Exemple rapide :
Voilà comment pourrait se composer un passage (simplifié), d'une personne qui a acheté 3 articles et a payé avec 2 moyens de paiements différents:
-> vente (produit 000014) : 10.00€ vte_marker 20151218_143420_2699
-> vente (produit 000350) : 5.00€ vte_marker 20151218_143420_2699
-> vente (produit 000233) : 5.00€ vte_marker 20151218_143420_2699

-> encaissement (cb) : 15.00€ enc_marker 20151218_143420_2699
-> encaissement (espece) : 5.00€ enc_marker 20151218_143420_2699

Et le passage suivant, un client achète 2 produits et paye avec un seul moyen de paiement :

-> vente (produit 000414) : 110.00€ vte_marker 20151218_164225_7001
-> vente (produit 002352) : 25.00€ vte_marker 20151218_164225_7001

-> encaissement (cb) : 135.00€ enc_marker 20151218_164225_7001

Note : Les quantités pour les produits peuvent être négatives (si le produit est retourné), ce qui induit que les remboursements sont possibles. Voilà pourquoi il y a une clé paiement et une clé remb dans le tableau encaissement.
Si c'est un paiement classique, vous utilisez "paiement" et "paiement_val", et laissez "remb" et "remb_val" vide (valeur ""), et inversement si c'est un remboursement. De plus, inutile de mettre le montant en négatif si c'est un remboursement.

Exemple d'un remboursement :
-> vente (produit 000418) : 110.00€ quantité t1_vte : "-1" vte_marker 20151218_181544_8333
-> encaissement (remb: avoir_creation) remb_val : 110.00€ enc_marker 20151218_181544_8333

Pour ajouter une vente
POST sur http://linkiliz.com/webservice/api.php?ressource=vente en se référant au tableau ci-dessus
important :
réponse : {"insertion":"ok"} si la vente a bien été insérée.

Pour ajouter un encaissement
POST sur http://linkiliz.com/webservice/api.php?ressource=encaissement en se référant au tableau ci-dessus
important :
réponse : {"insertion":"ok"} si l'encaissement a bien été inséré.

vente : Pour obtenir les ventes d'un produit
GET sur http://linkiliz.com/webservice/api.php?ressource=vente&id=001532


encaissement : Pour obtenir les encaissements d'un produit
GET sur http://linkiliz.com/webservice/api.php?ressource=encaissement&id=001532