Jump to content

Problemer med Moms


PrestaBizz

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

Link to comment
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?

Link to comment
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?

Link to comment
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...

Link to comment
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 (see edit history)
Link to comment
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.

Link to comment
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å?

Link to comment
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.

Link to comment
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. :)

Link to comment
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!

Link to comment
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 (see edit history)
Link to comment
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.

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