Sprache des Shops abfragen

Hi Leute,

also vielleicht habe ich einen Denkfehler, denn ich stehe vor einem Problem, das ich nicht lösen kann. Ich nutzte die Suche schon, aber trotz der Beiträge und der kompletten Ausgabe von Variablen auf dem Dokument komme ich nicht weiter.

Da wir in der EU ja in den Rechnungen entsprechende Zusatztexte eintragen müssen (Drittstaatenregelung oder innergemeinschaftliche Leistung) dachte ich mir, dies über die Sprache des Shops in dem Dokument über die Variable $Order._id.language abzufangen. Denn es kann ja sein, dass Kunden in den Drittstaaten die deutsche Sprache des Shops auswählen und dadurch den kompletten Text  in Deutsch erhalten sollen. Kunden, die die englische Sprache auswählen, sollen die Texte in Englisch erhalten.

 

Verfügbare Sprachen:

Deutsch (benannt Frontend DE, Shopposition Backend 1)

Englisch (benannt Frontend EN, Shoppostion Backend 2)

Die Abfrage soll dahingend erfolgen, dass wenn language = 1 --> Text in der Rechnung auf Deutsch, bei jeder anderen Nummer Text in Englisch.

 

Der Code, den ich in der Dokumentenvorlage eintrug:

            {block name=“document_index_info_net”}
                {if $Document.netto == true}
                    

{s name=“DocumentIndexAdviceNet”}{/s}

                    {if $Order._id.language == 1}
                        {if $User.$address.country.countryiso == ‘CH’}
                            

Diese Rechnung enthält keine Mehrwersteuer. Nicht steuerbarer Umsatz, nicht im Inland erbrachte Leistung. (DRITTSTAATENREGELUNG).

                        {else if $User.$address.country.countryiso == ‘IS’}
                            

Diese Rechnung enthält keine Mehrwersteuer. Nicht steuerbarer Umsatz, nicht im Inland erbrachte Leistung. (DRITTSTAATENREGELUNG).

                        {else if $User.$address.country.countryiso == ‘MK’}
                            

Diese Rechnung enthält keine Mehrwersteuer. Nicht steuerbarer Umsatz, nicht im Inland erbrachte Leistung. (DRITTSTAATENREGELUNG).

                        {else if $User.$address.country.countryiso == ‘MC’}
                            

Diese Rechnung enthält keine Mehrwersteuer. Nicht steuerbarer Umsatz, nicht im Inland erbrachte Leistung. (DRITTSTAATENREGELUNG).

                        {else if $User.$address.country.countryiso == ‘NO’}
                            

Diese Rechnung enthält keine Mehrwersteuer. Nicht steuerbarer Umsatz, nicht im Inland erbrachte Leistung. (DRITTSTAATENREGELUNG).

                        {else}
                        

“Steuerfreie sonstige Leistung gemäß § 13b UStG: Gemäß Artikel 196 der EURichtlinie 2006/112/EC sind Sie als Leistungsempfänger Schuldner der Umsatzsteuer auf grenzüberschreitende sonstige Leistungen im innergemeinschaftlichen Raum (“Reverse-Charge”-Regelung)”.

                        {/if}
                    {else}
                        {if $User.$address.country.countryiso == ‘CH’}
                            

This invoice does not include VAT. Non-taxable turnover, non-domestic performance (THIRDSTATE CONTROL).

                        {else if $User.$address.country.countryiso == ‘IS’}
                            

This invoice does not include VAT. Non-taxable turnover, non-domestic performance (THIRDSTATE CONTROL).

                        {else if $User.$address.country.countryiso == ‘MK’}
                            

This invoice does not include VAT. Non-taxable turnover, non-domestic performance (THIRDSTATE CONTROL).

                        {else if $User.$address.country.countryiso == ‘MC’}
                            

This invoice does not include VAT. Non-taxable turnover, non-domestic performance (THIRDSTATE CONTROL).

                        {else if $User.$address.country.countryiso == ‘NO’}
                            

This invoice does not include VAT. Non-taxable turnover, non-domestic performance. (THIRDSTATE CONTROL).

                        {else}
                        

“Tax-free other service in accordance with § 13b UStG: According to Article 196 of the EU Directive 2006/112 / EC, as the recipient of the service, you are the debtor of the VAT on cross-border other services in the intra-Community area (“Reverse Charge” regulation).”.

                        {/if}
                    {/if}
                {/if}
 

Der Fehler ist, dass wenn die Sprache Deutsch im Shop gewählt ist, und die rechnung auf Deutsch erstellt wird, der oben eingetragene Text in Englisch dargestellt wird. Obwohl die Variable mit 1 gefüllt ist wird der deutsche Text nicht ausgegeben.

 

Alle EU-Staaten sind jetzt erst einmal nicht enthalten, was für die Problemanfrage nicht relevant ist. Wichtig ist, dass das erst einmal funktionieren soll. Alle anderen Staaten werden dann nachträglich in der Abfrage noch eingefügt.

 

Vielleicht habt ihr eine Idee dazu. Wir wollen gerne weltweit verkaufen, aber ohne die entsprechenden Texte in den Rechnungen für den EU-Raum können wir das nicht. Die Rechnungen sollen direkt nach der Bestellung automatisch erstellt und an den Kunden gesendet werden, was auch alles wunderbar funktioniert. Nur die Texte bezüglich der oben genannten Regelungen sind nicht in der im Shop ausgewählten Sprache.

 

Oder denke ich mit der oben aufgeführten Methode zu umständlich? Die Rechnungsstellung soll einfach nur automatisiert werden, und das für verschiedene Länder. Daher die Modifikation der Rechnungsvorlage.

 

Beste Grüße

Muthi

Hat denn keiner eine Idee, ob wir wie oben beschrieben die innergemeinschaftliche und Drittstaatenregelung in den Rechnungen in den beiden Sprachen abdecken können?

Puh, so wie es aussieht habe ich es doch noch geschafft. Ich fragte den falschen Arraybereich ab. So scheint es jetzt bei den ersten Tests richtig zu sein. Zurzeit haben wir in der EU Drittstaatenregelungen mit fünf Staaten (Island, Mazedonien, Monaco, Norwegen und Schweiz), also muss hierbei Drittlandbehandlungstext in der Rechnung enthalten sein (für alle Kunden von dort). Den Rest betrifft der innergemeinschaftliche Text (außer privatpersonen alle anderen Kunden). Deutschland, ist klar, wird hierfür nicht berücksichtigt.

Wenn man in meinem Shop die Sprache Deutsch auswählt, ist die Variable $Order._order.language  mit  1 gefüllt. Wählt man die Shopsprache Englisch aus, ist sie mit 3 gefüllt.

Da ja berücksichtig werden muss, dass über die englische Shopsprache bestellt wird, die Rechnung also in englisch ausgegeben wird, darf rechtlich gesehen der zusätzliche Text bezüglich der EU-Staatenregelung nicht in Deutsch eingetragen sein, sondern muss ebenfalls in englisch da stehen. Und es kann ja sein, dass beispielsweise ein Businesskunde aus Spanien mal über die deutsche Sprache des Shops bestellt, ein anderer Businesskunde aus Spanien aber über die englische Sprache des Shops.

Mit der unten aufgeführten Lösung kann der Shop dann bestimmt auch für den weltweiten Verkauf eingesetzt werden, da nach meinen Informationen für alle anderen Länder die einfache Netto-Rechnung ausreicht. Die wird ja in Deutsch und in Englisch entsprechend Netto ohne Zusatztext ausgestellt.

 

Ich löste das jetzt am Beispiel mit Schweiz (Bestellung in Deutsch) und Norwegen (Bestellung in Englisch) so:

 

            {block name=“document_index_info_net”}
                {if $Document.netto == true}
                    {if $Order._order.language == 1}
                        

{s name=“DocumentIndexAdviceNet”}{/s}

                        {if $User.$address.country.countryiso == ‘CH’}
                        

Diese Rechnung enthält keine Mehrwersteuer. Nicht steuerbarer Umsatz, nicht im Inland erbrachte Leistung (DRITTSTAATENREGELUNG).

                        {/if}
                     {else}
                        

{s name=“DocumentIndexAdviceNet”}{/s}

                        {if $User.$address.country.countryiso == ‘NO’}
                        

This invoice does not include VAT. Non-taxable turnover, non-domestic performance (THIRDSTATE CONTROL).

                        {/if}
                     {/if}
                {/if}
               

{s name=“DocumentIndexSelectedPayment”}{/s} {$Order._payment.description}

            {/block}
 

Jetzt müssen nur noch alle anderen EU- und Drittstaaten im Code berücksichtigt werden, damit alle Auslandsrechnungen entsprechend den richtigen Text in der im Shop  zur Bestellung genutzten Sprache enthalten.

 

Beste Grüße

Muthi :slight_smile:

1 Like