Hallo Felix,
die Versandkosten sind beim Modified-Shop kein eigenständiger Artikel, sondern in der orders_total als Aufpreis dabei. Diese Auf- oder Abrechnungen (z. B. Rabatt) werden bei der Shop-Schnittstelle mit einem festen Steuersatz belegt. Das passiert im export-Ordner in der Datei
cao_xt.php :
$order_total_class['ot_cod_fee']['prefix'] = '+';
$order_total_class['ot_cod_fee']['tax'] = '19';
$order_total_class['ot_customer_discount']['prefix'] = '-';
$order_total_class['ot_customer_discount']['tax'] = '19';
$order_total_class['ot_gv']['prefix'] = '-';
$order_total_class['ot_gv']['tax'] = '0';
$order_total_class['ot_loworderfee']['prefix'] = '+';
$order_total_class['ot_loworderfee']['tax'] = '19';
$order_total_class['ot_payment']['prefix'] = '+';
$order_total_class['ot_payment']['tax'] = '19';
Diese Werte werden denn in der Funktion zum Bestellungen einlesen bei der Datei "cao_xtc_functions.php" eingebunden:
function SendOrders ()
{
global $_GET, $order_total_class;
In der Funktion ändere ich ich einfach in Abhängigkeit des Lieferlandes die Steuersätze
mit folgendem Code:
Nach:
while ($orders = xtc_db_fetch_array($orders_query))
{
Einfügen:
/// Steuersatz für Versand in EU-Länder anpassen - ANFANG
if ($orders['delivery_country_iso_code_2']=='DE')
{
$order_total_class['ot_shipping']['prefix'] = '+';
$order_total_class['ot_shipping']['tax'] = '19';
}
if ($orders['delivery_country_iso_code_2']=='AT')
{
$order_total_class['ot_shipping']['prefix'] = '+';
$order_total_class['ot_shipping']['tax'] = '20';
}
if ($orders['delivery_country_iso_code_2']=='LU')
{
$order_total_class['ot_shipping']['prefix'] = '+';
$order_total_class['ot_shipping']['tax'] = '17';
}
/// Steuersatz anpassen - ENDE
Als Beispiel jetzt nur zwei Länder. Für weitere dann entsprechend erweitern. Wer Rabatte bzw. andere Zu- oder Abschläge verwendet, welche mit der Funktion in einen freien Artikel in CAO-Faktura umgewandelt werden, kann nach dem gleichen Prinzip die Steuersätze anpassen.
Zum Einlesen der Bestellungen mit anderen Steuersätzen:
Ich benutze noch nicht die Steuersatz-Erweiterung und habe daher nur Steuersätze 0-4 aktiv, also 3 verschiedene Steuersätze, da 0 ja fest mit steuerfrei belegt ist.
Sofern die Bestellung im Shop auch mit Steuersätzen angelegt wird und diese Steuersätze beim Normalsatz auch vorkommen, werden diese beim Einlesen auch im CAO der entsprechenden Steuersatz-Nummer zugeordnet.
Die Funktionalität scheint im CAO selbst abzulaufen. Während im Shop 20% Steuersatz bei Artikeln einer Bestellung hinterlegt ist, wird im CAO mit der Steuersatz-Nummer gearbeitet. Die Zuordnung erfolgt nicht über das Script der Schnittstelle, sondern im CAO selbst. Nach dem Import des Wertes 20 bei einem Artikel, ordnet CAO dem Produkt dann einer Steuersatznummer zu, bei der der Wert 20 hinterlegt ist. Ist das nicht der Fall, kann nichts zugeordnet werden und die Steuersatznummer ist 0 und somit steuerfrei.
Ich würde erstmal abklären ob deinen Bestellungen im Modified-Shop bei den Produkten ein Steuersatz hinterlegt ist. Also Shop-Datenbank Tabelle "orders_products" müssen die Artikel im Feld "products_tax" einen Wert haben. Dann nachsehen ob im CAO in den Einstellungen dieser Steuerwert einer Steuersatz-Nummer zugeordnet ist.
Gruß
Mike