PDF-Belegerstellung

 Hallo zusammen,

wenn ich eine steuerfrei Lieferung habe muss auf der Rechnung stehen : Steuerfreie innergemeinschaftliche Lieferung, gem. §4 Nr.1b UstG i.V.m. §6a UstG" oder Drittländer :
„STEUERFREIE AUSFUHRLIEFERUNG GEM. §4 Nr.1a UstG i.v.m. §6 UstG.“ Dazu habe ich in der index.tpl folgenden Code eingefügt und zusätzlich habe ich in den Grundeinstellungen/Shopeinstellungen/Länder-Zonen „eu“ angelegt:

            {block name="document_index_info_net"}
                {if $Document.netto == true}
                	{s name="DocumentIndexAdviceNet"}{/s}
					{if $User.$address.country.countryarea == 'eu'}
							"Steuerfreie innergemeinschaftliche Lieferung, gem. §4 Nr.1b UstG i.V.m. §6a UstG".
						{else}
							"STEUERFREIE AUSFUHRLIEFERUNG GEM. §4 Nr.1a UstG i.v.m. §6 UstG."	
					{/if}
				{/if}

Irgendetwas stimmt da nicht, denn es wird immer „STEUERFREIE AUSFUHRLIEFERUNG GEM. §4 Nr.1a UstG i.v.m. §6 UstG.“ ausgegeben auch wenn ich ein EU-Land bestelle.
Gruß

Hast du lieferadresse oder rechnungsadresse angesprochen?

Lieferadresse wäre hier primär.

Gruss

Matthias 

 

Ich habe es auch schon mit " $additional.country.countryarea == 'eu' " probiert, geht auch nicht.

Gruß

Ich würde erstmal testen, was überhaupt in der Variable drin steht.

Also Testbestellung anlegen und dann die Variablen mal ausgeben lassen.

Ich weiß blöde Frage gibt es nicht, aber wie stelle ich das an ?

Hallo, zu dem Problem mit dem Hinweis auf die steuerfreie Lieferung im Rechnungsformular habe ich folgende einfache Lösung gefunden:

Wenn der Kunde bestellt und seine USt-ID-Nummer eingibt, wird die Bestellung ja schon netto ausgeführt.
Beim Rechnungsbeleg erstellen kommt dadurch automatisch der folgende Satz:

Dies ist ein Text, den Du über die Textbausteine einfach ändern kannst in den formal richtigen Satz „steuerfreieie innergemeinschaftliche Lieferung nach § …“

 

update:

Bei einer steuerfreien Lieferung in die Schweiz kommt dieser Textbaustein dann leider auch.
Mist …

Eigentlich müßte dieser Textbaustein an die Eingabe einer UID-Nr aus dem EU-Ausland gekoppelt sein, nicht einfach nur an den Steuersatz 0%

 

Versucht es mal so in Themes -> eigenes Themes -> documents -> index.tpl 

{block name="document_index_info_net"}
				{if $Document.netto == true}
				{s name="DocumentIndexAdviceNet"}{/s}
				{if $User.$address.country.countryiso == 'CH' || 'NO'}
				{s name="DocumentIndexSteuerfrei"}{/s}
				{else}
				{s name="DocumentIndexSteuerfreiEG"}{/s}
				{/if}{/if}
				{s name="DocumentIndexSelectedPayment"}{/s} {$Order._payment.description}
				{if $Order._payment.description == Vorkasse}
				{s name="DocumentIndexPaymentVorkasse"}{/s}
				{elseif $Order._payment.description == PayPal}
				{s name="DocumentIndexPaymentPayPal"}{/s}				
				{/if}
			{/block}

 

Hi Tanny, 

Deinen Lösungsansatz finde ich prizipiell gut und würde hier gerne einhaken, weil ich erstens denke, dass Du in Deiner Syntax einen kleinen Fehler in der " || "-Verknüpfung eingebaut hast und Du zweitens Drittländer außerhalb der EU unberücksichtigt lässt (z.B. Russland oder Südafrika)

Hier mein Vorschlag für die "themes/Frontend/*yourtheme*/documents/index.tpl

			{extends file="parent:documents/index.tpl"}

			{block name="document_index_info_net"}
				{assign var=sISO value=$User.$address.country.countryiso}
				{assign var=bInEU1 value=(
					$sISO == 'BE' || $sISO == 'BG' || $sISO == 'DK' ||
					$sISO == 'EE' || $sISO == 'FI' || $sISO == 'FR' ||
					$sISO == 'GR' || $sISO == 'IE' || $sISO == 'HR' ||
					$sISO == 'LV' || $sISO == 'LT' || $sISO == 'LU' ||
					$sISO == 'RO' )}
				{assign var=bInEU2 value=(
					$sISO == 'GB' || $sISO == 'CY' || $sISO == 'MT' ||
					$sISO == 'NL' || $sISO == 'AAAT' || $sISO == 'PL' ||
					$sISO == 'PT' || $sISO == 'SE' || $sISO == 'SK' ||
					$sISO == 'SI' || $sISO == 'ES' || $sISO == 'CZ' ||
					$sISO == 'HU' )} 
					
				{assign var=bInEU value=($bInEU1 || $bInEU2)}				
				
                {if $Document.netto == true}
					{if $bInEU}
						{s name="DocumentIndexSteuerfreiEU"}{/s}
					{else}
						{s name="DocumentIndexAdviceNet"}{/s}
					{/if}
                {/if}
                {s name="DocumentIndexSelectedPayment"}{/s} {$Order._payment.description}
            {/block}

Irgendwie werden mit meine <…> HTML-Tags oben im Code immer escapet (<…>). Weiß jemand was ich dagegen machen kann?</…>

1 Like

Hallo,

es hat ein bisschen gedauert aber ich habe die einfachst Lösung mit Hilfe (Danke Waldi!) gefunden.

Aber ich danke dem Rest für eure Möglichkeiten.

Die richtige Variable ist : {if $User.shipping.country.areaID == ‚4‘}.

ToDo für diejenigen die das auch gebrauchen können:

  1. In den Grundeinstellungen/Shopeinstellungen/Länder-Zonen habe ich die neue Zone „eu“ angelegt und in der Datenbank dazu die ID rausgesucht.

  2. In Grundeinstellungen/Shopeinstellungen/Länder, die Länder anpassen die Unterschieden werden sollen.

  3. In Themes/eigenes Themes/documents/index.tpl den folgenden Code eintragen :

    {extends file=„parent:documents/index.tpl“}

    		{block name="document_index_info_net" append}
    				{if $Document.netto == true}
    					{if $User.shipping.country.areaID == '4'}
    						"Steuerfreie innergemeinschaftliche Lieferung, gem. §4 Nr.1b UstG i.V.m. §6a UstG."
    					{else}
    						"STEUERFREIE AUSFUHRLIEFERUNG GEM. §4 Nr.1a UstG i.v.m. §6 UstG."
    					{/if}
    				{/if}
    		{/block}
    

Have fun!

Greetings Doc

1 Like

Hallo und danke für diesen tollen Post, er hat mir sehr weitergeholfen. Ich habe eine Frage bzg. meinem Verständnis wie ich ein append und ein extend in einem tpl-File zusammenfassen kann. Ist das so korrekt?

{extends file="parent:documents/index.tpl"}

 	{block name="document_index_address_countryData"}
    	{if $User.$address.state.shortcode}{$User.$address.state.shortcode} - {/if}
    	{$User.$address.country.countryen}
    	Telefonnummer: {$User.billing.phone} 
    	E-Mail: {$Order._user.email} 
        {if $User.attributes.iln}
    		{s name="iln"}Ihre ILN/GLN: {/s}{$User.attributes.iln}
        {/if}
        {if $User.billing.ustid}
        {s name="DocumentIndexUstID"}Ihre {/s} {$User.billing.ustid|replace:" ":""|replace:"-":""}
            {s name="DocumentIndexCustomerID"}{/s} {$User.billing.customernumber|string_format:"%06d"}
        {s name="DocumentIndexOrderID"}{/s} {$Order._order.ordernumber}
        {/if}

    {/block}

    {block name="document_index_head_right"}
        {$Containers.Header_Box_Right.value}

        {s name="DocumentIndexDate"}{/s} {$Document.date}
        {if $Document.deliveryDate}
        	{s name="DocumentIndexDeliveryDate"}{/s}
        	{$Document.deliveryDate}{/if}
    {/block}


    {block name="document_index_info_net" append}
            {if $Document.netto == true}
                {if $User.shipping.country.areaID == '4'}
                    "Steuerfreie innergemeinschaftliche Lieferung, gem. §4 Nr.1b UstG i.V.m. §6a UstG."
                {else}
                    "STEUERFREIE AUSFUHRLIEFERUNG GEM. §4 Nr.1a UstG i.v.m. §6 UstG."
                {/if}
                {/if}
    {/block}

 

append und prepend kann zu Fehlern führen. Stattdessen immer ein {$smarty.block.parent} nutzen.

1 Like

Danke, da werde ich mich da mal schlau machen wie ich das mit den block parents korrekt umsetze!