Jump to content

Hromadná změna cen - DPH


Vulcan163

Recommended Posts

Zdrávím,

neměl by jste prosím někdo radu jak hromadně upravit cenu u všech produktů?

Resp. jde o to, že do teď jsem u produktů zadával cenu do pole koncová cena - kde jsem ale zadával cenu s DPH.

image.png.2c6bff2c868ef8d96d24fd689b57a327.png

V eshopu jsem neměl pole na zadání ceny s DPH a bez DPH - což jsem vyřešil tímto:

 

 

Nyní ale mám u všech produktů špatnou cenu -

 image.png.250dcf35e1d05bd7722051db400b1f3d.png

Moje cena, kterou chci aby byla vidět zákazníkům (12kč) je v poli Maloobchodní cena bez DPH.
Potřeboval bych jí dostat do pole Maloobchodní cena s daní a cena bez daně aby se sama vypočítala. Toto ale potřebuji provést u cca 5000 produktů.

Lze to prosím udělat nějak hromadně?

Našel jsem i tento návod https://webtrh.cz/395166-prestashop-hromadna-zmena-dph-produktu jak pomocí SQL změnit cenu u všech produktů, ale vždy se cena změní o nepochopitelné procenta a nefunguje to.

Předem děkuji za pomoc.
 

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

A nebylo by lepší sem dát SQL dotaz který jsi použil a spustil ?

Na webtrhu jsem nahodil pouze informativní SQL dotaz jak dosáhnout změny všech cen, nelze pouze Ctrl + C / Ctrl + V

14,52 ÷ 1,21 = 12 (původní zjištěná hodnota bez DPH a nová cena včetně DPH)

12 ÷ 1,21 = 9,917355 (nová cena bez DPH)

Zjisti si v databázi, jaká je cena zapsaná v tabulce. Pokud bude zapsaná cena 12, použiješ ROUND (SUM (price / '1.21') , 6) ..... kde u všech produktů se odečte 21% a zaokrouhlí se na 6 desetinných míst.

Pokud jsou DPH u produktů rozdílné, musí se zjistit podle vat group hodnota atd...

Případně napsat PHP script, který projde všechny produkty a ceny změní s využitím prestashop funkce getPrice

 

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

Ale, když si uděláš zpětnou kontrolu, tak zjistíš menší rozdíl ve výpočtu:

9,917355 ×1,21 = 11,99999955

Při standardním nastavení Prestashopu a zaokrouhlení na 2 desetiny dostaneš cenu 12 .

Link to comment
Share on other sites

Děkuji za odpověď.

 

V SQL tabulce ps_product je uložena správná cena 94Kč - tzn. s DPH

image.png.d51f2bfb2ef892802a38093582540547.png

Eshop, ale tuto hodnotu zobrazuje jako maloobchodní cenu bez DPH...

image.png.29f38c360fef4d7c358ae478adfb3102.png

V SQL tabulce není hodnota pro cenu s DPH i bez DPH - tzn. předpokládám, že Presta si cenu dopočítává logicky sama dle nastaveného daňového pravidla.

Potřeboval bych tedy do pole price v tabulce ps_product dostat cenu která tam je aktuálně a tu snížit o 21%.

Ještě je zajímavé, když upravím ručně cenu v SQL v poli price tak se cena na eshopu nezmění 😞

Předem díky

Link to comment
Share on other sites

Omlouvám se, ale v SQL nejsem úplně profík.

DPH je u všech produktů stejné - 21%

UPDATE ps_product SET price = ROUND (SUM (price / '1.21') , 6);
UPDATE ps_product_shop SET price = ROUND (SUM (price / '1.21') , 6);

 

Kde je v tomto dotazu chyba ? 😞

 image.png.8961fd39c10014334d36e55a7da70d26.png
 

Link to comment
Share on other sites

Mezera za sum a ROUND

UPDATE ps_product SET price = ROUND(SUM(price / '1.21') , 6);
UPDATE ps_product_shop SET price = ROUND(SUM(price / '1.21') , 6);

Link to comment
Share on other sites

A bez ROUND to také nefunguje ?

UPDATE ps_product SET price = SUM(price / '1.21');
UPDATE ps_product_shop SET price = SUM(price / '1.21');

Link to comment
Share on other sites

U všech cen odečíst 21%:

UPDATE ps_product SET price = (price / '1.21') WHERE price > 0;
UPDATE ps_product_shop SET price = (price / '1.21') WHERE price > 0;

Pokud existují atributy a speciální ceny, použije se také:

UPDATE ps_product_attribute SET price = (price / '1.21') WHERE price > 0;
UPDATE ps_product_attribute_shop SET price = (price / '1.21') WHERE price > 0;
UPDATE ps_specific_price SET price = (price / '1.21') WHERE price > 0; 

 

produkty před úpravou:

obrazek.thumb.png.af45aba714cf0513bc0a67f79fe5e7ca.png

 

produkty po úpravě:

obrazek.thumb.png.1e00584f6127e63296bcd57483298b2a.png

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