Jump to content

Zmiana przeliczania cen ze względu na podatek dla wybranego języka


divnet

Recommended Posts

witam

 

używam prestashop 1.6.0.9

 

ceny artykułów niestety są przeliczane przez odpowiedni podatek dopiero po zalogowaniu się klienta.

czy jest możliwe biorąc znacznik wybranego języka np: PL zmienić wartość podatku na odpowiedni dla danego kraju z wybranej wcześniej reguły tak, aby bez logowania dla danego języka/kraju wyświetlała się właściwa cena?

 

gdzie szukać odpowiedniego pliku / funkcji odpowiedzialnej za przeliczanie cen?

 

Marcin

 

Link to comment
Share on other sites

Dziękuję za odpowiedź!

Mam brutto tylko wyświetla mi ceny z domyślnego kraju, a nie bierze pod uwagę języka i waluty w jakiej wyświetla.

Przykład - na polskę mam 23% na danię 25% VAT

Jeśli ktoś wyświetla ceny w koronach duńskich powinien dostać ceny z podatkiem 25% - niestety dostaje 23% i dopiero po zalogowaniu się ceny mu się zmieniają.

Link to comment
Share on other sites

To okropne głupoty w tym swoim sklepie poustawiałeś :(

Proponuję konsultacje z jakimś księgowym, na pewno włos mu się zjeży na głowie.

Od kiedy to się sprzedaje z podatkiem państwa do którego sprzedajesz???

Co cię interesuje jakie są podatki w Papui Nowej Gwinei, albo w Republice Środkowego Konga?

Link to comment
Share on other sites

Poczytałem i faktycznie masz rację. Jak widać urzędnicy-bolszewicy z Brukseli nie próżnują i ciągle tworzą jakieś nowe zagmatwane przepisy podatkowe.

Wracając do Twojego pytania, to raczej dla niezalogowanego klienta nie ma sensu tworzyć takiej funkcjonalności.

1. według wybranego języka, co w przypadku jak np. wybierze niemiecki? podatek z Austrii, z Niemiec, czy polski podatek, bo jest Szwajcarem i nie jest z UE

2. według waluty, całkowicie odpada, bo w większości państw jest euro

3. można by się pokusić o walidację jego IP z którego wszedł do sklepu, ale też lipa, bo jak wejdzie z TOR browsera, to pokaże że klient jest z np. z Singapuru, a na prawdę wszedł np. z Niemiec

4. podatek kraju nabycia można zastosować tylko po przekroczeniu limitu danego kraju, jeśli klient jest np. z Niemiec to do 100 000 euro netto całego zamówienia trzeba mu sprzedać z 23% VAT, a powyżej 100 000 euro z 19% VAT, żeby to było jeszcze bardziej pogmatwane, to każdy kraj ma swoje różne limity

5. klienci z europejskim numerem VAT, w ich przypadku obowiązuje procedura wewnątrzwspólnotowego nabycia, czyli sprzedaż z VAT 0%

 

Także podsumowując, jest to możliwe, ale na poziomie koszyka dla zalogowanego klienta, który już określi adres dostawy.

I oczywiście wymaga to modyfikacji presty, aby była walidowana wartość netto koszyka według limitu nabycia każdego z państw UE i wtedy zastosowany odpowiedni podatek.

Link to comment
Share on other sites

uzywając modułu jaki kupiłem autolanguagecurrency jestem wstanie określić z jakiego kraju jest klient

poniżej logi jakie generuje ten moduł

http://www.intimowoman.com/modules/autolanguagecurrency/log.html

 

tylko nie wiem teraz gdzie mogę wpisać zmianę defaultowego VAT-u na taki wpisany w grupę podatkową przypisany do kraju, który mamy z modułu wyżej

 

Jest do zrobienia tylko potrzeba trochę czasu by przeszukać wszystkie pliki gdzie są i jak wygladają funkcje i konstruktory dla kalkulacji cen a trochę go szkoda.

 

Miałem nadzieję, że ktoś mnie tu nakieruje na dobry tor a resztę już sobie poradzę :)

Link to comment
Share on other sites

uzywając modułu jaki kupiłem autolanguagecurrency jestem wstanie określić z jakiego kraju jest klient

Nie tak do końca, jak pisałem wyżej, jak wejdzie przez TOR-a to będziesz miał IP z całego świata.

 

A co z limitem?

Cytat z artykułu jaki podałeś:

"Pod warunkiem, że wartość sprzedaży za granicę nie przekroczy określonego limitu, jaki ustala sobie każdy kraj członkowski dla wysyłanych lub transportowanych towarów. Limit przeliczany jest na złote, a do całkowitej wartości nie wlicza się kwoty podatku. Aktualnie limity wynoszą od 35 000 euro (np. w Austrii i Belgi) do 100 000 euro (w Niemczech i we Francji)."

 

Wyświetlając w produkcie np. niemiecki vat 19% będziesz wprowadzał klienta w błąd, bo musi nawalić do koszyka towarów za 100 000 euro, żeby mieć taki vat.

Link to comment
Share on other sites

sprzedaż nie jest związana z danym klientem tylko limit jest związany z krajem do jakiego wysyłasz towar czyli jeśli na niemcy wyślesz przez cały rok towaru za kwotę przekraczającą wartość limitu będziesz musiał z własnej kieszeni regulować różnice. Z niemcami nie jest to problem bo mają mniejszy VAT ale np Dania ma 25% i w tym momencie będziesz musiał dopłacić 2% od całej sprzedaży na ten kraj.

rozliczenie będę stosował od nowego roku więc mam jeszcze chwilę na zmiany w systemie ale wolalbym mieć już to zrobione i działające.

 

Jeśli ktoś wejdzie przez TOR to jego sprawa (to ma tylko pomóc klientom) I tak będzie miał weryfikowane ceny po zalogowaniu się i podaniu swojego adresu.

 

Bardziej mi zależy aby klienci nie byli wprowadzani w błąd jeśli chodzi o cenę na wstępie gdyż różnica ceny między towarem przez zalogowaniem a po zalogowaniu może być denerwująca i odstraszająca nabywcę.

Link to comment
Share on other sites

  • 1 month later...

OK jeśli jestes w stanie określić jaki ISO_CODE ma kraj z którego łączy się klient możesz zmieniając parametry

 

if(_PS_VERSION_ >'1.5')

{
if($this->isCountryActive($geolocation->countryCode) == '0')
 
$id_country_by_location = $defaultCountry->id;
 
else
 
$id_country_by_location = Country::getByIso($geolocation->countryCode);
 
}
 
if(_PS_VERSION_ >'1.5')
{
 $this->setNewDefaultCountry($id_country_by_location,$id_language_by_location);
}
 

 

function isCountryActive($iso_code)

 
{
 
return Db::getInstance()->getValue('SELECT `active` FROM `'._DB_PREFIX_.'country` WHERE `iso_code` = \''.pSQL(strtolower($iso_code)).'\'');
 
}

 

function setNewDefaultCountry($id_country_by_location, $id_language_by_location)
{
$defaultCountry = new Country($id_country_by_location,$id_language_by_location);
$context = Context::getContext();
$context->country=$defaultCountry;
 
return;
}
 
ustawić właściwe przeliczanie podatku i wyświetlania cen dla danego klienta/kraju
Link to comment
Share on other sites

  • 2 years later...
Dnia 8.10.2015 o 7:37 PM, divnet napisał:

sprzedaż nie jest związana z danym klientem tylko limit jest związany z krajem do jakiego wysyłasz towar czyli jeśli na niemcy wyślesz przez cały rok towaru za kwotę przekraczającą wartość limitu będziesz musiał z własnej kieszeni regulować różnice. Z niemcami nie jest to problem bo mają mniejszy VAT ale np Dania ma 25% i w tym momencie będziesz musiał dopłacić 2% od całej sprzedaży na ten kraj.

rozliczenie będę stosował od nowego roku więc mam jeszcze chwilę na zmiany w systemie ale wolalbym mieć już to zrobione i działające.

 

Jeśli ktoś wejdzie przez TOR to jego sprawa (to ma tylko pomóc klientom) I tak będzie miał weryfikowane ceny po zalogowaniu się i podaniu swojego adresu.

 

Bardziej mi zależy aby klienci nie byli wprowadzani w błąd jeśli chodzi o cenę na wstępie gdyż różnica ceny między towarem przez zalogowaniem a po zalogowaniu może być denerwująca i odstraszająca nabywcę.

Co prawda stary temat ale ktoś może będzie potrezbował - limity są i jesteś zobowiązanych ich kontorlować aby po ich przekroczeniu zgłosić sie do rozliczania VAT w danym karju w którym osiągnołeś limit sprzedaży w tym wysyłkowej , ale nic nie soti na przeszkodzie aby zarejestrować sie dodatkowo w innych karjach jako ich podatnik VAT i tam rozliczać z VAT przed osiągnieciem limitu - wszytsko zalezy od sklali kosztów obsługi ksiegowej

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