Jump to content

Gestion du stock et validation du paiement (chèques & virement)


Recommended Posts

Bonjour,

 

j'ai vu la question posée plusieurs fois, mais jamais de réponse.

 

Alors j'insiste, des fois que... :ph34r:

 

Chez moi, seuls 30% des commandes par chèque ou virement sont réellement payées...

 

Mon stock étant très limité, en ces périodes de Noël où tout va vite (sauf les réapprovisionnements :rolleyes: ) j'ai horreur de réserver un produit pour un client qui ne payera jamais, et de louper autant de ventes pendant ce temps...

 

Je prends sur moi de devoir refuser les commandes des éventuels clients qui ont payé par chèque ou virement et dont les produits ont été vendus entre leur commande et la réception de leur paiement. Mais louper des ventes à cette période de l'année c'est hors de question!

 

En attendant, je désactive les paiement par chèque ou par virement en décembre... C'est pas tellement mieux...

 

Je repose donc la question, est-il possible de décrémenter le stock uniquement sur les commandes dont le paiement a été accepté?

 

Merci par avance à ceux qui voudront et pourront m'aider.

 

Bien cordialement.

 

Stacy Ann

Link to comment
Share on other sites

  • 1 year later...
  • 2 months later...

De tête je dira dans PayementModule.php, méthode validateOrder, ca fait un moment que je l'ai fait.

 

Après doit y avoir une autre modif à faire pour qu'a changement de statut "en attente de paiement" -> "paiement validé" il y aui décrémentation du stock à ce moment la.

 

C'est pas anodin comme modification.

 

Cdt

Link to comment
Share on other sites

Bonjour à tous,

 

Je ne comprend pas bien vos messages car chez moi, le stock ne se décrémente pas avec un paiement par chèque ou par virement. J'utilise PS 1.5.4.0 et je n'ai rien modifié à ce niveau. 

 

Du coup, l'article n'est jamais réservé en paiement par chèque ou virement, ce n'est pas ce que vous cherchiez à faire ?

Link to comment
Share on other sites

Salut a vous,

Alors moi j'ai quelques chose de très étranges, lors qu'une commande par chèque arrive cela me décrémente le stock (comme vous;)) mais lorsque je la passe en expédié, le stock se retrouve recrédité !!!

Avez vous regarder ce qu'il se passe aprés l'état "en attente de réception de chèque" ?

++

Link to comment
Share on other sites

  • 2 months later...

Bonjour,

 

j'ai réussi à faire ce que je voulais. Le site n'envoie que des devis (places de formation) et le stock est géré à la main.

Lors de la demande de devis, le stock était décrémenté à chaque fois, ce qui posait problème pour le nombre réel de places disponibles.

Pour que le stock ne soit plus décrémenter à chaque demande de devis, j'ai modifié le fichier classes/order/orderdetail en ligne 418

	/**
	 * Check the order status
	 * @param array $product
	 * @param int $id_order_state
	 */
	protected function checkProductStock($product, $id_order_state)
	{
		if ($id_order_state != Configuration::get('PS_OS_CANCELED') && $id_order_state != Configuration::get('PS_OS_ERROR'))
		{
			$update_quantity = true;
			if (!StockAvailable::dependsOnStock($product['id_product']))
				$update_quantity = StockAvailable::updateQuantity($product['id_product'], $product['id_product_attribute'], -(int)$product['cart_quantity']);

			if ($update_quantity)
				$product['stock_quantity'] -= $product['cart_quantity'];

			if ($product['stock_quantity'] < 0 && Configuration::get('PS_STOCK_MANAGEMENT'))
				$this->outOfStock = true;
			Product::updateDefaultAttribute($product['id_product']);
		}
	}

par

/**
	 * Check the order status
	 * @param array $product
	 * @param int $id_order_state
	 */
	protected function checkProductStock($product, $id_order_state)
	{
		if ($id_order_state != Configuration::get('PS_OS_CANCELED') && $id_order_state != Configuration::get('PS_OS_ERROR'))
		{
			$update_quantity = true;
			if (!StockAvailable::dependsOnStock($product['id_product']))
			

			if ($update_quantity)
				$product['stock_quantity'] -= $product['cart_quantity'];

			if ($product['stock_quantity'] < 0 && Configuration::get('PS_STOCK_MANAGEMENT'))
				$this->outOfStock = true;
			Product::updateDefaultAttribute($product['id_product']);
		}
	}

Cela fonctionne pour moi car je n'ai pas d'autres moyens de paiement. Il faut ajouter une condition pour que cela fonctionne avec d'autres modes de paiement sinon le stock ne changera jamais même en paiement par carte.

En espérant que cela fournisse une piste à certains.

Link to comment
Share on other sites

  • 1 year later...

Alors une solution, c'est d'aller voir dans Commandes>états (pour la version 1.6) ou commandes>statut (pour la version 1.5) et de modifier la ligne : "En attente de paiement par chèque".

Vous cocher "Marquer la commande associée comme payé" si vous voulez que le stock soit défalqué ou vous le décoché pour que le stock ne bouge pas tant que c'est pas payé :)

Un grand merci à l'équipe de Ecommerce Facile pour avoir résolu mon problème !

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...