Jump to content
PrestaBizz

Problemer med Moms

Recommended Posts

Jeg har arbejdet en del med at prøve at få PS til at håndtere moms rigtigt ud fra hvor kunden befinder sig efter følgende regler:

 

1) Leveringsadresse i DK: Priser incl. moms

2) Leveringsadresse i EU: Priser incl. moms

3) Leveringsadresse uden for EU: Priser excl. moms

 

Priserne ændres fint til excl/incl moms afhængig af leveringsadresse, men der er følgende problemer:

 

1) For en excl. moms kunde står der stadig en note i kurven om at priserne er incl moms, selv om de er rigtigt angivet uden moms og momsfeltet er 0.

2) For en excl. moms kunde står der i Indkøbskurv Oversigten: Varer ialt (incl moms) og Forsendelse (incl. moms) selv om priserne er rigtigt angivet uden moms og momsfeltet er 0.

3) For en incl. moms kunde står der i Indkøbskurv Oversigten: Forsendelse (incl. moms) selvom prisen er rigtigt angivet uden moms.

 

Er der nogen der har en løsning på dette?

 

Jeg kører 1.5.2.0

Share this post


Link to post
Share on other sites

Jeg forstår ikke helt hvad du mener!

 

Ovenstående gælder for salg til private. Parallelt køre en b2b-model.

 

Er der ingen der har input?

Share this post


Link to post
Share on other sites

Det er dine oversættelser den er galt med.

 

Hvis du vil have den til at skifte mellem (m/moms) og (u/moms) i indkøbskurven, skal du ind og lave noget

{if}{elseif}{else}{/if}

på den.

Share this post


Link to post
Share on other sites

Nu er jeg ikke helt sikker på hvor du mener de ting står.

 

men du kan lave en modul oversættelse af dit cart modul, direkte i BO under oversættelser.

Share this post


Link to post
Share on other sites

Ja - men kan man bruge if/then/else udtryk der? Jeg troede kun man kunne indsætte en "flad" oversættelse.

 

Hvis man faktisk kan bruge logiske udtryk i oversættelsen, hvilken parameter skal jeg så teste på? Altså, hvad hedder parameteren som angiver om priser er med eller uden moms?

Share this post


Link to post
Share on other sites

Det kan du ikke i oversættelsen, men du kan lave den direkte i modulets tpl fil.

Share this post


Link to post
Share on other sites

Der ligger faktisk en funktionalitet i blockcart.tpl som skulle tage hånd om dette. Den ser således ud:

 

 

{if $use_taxes && $display_tax_label == 1 && $show_tax}

{if $priceDisplay == 0}

<p id="cart-price-precisions">

{l s='Prices are tax included' mod='blockcart'}

</p>

{/if}

{if $priceDisplay == 1}

<p id="cart-price-precisions">

{l s='Prices are tax excluded' mod='blockcart'}

</p>

{/if}

{/if}

 

Den virker dog ikke efter hensigten idet den skrive at priserne er incl moms selvom de er rigtigt angivet uden moms.

 

Nogen forslag?

Share this post


Link to post
Share on other sites

Det kan du ikke i oversættelsen, men du kan lave den direkte i modulets tpl fil.

Beklager at sige det, men dine svar kan vi altså ikke bruge til ret meget.

Du bliver nødt til på dette forum at skrive HVAD der skal ændres,

Det er muligt, at du er på udvikler niveau, men det er 95% af brugerne herinde altså ikke.

Så kom ned på et niveau, hvor vi andre kan følge med...

Share this post


Link to post
Share on other sites

Hej Pertho.

 

Mig der ikke lige bruger hovedet, det må du undskylde.

Er på ingen måde for at tale over hovedet på folk, men har selv siddet i rigtig mange dage nu, og ALT for mange timer om dagen (14+) og rodet i tpl, css samt php filerne.

 

PrestaBizz ...

Du skal have fat i /modules/blockcart/blockcart.tpl omkring linje 159-170

 

 {if $use_taxes && $display_tax_label == 1 && $show_tax}
  {if $priceDisplay == 0}
<p id="cart-price-precisions">
 {l s='Prices are tax included' mod='blockcart'}
</p>
  {/if}
  {if $priceDisplay == 1}
<p id="cart-price-precisions">
 {l s='Prices are tax excluded' mod='blockcart'}
</p>
  {/if}
 {/if}

 

Prøvede lige at lave en debug i bunden, for at se hvad variabler cart modulet har adgang til, og kunne umiddelbart ikke lige lure hvilken variable du skal have fat i.

 

Men nu kører jeg så også kun med 1 sprog, og fra 1 land.

Men det kan i hvert fald give dig en ide om hvad du skal kigge efter.

 

smid evt en {debug} i bunden af blockcart.tpl , så kommer der et vindue op med alle variabler cart modulet har adgang til.

Edited by Supremacy2k

Share this post


Link to post
Share on other sites

Hmmm.....det er jo de linier jeg skrev 2 posts højere oppe.

 

Mvh til {debug} kan jeg ikke umiddelbart se noget vindue med variable. Hvor og hvordan kommer vinduet? Er der andre indstillinger der skal ændres for at fremtvinge vinduet?

 

Input meget velkomne! Pft.

Share this post


Link to post
Share on other sites

OK - konsollen skal åbnes i BO og der var åbentbart blokeret for pup-up vinduer i browseren, så nu kommer vinduet frem.

 

Der er to variable $use_taxes og $tax_enabled som begge har værdien 1 selvom kunden ligger uden for EU og tax derfor er 0kr (som fremgår rigtigt af kurven).

 

$tax_rate er 0. Måske det er denne der skal bruges til at teste på?

Share this post


Link to post
Share on other sites

for lige at forstå dig rigtigt.

 

hvis den viser tax er 0kr, så skal den ikke skrive inkl. moms længere nede, korrekt?

Share this post


Link to post
Share on other sites

prøv lige at smide følgende ind på linie 159 i modules/blockcart/blockcart.tpl

 

 {if isset($tax_cost)}
  med moms!
 {else}
  uden moms!
 {/if}

 

og fortæl mig om der er en forskel, og har du mulighed for at teste shoppen fra "kunder" inden for eu, og uden for eu, og se om den skifter mellem det den skal, på den rigtige måde.

Share this post


Link to post
Share on other sites

lille rettelse. (så skifter den teksten med og uden moms, alt efter om total moms, står på 0 eller er højere.

 

 {if $tax_cost > 0}
  med moms!
 {else}
  uden moms!
 {/if}

Share this post


Link to post
Share on other sites

Hvis du altid har moms slået til, og den skifter udelukkende på total moms beløbet i indkøbskurven kan du ændre følgende

 

modules/cartblock/cartblock.tpl

linie: 159 - 170

 

 {if $use_taxes && $display_tax_label == 1 && $show_tax}
  {if $tax_cost > 0}
   <p id="cart-price-precisions">
 {l s='Prices are tax included' mod='blockcart'}
   </p>
  {/if}
  {if $tax_cost < 1}
   <p id="cart-price-precisions">
 {l s='Prices are tax excluded' mod='blockcart'}
   </p>
  {/if}
 {/if}

 

ved så ikke om der er en ide i, at beholde

{if $use_taxes && $display_tax_label == 1 && $show_tax}

 

i den stump kode, men det kan du selv lege lidt med. :)

Share this post


Link to post
Share on other sites

du skal lige være obs på, at du skal opdatere eller skifte side før teksten skifter. :) (skal jeg på min, når jeg tilføjer og fjerner varer)

 

Edit: vil daffe på arbejde, kigger tilbage i morgen.

Edited by Supremacy2k

Share this post


Link to post
Share on other sites

Nu har jeg prøvet de forskellige ting men der står hele tiden "Priserne er incl. moms" i kurven. Jeg har slettet cache og gennemtvunget oversættelse i BO.

Share this post


Link to post
Share on other sites

Jeg fandt ud af at der ligger TO blockcart.tpl filer, en i /modules/blockcart og en i /themes/mytheme/modules/blockcart. Når jeg retter i den under temaet slår ændringerne igennem.

 

Jeg har så brugt tax_rate til at teste på, men problemet er at den ikke altid har en værdi når der ikke er noget i kurven, hvilket medfører at der i visse tilfælde vil stå "priser incl moms" i kurven, selv om priserne på siden vises uden moms. Jeg fjernede så helt linien som skriver om priserne er med eller uden moms da det jo alligevel fremgår af momsbeløbet i kurven.

 

Det løser imidlertid ikke problemet idet der ved checkout for en momsregistreret virksomhed med adresse i et EU-land (som derfor ikke skal betale moms) angives de rigtige priser (uden moms) men med teksten incl. moms.

 

Der er altså et eller andet galt! Informationslinien i kurven (som angiver om priserne er incl/excl moms) er i blockcart.tpl sat til at skifte afhængig af om værdien af variablen $priceDisplay er 1 (med moms) eller 0 (uden moms). Denne variabel har imidlertid værdien 0 uanset om kunden betaler moms eller ej hvilket jo bevirker at informationslinien hele tiden siger "med moms".

 

Konklusionen er altså at momsen regnes rigtigt ud i alle kombinationer (privat person/momsregistreret virksomhed/i DK/i EU/uden for EU), men teksten angives forkert (incl. moms når det skulle være excl. moms). Det er tilsyneladende $priceDisplay der ikke sættes rigtigt, men jeg kan ikke finde ud af hvor det går galt.

 

For at gøre det hele endnu mere speget, så skrives der helt rigtigt på fakturaen at købet er undtaget for moms (når det er et excl moms køB)!

 

Er der nogen der har nogle gode forslag - jeg fatter simpelthen ikke hvor det går galt!

Share this post


Link to post
Share on other sites

hvis din moms ikke er sat kan du bruge en isset($tax_rate) (eller hvad variablen nu hedder, på min tidligere kode, når den tjekker om den der skal skrives med eller uden moms)

 

På checkout siden, skal du have fat i andre filer, da, så vidt jeg ved, blockcart kun er kurven i højre side, og ikke har noget med checkout processen at gøre.

 

(Yes, jeg hader også prestashop på det punkt, at alting skal splittes op på den måde.) haha

Edited by Supremacy2k

Share this post


Link to post
Share on other sites

altså så koden kommer til at se ud som følgende :

 

 {if $use_taxes && $display_tax_label == 1 && $show_tax}
  {if $tax_cost > 0 && isset($tax_rate)}
   <p id="cart-price-precisions">
	 {l s='Prices are tax included' mod='blockcart'}
   </p>
  {/if}
  {if $tax_cost < 1}
   <p id="cart-price-precisions">
	 {l s='Prices are tax excluded' mod='blockcart'}
   </p>
  {/if}
 {/if

dvs den tjekker om $tax_rate er sat, og er over 1, så er det m/moms, ellers er det uden moms.

 

dette burde løse teksten m/moms / u/moms i indkøbskurven.

Share this post


Link to post
Share on other sites

Mange tak skal du have. Jeg prøver det af!

 

Har du en ide om hvor $priceDisplay bliver sat? Det ville formodentligt løse alle problemer da den garanteret og bruges i checkout .tpl'en

Share this post


Link to post
Share on other sites

jeg tror faktisk den sættes i din BO, og er fast.

Har ærligt ikke lige kigget så meget på det, da jeg hverken kører med multishop eller i b2b mode. :(

Share this post


Link to post
Share on other sites

Jeg har nu en løsning hvor teksten m/moms u/moms ændrer sig rigtigt. MEN teksten opdateres først når jeg opdaterer siden i browseren manuelt!!!!

 

Er der nogen der har en ide til hvordan man får ændringen til at slå igennem med det samme?

Share this post


Link to post
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

×

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More