Jump to content
xt:Commerce Community Forum
Sign in to follow this  
teufelteufel

UST-IDNr in print_order.html anzeigen!

Recommended Posts

Hallo an alle,

ich habe mal wieder eine kleine Frage! Wie allseits eigtl. bekannt sein sollte, ist man "verpflichtet" die UST-IDNr in einer Rechnung anzuzeigen um es unserem Finanzamt leichter zu machen!

Dies ist auch gleich meine Frage: WIE kann ich in der print_order.html (Rechnung) mir die VAT/IDNr eines Kunden anzeigen lassen?

Über {$customers_vat_id} kann ich es leider nicht auslesen lassen! Mir geht es also darum, dass WENN ein Kunde eine VAT/IDNr eingegeben hat, mir diese auch angezeigt wird!

Sprich so ähnlich (auch wenn es leider nicht stimmt und geht):

{if $vat=='1'}

{#text_ustid#}

{$customers_vat_id}

{/if}

Mir gelang es bisher nur einen angepassten Text mit der {#text_ustid#} auszulesen was ja kein großes Ding ist! Ich hätte also gerne den Zugriff auf eine Smarty o.ä.. Ich bitte um Hilfe und einen Lösungsansatz - vermutlich haben es einige von Euch schon so am laufen!

Grüße

Share this post


Link to post
Share on other sites

Also liebe xtcommerce Gemeinde,

nachdem ich schon einige Zeit vergebens testete habe ich nun die ganze Geschichte selber herausgefunden!

Es sind folgende Änderungen durchzuführen:

In die print_order.php NACH Zeile 43, also nach

$smarty->assign('csID',$order->customer['csID']);[/PHP]

folgendes einfügen:

[PHP]$smarty->assign('vat_id',$order->customer['vat_id']);[/PHP]

Ebenfalls in die print_order.php

[PHP]require_once (DIR_FS_INC.'xtc_validate_vatid_status.inc.php');[/PHP]

eintragen (am Anfang der Datei)

Nun könnt ihr in der print_order.html via

{if $vat_id}{#text_ustid#}{$vat_id}{/if}

das ganze abfragen, sodass es NUR angezeigt wird wenn ein Kunde eine IDNr hat! Die text_ustid müsst ihr natürlich in der lang_german.conf unter [print_order] eintragen und definieren im Sinne von text_ustid = 'Die Rechnung ist umsatzsteuerfrei'

Viel Erfolg!

Share this post


Link to post
Share on other sites

Hallo an alle,

mir ist noch etwas aufgefallen. Da ja für deutsche gewerbliche Kunden die UST ausgewiesen wird, darf in der print_order.html der Text "Die Rechnung ist umsatzsteuerfrei" nicht erscheinen, sondern nur bei Bestellungen außerhalb Deutschlands! Mir geht es also darum, dass ich gerne wisssen würde, WIE ich eine Abfrage alá:

IF ust aus deutschland DANN kein text ELSE obiger text! Fakt ist ja, dass eben die ersten drei Stellen des Feldes auf DEU geprüft werden müssen! Hat ein schlaues Köpfchen hier Ahnung wie und wo ich das realisieren kann?!

Ps.: Mir fällt hier in diesem Forum oftmals auf das Dinge welche rechtlich wichtig sind anscheinend garnicht umgesetzt werden, sonst wären mehrere solcher Posts vorhanden? Wie realisiert ihr das denn - mittels umständliche Vordrucke oder wie?!

Grüße

Share this post


Link to post
Share on other sites

Hallo teufelteufel,

na wenn du doch schon die UStId in der print_order.php hast, dann überprüf' doch an der Stelle gleich auf eine dt. Id

if (strpos(strtolower($order->customer['vat_id']), 'de') === false) {

  $smarty->assign('vat_id',$order->customer['vat_id']);

}

Wichtg, bei einer deutschen UStId müssen nur die ersten beiden Stellen auf 'DE' geprüft werden!

Im Template dann deine schon aufgeführten Änderungen vornehmen.

So sollte es funktionieren und ich werde es auch gleich testen, da ich selbiges benötige. Übrigens sollte dann die Lösung ebenfalls in die send_order.php und entsprechende E-Mails-Templates eingebaut werden.

vG

PS Wozu benötigst du die xtc_validate_vatid_status.inc.php, wenn du doch keine Funktion daraus verwendest?

Share this post


Link to post
Share on other sites

Hallo,

danke für die Antwort simpsonstar, hatte den Thread schon fast vergessen und Du hast mir einen Denkanstoß gegeben ;-)!

Hier nun meine Lösung welche auch funktioniert! Einfach in der print_order.php

$smarty->assign('vat_id',$order->customer['vat_id']);[/PHP]

ersetzen durch

[PHP]if (strpos(strtolower($order->customer['vat_id']), 'de') === false)
{
$smarty->assign('vat_id2',$order->customer['vat_id']);
}
else {
$smarty->assign('vat_id1',$order->customer['vat_id']);
}[/PHP]

Die vorher von mir genannten Änderungen sollten natürlich durchgeführt werden!

Nun wird einem mit einer deutschen USTID der vat_id1 text ausgegeben und einer welcher aus einem anderen Land kommt der vat_id2 text, Leute die keine VAT angegeben haben, bekommen natürlich nichts angezeigt!

Meine print_order.html schaut also entsprechend so aus:

[HTML]{if $vat_id1}{#text_ustid1#} {$vat_id1}{/if}
{if $vat_id2}{#text_ustid2#} {$vat_id2}{/if}[/HTML]

Share this post


Link to post
Share on other sites

@Metal: ja natürlich geht es wirklich, sonst hätte ich es ja nicht gepostet ;-) Du wirst warscheinlich u.a. vergessen haben, in der lang_german.conf unterhalb von [print_order] die text_ustid1 & text_ustid2 zu definieren - wenngleich diese nur gezeigt wird, wenn obige funktionen richtig eingefügt wurden!

@simpsonstar & alle andren: Ich bekomme es einfach nicht hin, die Umsatzsteuer-ID in die order_mail.html auszulesen! Änderungen an admin\send_order.php oder admin\order_mail.php haben nichts gebracht!

Hat jemand also eine Idee, wie es mir ermöglicht wird, meine Funktion auch für die order_mail.html verfügbar zu machen? Mir gelingt es nichtmals simpel die Umsatzsteuer auszulesen - wäre über Hilfe sehr dankbar!

Edited by teufelteufel

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...