Jump to content

[RESOLU]Gérer les transports par Tranches (de prix ou de Poids) et Par département en France!


Recommended Posts

Ayant galéré pour trouver et mettre en place cette solution, je la partage avec vous.!!!


Insérer dans votre base de données les tables suivantes dans l'ordre :
PS-zones-etats-taxes-country-departements-FR.txt

----------------------------------------------------

*Créer un nouveau transporteur,
*Cocher les Départements où il pourra assurer la livraison
*Configurer les tranches de Prix ou de Poids pour votre nouveau transporteur
*Dans "Frais par transporteurs, zones et tranches" Le tableau affichera dans la première colonne les différents départements.
*A vous de jouer pour entrer les tarifs.
----------------------------------------------------
Les nouveaux clients devraont obligatoirement renseigner leur département et le calcul se fera automatiquement!


ATTENTION!!!
Si vous avez déjà des clients enregistré sur votre site!!!

PS-zones-etats-taxes-country-departements-FR.txt

  • Like 1
Link to comment
Share on other sites

bonjour senzoi

je viens de votre post, qui semble correspondre à peu près à mon problème : ma boutique va expédier ses produits en france métropolitaine et corse avec délais j+1 ou J+2 selon le transporteur choisit par le visiteur, chaque transporteur ayant sa grille tarifaire, mais aussi et surtout, la boutique va expédier vers les domtom, avec les deux memes transporteurs, mais des délais allant de j+3 à J+8 selon le transporteur et ce à des tarifs différents en fonction des tranches de poids... comment puis je faire? merci pour votre coup d'oeil
Fabien

Link to comment
Share on other sites

bleuindigo
Si tu mets en place le petit tuto que j'ai posé, tu auras la possibilité d'associer un transporteur à différents départements.
Tu pourras dans ton cas (envoie avec un même transporteur vers DOM TOM) 2 transporteurs (avec un détails de délai de livraison différent) qui ne seront en fait qu'un seul et même transporteur. (j'espère être clair). Pour le premier, tu auras une tranche spécifique de poids et des départements associés et pour l'autre une tranche de poids spécial et les départements (DOM/TOM).

J'espère avoir été relativement clair???
Senzoi

Link to comment
Share on other sites

Ca risque d'être peut-être un peu compliqué alors. Mais ca se fait bien!!!
Il faut que tu puisse avoir accès à ton outils de gestion de base de données (PHPMySql par exemple)
Avant toute chose, biensure, faire une sauvegarde de la base de données

Donc je reprend. Depuis PHPMySQL, importer le fichier.
En retournant sur ton site tu devrais obtenir le résultat escompté!

Link to comment
Share on other sites

senzoi,

merci beaucoup, je viens de terminer et ca marche nickel, en fait quand on renseigne la fiche client pour la commande, le serveur demande de renseigner l'état en complément du code postal et du pays:france... et du coup ca appelle le bon transporteur et donc tarifs...
il serait bien que dans une prochaine version de presta ca puisse etre plus simple à rentrer car j'ai 12 tranches produits multipliées par le nombre de département et par le nombre de transporteur... aie aie aie...
mais bon c'est cool ca marche
merci à toi
Fabien

Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...

Merci senzoi pour ce fichier vraiment super pratique !

Je viens de l'essayer, et je me dis qu'il est nécessaire de procéder à une petite modification dans le BO pour que ça marche tip top.
En faisant un test, je me suis aperçu que cette liste apparait dans la liste Etats (qu'on peut modifier en traductions FO). Cependant pour un client résident en France, le champ Etat n'est pas pris en compte. Il est indiqué comme étant requis mais pas enregistré.
J'ai essayé après coup de remettre ce champ en modifiant l'adresse du client dans son compte (en FO), idem, pas pris en compte.
J'ai alors essayé en admin sur le BO pour ajouter ceci. Ici, message d'erreur "Ce pays ne permet pas de contenir des Etats" ou quelque chose de la sorte, je ne l'ai plus sous les yeux.

La modification à apporter est dans Transports / Pays / puis modifier France, et cocher "Contient des états = Oui".
A partir de là, le champ Etat devient indispensable pour finaliser l'inscription du client.

Ensuite pour que ça soit un tantinet plus sexy, il est tout de même mieux de faire quelques traductions en BO :
Traductions FO :
- Modifier tous les champs "State" par "Département" au lieu de "Etat" (1 dans address + 1 dans authentication)
Traduction des messages d'erreur :
- "this country require a state selection" = "ce pays requiert la sélection d'un état" par "ce pays requiert la sélection d'un département" (ou encore plus mieux : "vous devez sélectionner votre département car certains modes de transport en tiennent compte", ou à votre sauce.

Et éventuellement dans "an address which is located in a country containing states must have a state selected" = "une adresse localisée dans un pays contenant des états doit en sélectionner un", mais je ne sais pas trop dans quelle situation on peut rencontrer cette erreur. Dans le doute j'ai modifié aussi.
Bon, on fait une croix sur la gestion des Etats aux US mais je pense que ça ne concerne pas grand monde ici.

Voilà pour ce que je peux modestement apporter.

Maintenant à mon tour !!
Vu que j'ai la bagatelle de 9 tranches de poids par département... Eh ben oui, ça fait 855 valeurs à entrer en BO... :(
Est-ce que par le plus grand des hasards il y aurait moyen à partir d'un export Excel contenant toutes les valeurs (txt) de les balancer dans la base d'un coup ?

Encore autre chose pour fiabiliser un peu : rien n'empêche de choisir un département autre que celui correspondant à son code postal. Du coup il y a des chances que ça coince un jour car tout ne pourra pas nécessairement être vérifié par le gestionnaire (et ce n'est pas le but !). L'idéal serait que le champ Département soit croisé avec les deux premiers chiffres du code postal au moment de la validation du compte client. est-ce possible ?

PS. Soit dit en passant y'a un truc que j'ai pas pigé... L'importation du fichier texte dans phpmyadmin m'a fait planter mon sql-prive chez OVH... J'ai du le redémarrer et tout est rentré dans l'ordre...

Link to comment
Share on other sites

  • 4 months later...

Je remets ce sujet d'actualité, ca pourra aider certain d'entre vous :)

Si vous avez des problèmes pour faire fonctionner tout ca, contactez moi car ca fonctionne parfaitement maintenant sur ma boutique après avoir modifier quelques noms de tables et nombres d'attributs.

Link to comment
Share on other sites

  • 4 weeks later...

bonjour et merci pour ce travail
mais j'ai un pertit soucis apres avoir tout installé je ne vois pas ou on perut renseigner les tarifs par zone ?? dans chaque onglet apparaissent les departements mais dans tranche de prix rien ???

y a t il quelques choses qui m'ai echappé

aldo

ca y est resolu il fallait regarder dans transport et pas transporteurs :-))

Link to comment
Share on other sites

  • 3 weeks later...

Premièrement merci pour les explications, j'ai suivi à la lettre les étapes, et tout fonctionne correctement, enfin presque...

Lorsqu'un client souhaite changer son adresse d'expédition, et qu'il rentre une nouvelle adresse, le champ "état" n'apparait pas, et n'est donc pas pris en compte pour la livraison. Les ports se calculent uniquement sur l'adresse de facturation.
Auriez-vous une solution ?

Link to comment
Share on other sites

  • 4 weeks later...

Bonjour à tous,

Pour ma part, j'ai essayé de l'installer dans ma base et une erreur est apparue :
Erreur

requête SQL:

INSERT INTO `cb_zone` ( id_zone, name, active, enabled )
VALUES ( 53, '01-Ain', 1, 1 ) ;

MySQL a répondu:Documentation
#1054 - Unknown column 'enabled' in 'field list'

Quelqu'un à t'il une idée du pourquoi de cette erreur ?
Merci d'avance.

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

J'ai essayé ta solution senzoi mais comment dois je m'y prendre pour importer tes données??

J'ai essayé voici le résultat dans phpadmin:

Erreur

requête SQL:

INSERT INTO `ps_zone` ( id_zone, name, active, enabled )
VALUES ( 53, '01-Ain', 1, 1 ) ;

MySQL a répondu: Documentation
#1054 - Unknown column 'enabled' in 'field list'

J'ai raté un truc???

Si quelqu'un peu m'aider

Link to comment
Share on other sites

  • 1 month later...

Bonjour,
Aucunes réponses aux deux derniers topic ? car je rencontre exactement ce genre d'erreur, je suis sous la version 1.3.2.


Erreur

requête SQL:

INSERT INTO `ps_zone` ( id_zone, name, active, enabled )
VALUES ( 53, ’01-Ain’, 1, 1 ) ;

MySQL a répondu: Documentation #1054 – Unknown column ‘enabled’ in ‘field list’

Link to comment
Share on other sites

Bonjour, ayant la version 1.3.2, j'ai du donc modifier le fichier txt de " senzoi " pour cette version, je vous en fait part pour ce qui rencontrent le problème d'insertion dans leur base sql.
Attention: Pour ceux et celles qui ont nommés le suffixe de leurs tables par un autre terme, songez à remplacer " ps " par le suffixe choisi lors de l'installation de prestashop.

PS-zones-etats-taxes-country-departements-FR.txt

Link to comment
Share on other sites

  • 2 weeks later...
Ayant galéré pour trouver et mettre en place cette solution, je la partage avec vous.!!!


Insérer dans votre base de données les tables suivantes dans l'ordre :
PS-zones-etats-taxes-country-departements-FR.txt

----------------------------------------------------

*Créer un nouveau transporteur,
*Cocher les Départements où il pourra assurer la livraison
*Configurer les tranches de Prix ou de Poids pour votre nouveau transporteur
*Dans "Frais par transporteurs, zones et tranches" Le tableau affichera dans la première colonne les différents départements.
*A vous de jouer pour entrer les tarifs.
----------------------------------------------------
Les nouveaux clients devraont obligatoirement renseigner leur département et le calcul se fera automatiquement!


ATTENTION!!!
Si vous avez déjà des clients enregistré sur votre site!!!
Link to comment
Share on other sites

  • 3 weeks later...

ATTENTION !

Cette solution est dangereuse !

En effet, si vous utilisez les services tel que So Colissimo, votre client va passer par leur webservices pour valider l’adresse de livraison. Et lorsque le client revient sur le site, le paramètre du département va être perdu, donc plus de TVA, donc panier HT et toute la boutique passe en HT.

C’est du vécu.

Officiellement, Prestashop ne gère pas les frais de livraison par département, point. Il faut lisser les frais au niveau national.

Link to comment
Share on other sites

Une solution "classique" semble fonctionner :
http://www.teletuto.fr/story.php?title=appliquer-un-tarif-de-transport-par-departement-dans-prestashop
...avec cependant un souci :
Un internaute malin (pas très honnête) remplira , lors de son inscription, le champ code postal réel correspondant à son adresse de livraison, et le champ "état" (qui correspond aux départements en fait) avec le département du marchand pour bénéficier du tarif transport le plus bas, et le marchand, lui, paiera le transport au prix fort !

Quelqu'un a une idée pour solutionner cela ?

Link to comment
Share on other sites

  • 3 weeks later...

Bonsoir a tous
Je suis tres interesse par la solution proposée dans ce post.
Est il possible de copier directement le fichier de Senzoi directement dans la base de donnée
et si oui comment lancer cette requete via phpmyadmin
Merci pour vos reponses

Link to comment
Share on other sites

Autre petite question, quelqun pourrait me dire quel table de la base de donnée est utiliséepour les prix des transports par tranche de poids, et est il possible d'integrer directement dans cette table une grille de tarif au format excel

Link to comment
Share on other sites

  • 4 weeks later...

Merci beaucoup pour ce partage qui m'a fait gagner énormément de temps ! J'apporte quelques précisions pour ceux qui sont sur prestashop 1.4

- Prenez bien le fichier de eseric81 que je remets en pièce jointe à ce post
- Si vous avez une erreur qui vous dit que certaines tables n'existent pas : ps_tax_zone et ps_tax_state en l'occurence, il faut lancer les 2 requêtes SQL ci-dessous :

CREATE TABLE IF NOT EXISTS `ps_tax_state` (
 `id_tax` int(10) unsigned NOT NULL,
 `id_state` int(10) unsigned NOT NULL,
 `name` varchar(32) NOT NULL,
 UNIQUE KEY `tax_lang_index` (`id_tax`,`id_state`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;



et

CREATE TABLE IF NOT EXISTS `ps_tax_zone` (
 `id_tax` int(10) unsigned NOT NULL,
 `id_zone` int(10) unsigned NOT NULL,
 `name` varchar(32) NOT NULL,
 UNIQUE KEY `tax_lang_index` (`id_tax`,`id_zone`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;




Voilà, ensuite c'est que du parametrage dans le BO. Bon je ne suis pas expert là dedans, donc pardonnez moi s'il y a des incohérence dans ma réponse mais cela fonctionne très bien chez moi!

Bonne soirée

PS-zones-etats-taxes-country-departements-FR.txt

Link to comment
Share on other sites

  • 2 months later...

Bonjour à tous et merci de vos contributions

je suis sûre que vous vous forcer de rendre les choses compréhensibles pour tout le monde (ou presque). Sauf qu'il ya des gens comme moi qui ne comprennent pas grand chose en informatique et qui se lanche qd même.

j'ai un problème de configuration de transporteurs et on m'a conseillé ce poste. j'aimerai livrer en france par la poste au tarifs de la poste et sur Lyon et ses communes par moi même gratuitement. On m'a conseillé ce poste, j'ai télécharger le fichier "PS-zones-etats-taxes-country-departements-FR.txt" tel quel dans ma base de donnés, dans "home" mais je ne vois aucun changement dans mon panneau d'administration, et je ne sais pas ce que je dois faire maintenant.

je vais être lourde mais est ce que vous pouvez me faire une explication genre "Pour les nulles"

j'ai passé beaucoup de temps à faire ce site en partant de zéro et je suis sur le point de tout laisser tomber !
Aider moi s'il vous plait

Mima
www.lunivers-des-enfants.com

Link to comment
Share on other sites

  • 6 months later...

Bonjour,

Aucunes réponses aux deux derniers topic ? car je rencontre exactement ce genre d'erreur, je suis sous la version 1.3.2.

Erreur

requête SQL:

INSERT INTO `ps_zone` ( id_zone, name, active, enabled )

VALUES ( 53, ’01-Ain’, 1, 1 ) ;

MySQL a répondu: Documentation #1054 – Unknown column ‘enabled’ in ‘field list’

 

 

il suffit de rajouter un champ "enabled" (INT(10)) dans la table ps_zone.

 

Comme le dit Sébastien Collet, cette solution n'est à utiliser que si on livre par transporteur (pas de So Colissimo ou module complémentaire) et si on a une boutique suffisamment petite pour vérifier "manuellement" que le code postal correspond bien à la zone de livraison sélectionnée par l'internaute... Sinon on le rappelle au tel ou on annule son paiement.

 

Ca reste quand même un peu artisanal :wacko:

Link to comment
Share on other sites

  • 3 months later...

Ayant galéré pour trouver et mettre en place cette solution, je la partage avec vous.!!!

 

 

Insérer dans votre base de données les tables suivantes dans l'ordre :

PS-zones-etats-taxes-country-departements-FR.txt

 

----------------------------------------------------

 

*Créer un nouveau transporteur,

*Cocher les Départements où il pourra assurer la livraison

*Configurer les tranches de Prix ou de Poids pour votre nouveau transporteur

*Dans "Frais par transporteurs, zones et tranches" Le tableau affichera dans la première colonne les différents départements.

*A vous de jouer pour entrer les tarifs.

----------------------------------------------------

Les nouveaux clients devraont obligatoirement renseigner leur département et le calcul se fera automatiquement!

 

 

ATTENTION!!!

Si vous avez déjà des clients enregistré sur votre site!!!

 

Bonsoir, alors là...moi je ne sais meme pas comment inserer les tables et ensuite pour ce qui est de l'importation je suis perdu ...un peu d'aide peut etre, merci

Link to comment
Share on other sites

  • 5 months later...

bonjour

je voudrais savoir le nom de la table où se trouve le prix du transport par zone. merci

(la réponse que j'attends doit être dela forme : nom de la table pour la version 1.4.X : ps_xxxxxxxxxxx )

ceci pour transfert d'un tableau excel de mon transporteur dans cette table.

merci à tous

Link to comment
Share on other sites

  • 6 months later...

Bonjour,

 

Je me permets de remonter ce sujet pour vous informer que j'ai une extension sur le PrestaStore qui correspond vos besoins et sans manipulations complexes :

 

http://addons.presta...es-postaux.html

 

Si vous avez la moindre question, n'hésitez pas !

 

Cordialement,

Emmanuel

 

Salut Emmanuel,

 

Je suis intéressée par ce genre de module.

Petites questions cependant histoire d'être bien sûre. (que tu trouveras peut-être stupides, mais bon ^^)

Est-ce que ton module :

  • me permettra d'affecter un tarif transport code postal par code postal, ou le découpage se fait-il uniquement par zone / Région c'est-à-dire plage de code postaux
    --> mon cas perso est tel et tel département = 0€ FP et tel et tel autre 15€ (grossièrement) mais il faut vraiment que je puisse renseigner le CP et non le département complet
    Ton descriptif de fonctionnalités semble me dire que oui mais tes screen me font un peu peur... peut-être simplement parce que je ne suis pas familière des zones en BO prestashop encore.
  • Dans un tel cas, je devrais donc lister à la mano tous les départements français et leur affecter le frais de port que je souhaite c'est cela ?
  • Concrètement, dès l'identification / inscription de l'internaute, s'il passe commande, les frais de port s'afficheront dans son bon de commande selon le département indiqué dans l'adresse de facturation c'est bien cela ?
  • Est-ce que ce frais de port est expliqué dans la facturation justement ? Y'a t-il une petite ligne disant : "Votre département n'est pas couvert par la livraison à domicile / la livraison relais..." ?
    Est-ce qu'il est possible d'insérer ce genre d'annotation quelque part ?
  • En cas de mise à jour presta, est-ce qu'être client de ton module signifie que tu me donneras accès aux mises à jour de ton module gratuitement ? Peux- tu assurer un suivi de ton module ou est-ce qu'il s'agit là d'une version qui a peu de chance d'évoluer ? (ouais ok .. tu vas difficilement me répondre 'non' si tu veux me le vendre ^^ mais tu vois l'idée, sincèrement, juste que je sache à quoi m'en tenir si j'achète)

Merci par avance pour ta réponse.

A plus

Link to comment
Share on other sites

Bonjour,

 

Il n'y a jamais de questions stupides :)

 

Concernant les tiennes, oui il est possible de faire un tarif code postal par code postal. Il te faut créer une zone par tarif, et ensuite à l'aide de mon module, appliquer chaque code postal à la zone que tu souhaites. Le module marche par tranches de codes postaux, mais si tu indiques une tranche de 12345 à 12345, alors cela ne concerne que le code postal 12345.

Tout cela est possible mais comme tu dis, il faut lister à la mano, ce qui est long... Très long. C'est pourquoi j'ai ajouté il n'y a pas très longtemps, une fonction d'import CSV. De cette façon, tu peux le faire sous Excel, ce qui est bien plus pratique !

L'affichage des frais de port est complètement transparent pour le client. A chaque fois que les frais sont affichés, il verra le montant qui correspond à son code postal. Bien entendu, par rapport à son adresse de livraison (et non facturation).

Oui tu auras droit à toutes les prochaines mise à jour (et heureusement). Je ne fonctionne pas par licence valable X temps ou je ne sais quelle autre méthode. Tu achètes le module, tu as le droit à toutes les maj gratuitement. Concernant l'évolution du module, je corrige tous les bugs que peuvent me remonter les clients. Mais pour tout te dire, cela fait plusieurs mois maintenant qu'il est disponible, il est donc vraiment stable (cela fait bien longtemps qu'un client ne m'a pas signaler un problème). Dans tous les cas, si jamais cela ne venait pas à fonctionner normalement, je suis toujours disponible ;) Pour te rassurer, les plus gros problèmes avec les modules sont en général lors d'une maj importante de PrestaShop. Dans mon cas, passer de PrestaShop 1.4 à 1.5 n'a demandé qu'une toute petite modification visuelle dans l'administration (le module fonctionnait très bien quand même). Et je suis persuadé que cela sera pareil pour la prochaine version puisque j'ai codé le module de façon à faciliter les modifications et maximiser la compatibilité en cas de mise à jour importante. Ce qui veut dire aussi qu'il n'y a rien à modifier dans le code de PrestaShop, on installe, on configure et on retourne se coucher en attendant les commandes :)

 

J'espère avoir répondu à tes questions :) Si tu en as d'autres, n'hésite pas !

 

++

Emmanuel

Link to comment
Share on other sites

  • 5 months later...

Bonjour,
j'ai un peu le même problème...

j'aimerais configurer des frais de ports gratuits en France, si et seulement :

- si minimum 15 € d'achat

   +

- si livraison dans 27 villes/villages (27 codes postaux) de la communauté urbaine de ma ville (strasbourg)

Comment associer ces deux conditions ?

Les autres modes de livraison en France restent basiques...

Merci

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