am: 18. November 2013, 17:48:49
Guten Tag,
wir haben ein Problem mit den Mehrwertsteuern des DPD Versandmodul.
Wir hatten damals das Versandmodul Table als DPD Versandmodul umgeändert und die Funktionen angepasst.
Es funktioniert alles wirklich klasse so wie man es braucht. Leider wenn man im Admin die Steuerklasse auf Standardsatz stellt, rechnet er den Netto Preis nicht in Brutto um. Hier der Code:
<?php/* -----------------------------------------------------------------------------------------
$Id: table.php 1002 2005-07-10 16:11:37Z mz $
XT-Commerce - community made shopping
http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte Forenregeln beachten! ))
Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(table.php,v 1.27 2003/02/05); www.oscommerce.com
(c) 2003 nextcommerce (table.php,v 1.8 2003/08/24); www.nextcommerce.org
Released under the GNU General Public License
---------------------------------------------------------------------------------------*/ class table
{ var $code, $title, $description, $icon, $enabled; function table
() { global $order; $this->code = 'table'; $this->title = MODULE_SHIPPING_TABLE_TEXT_TITLE
; $this->description = MODULE_SHIPPING_TABLE_TEXT_DESCRIPTION
; $this->sort_order = MODULE_SHIPPING_TABLE_SORT_ORDER
; $this->icon = ''; $this->tax_class = MODULE_SHIPPING_TABLE_TAX_CLASS
; $this->enabled = ((MODULE_SHIPPING_TABLE_STATUS
== 'True') ?
true : false); if ( ($this->enabled == true) && ((int
)MODULE_SHIPPING_TABLE_ZONE
> 0) ) { $check_flag = false; $check_query = xtc_db_query
("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES
. " where geo_zone_id = '" . MODULE_SHIPPING_TABLE_ZONE
. "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id"); while ($check = xtc_db_fetch_array
($check_query)) { if ($check['zone_id'] < 1) { $check_flag = true; break; } elseif ($check['zone_id'] == $order->delivery['zone_id']) { $check_flag = true; break; } } if ($check_flag == false) { $this->enabled = false; } } } function quote
($method = '') { global $order, $shipping_weight, $shipping_num_boxes,$xtPrice; if (MODULE_SHIPPING_TABLE_MODE
== 'price') { $order_total = $xtPrice->xtcRemoveCurr($_SESSION['cart']->show_total()); } else { $order_total = $shipping_weight; } $table_cost = preg_split("/[:,]/" , MODULE_SHIPPING_TABLE_COST
); // Hetfield - 2009-08-18 - replaced deprecated function split with preg_split to be ready for PHP >= 5.3 $size = sizeof($table_cost); for ($i=0, $n=$size; $i<$n; $i+=2) { if ($order_total <= $table_cost[$i]) { $shipping = $table_cost[$i+1]; break; } } if (MODULE_SHIPPING_TABLE_MODE
== 'weight') { $shipping = $shipping * $shipping_num_boxes; } // BOF Inselzuschlag if (substr_count(MODULE_SHIPPING_TABLE_ISLAND_POSTCODES
,",") != 0) { $inseln = explode(",",MODULE_SHIPPING_TABLE_ISLAND_POSTCODES
); if (in_array($order->delivery['postcode'], $inseln) ){ $title = MODULE_SHIPPING_TABLE_TEXT_WAY
. '<br />zzgl. '.MODULE_SHIPPING_TABLE_ISLAND_COST
.' EUR Inselzuschlag'; $cost = $shipping + MODULE_SHIPPING_TABLE_ISLAND_COST
; } else { $title = MODULE_SHIPPING_TABLE_TEXT_WAY
; $cost = $shipping; } } else { $title = MODULE_SHIPPING_TABLE_TEXT_WAY
; $cost = $shipping; } //EOF Inselzuschlag $this->quotes = array('id' => $this->code, 'module' => MODULE_SHIPPING_TABLE_TEXT_TITLE
, 'methods' => array(array('id' => $this->code, 'title' => $title, 'cost' => $cost))); if ($this->tax_class > 0) { $this->quotes['tax'] = xtc_get_tax_rate
($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); } if (xtc_not_null
($this->icon)) $this->quotes['icon'] = xtc_image
($this->icon, $this->title); return $this->quotes; } function check
() { if (!isset($this->_check
)) { $check_query = xtc_db_query
("select configuration_value from " . TABLE_CONFIGURATION
. " where configuration_key = 'MODULE_SHIPPING_TABLE_STATUS'"); $this->_check
= xtc_db_num_rows
($check_query); } return $this->_check
; } function install
() { xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) VALUES ('MODULE_SHIPPING_TABLE_STATUS', 'True', '6', '0', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_TABLE_ALLOWED', '', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_TABLE_COST', '25:8.50,50:5.50,10000:0.00', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_SHIPPING_TABLE_MODE', 'weight', '6', '0', 'xtc_cfg_select_option(array(\'weight\', \'price\'), ', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_TABLE_HANDLING', '0', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) values ('MODULE_SHIPPING_TABLE_TAX_CLASS', '0', '6', '0', 'xtc_get_tax_class_title', 'xtc_cfg_pull_down_tax_classes(', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) values ('MODULE_SHIPPING_TABLE_ZONE', '0', '6', '0', 'xtc_get_zone_class_title', 'xtc_cfg_pull_down_zone_classes(', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_TABLE_SORT_ORDER', '0', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_TABLE_ISLAND_POSTCODES', '18565,25859,25845,25846,25847,25849,25863,25869,25938,25929,25930,25931,25932,25933,25939,25940,25941,25942,25946,25952,25953,25954,25955,25961,25962,25963,25964,25965,25966,25967,25968,25969,25970,25980,25981,25982,25983,25984,25985,25986,25992,25993,25994,25996,25997,25998,25999,25980,25981,25982,25983,25984,25985,25986,25987,25988,25989,25990,25997,25845,26465,26474,26486,26548,26571,26579,26757,27498,83209,83256', '6', '0', now())"); xtc_db_query
("insert into " . TABLE_CONFIGURATION
. " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_SHIPPING_TABLE_ISLAND_COST', '14.00', '6', '0', now())"); } function remove
() { xtc_db_query
("delete from " . TABLE_CONFIGURATION
. " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys
() { return array('MODULE_SHIPPING_TABLE_STATUS', 'MODULE_SHIPPING_TABLE_ISLAND_POSTCODES', 'MODULE_SHIPPING_TABLE_ISLAND_COST','MODULE_SHIPPING_TABLE_COST', 'MODULE_SHIPPING_TABLE_MODE', 'MODULE_SHIPPING_TABLE_HANDLING','MODULE_SHIPPING_TABLE_ALLOWED', 'MODULE_SHIPPING_TABLE_TAX_CLASS', 'MODULE_SHIPPING_TABLE_ZONE', 'MODULE_SHIPPING_TABLE_SORT_ORDER'); } }?> Die Frage ist wo wird die Steuer berechnet ?? hier im Versandmodul oder woanders ??
Ich finde den Fehler leider nicht.
Gruß Marco
Linkback: https://www.modified-shop.org/forum/index.php?topic=28386.0