Index: /changelog
===================================================================
--- /changelog	(revision 8514)
+++ /changelog	(revision 8515)
@@ -658,4 +658,5 @@
 - Feature: Exportprofile/Statistik - Export von KÃ€ufen
 - Feature: Exportprofile/Staffelpreise - Export von minimalen Brutto-/Netto Produktpreis
+- Feature: Exportprofile/Bestellexport - Export von verwendeten SteuersÃ€tzen
 - Bugfix: Exportprofile - Problem mit Feld "Anzahl Produkte" korrigiert
 - Bugfix: Datumsformatierung mit IntlDateFormatter
Index: /classes/Action.class.php
===================================================================
--- /classes/Action.class.php	(revision 8514)
+++ /classes/Action.class.php	(revision 8515)
@@ -59,10 +59,16 @@
         }
 
-        public static function wpsg_hourly_hook() {
- 
-            $oReminder = new \Wpsg\Reminder();
-            $oReminder->cronService();
-            
-        }
-        
+		public static function wpsg_hourly_hook() {
+
+			try {
+
+				$oReminder = new \Wpsg\Reminder();
+				$oReminder->cronService();
+
+			} catch (\Throwable $e) {
+
+			}
+
+		}
+
     }
Index: /controller/wpsg_SystemController.class.php
===================================================================
--- /controller/wpsg_SystemController.class.php	(revision 8514)
+++ /controller/wpsg_SystemController.class.php	(revision 8515)
@@ -509,5 +509,5 @@
 		 * im user_views liegt und wenn ja dieser Pfad zurÃŒckgegeben
 		 */
-		public function getRessourceURL($path) {
+		public function getRessourceURL($path, ?string $base_path = null) {
 
             if (file_exists(WPSG_PATH_TEMPLATEVIEW_CHILD.$path) && $this->get_option('wpsg_ignoreuserview') != '1') {
@@ -534,8 +534,11 @@
 				// Datei existiert im alten UserView
 				$url = WPSG_URL_CONTENT.'plugins/'.WPSG_FOLDERNAME.'/user_views/'.$path;
-				
-			}
-			else
-			{
+
+			} else if ($base_path !== null && file_exists($base_path.DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.$path)) {
+
+				$relative_path = str_replace(WP_CONTENT_DIR, '', $base_path.DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.$path);
+				$url = content_url().$relative_path;
+
+			} else {
 				
 				$url = WPSG_URL_CONTENT.'plugins/'.WPSG_FOLDERNAME.'/views/'.$path;
@@ -579,5 +582,5 @@
 		 * im user_views liegt und wenn ja dieser Pfad zurÃŒckgegeben
 		 */
-		public function getRessourcePath($path) {
+		public function getRessourcePath($path, ?string $base_path = null) {
 
             $plugin_dir = ABSPATH.WPSG_CONTENTDIR_WP.'/plugins/';
@@ -588,5 +591,5 @@
                                 
             } else $view_path = $path;
-		    
+
 			if (file_exists(WPSG_PATH_USERVIEW.$view_path)) {
 			
@@ -603,5 +606,9 @@
 				// Datei existiert im alten UserView
 				return WPSG_PATH_USERVIEW_OLD.'/'.$view_path;
-				
+
+			} else if ($base_path !== null && file_exists($base_path.DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.$view_path)) {
+
+				return $base_path.DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.$view_path;
+
 			} else {
 
Index: /mods/wpsg_mod_export.class.php
===================================================================
--- /mods/wpsg_mod_export.class.php	(revision 8514)
+++ /mods/wpsg_mod_export.class.php	(revision 8515)
@@ -1622,4 +1622,5 @@
                         'order_tax_d' => __('Steuer MwSt MwSt D', 'wpsg'),
 						'order_tax' => __('Steuer Summe (A+B+C+D)', 'wpsg'),
+						'order_taxvalue' => __('Steuersatz (19 fÃŒr 19% sofern eindeutig, sonst mit | getrennt)', 'wpsg'),
 
                         'order_invoice_title' => __('Rechnungsadresse Anrede', 'wpsg'),
@@ -2083,4 +2084,13 @@
 	            case 'order_price_netto_d': $return = $getTaxSum('d')['netto']; break;
 	            case 'order_tax_d': $return = $getTaxSum('d')['sum']; break;
+					case 'order_taxvalue':
+
+						$arTaxValue = [];
+						foreach ($arCalculation['tax'] as $tax_key => $tax) if ($tax['sum'] > 0 && $tax['tax_value'] > 0 && !in_array($tax['tax_value'], $arTaxValue)) $arTaxValue[] = $tax['tax_value'];
+						$arTaxValue = array_map(function($val) { return preg_replace('/\.0+$/', '', strval($val)); }, $arTaxValue);
+
+						$return = implode('|', $arTaxValue);
+
+						break;
 	            case 'order_tax': $return = $getTaxSum('a')['sum'] + $getTaxSum('b')['sum'] + $getTaxSum('c')['sum'] + $getTaxSum('d')['sum']; break;
 				
Index: /services/reminder.class.php
===================================================================
--- /services/reminder.class.php	(revision 8514)
+++ /services/reminder.class.php	(revision 8515)
@@ -37,19 +37,24 @@
             foreach ($arOrderIDToRemind as $order_id) {
 
-                $oOrder = \wpsg_order::getInstance($order_id);
+					try {
 
-                $this->shop->view = [
-                    'oOrder' => $oOrder
-                ];
+						$oOrder = \wpsg_order::getInstance($order_id);
 
-                $mail_text = $this->shop->render(WPSG_PATH_VIEW.'/mailtemplates/reminder.phtml', false);
+						$this->shop->view = [
+							'oOrder' => $oOrder
+						];
 
-                if ($this->shop->get_option('wpsg_htmlmail') === '1') $mail_html = $this->shop->render(WPSG_PATH_VIEW.'/mailtemplates/html/reminder.phtml', false);
-                else $mail_html = false;
- 
-                $this->shop->sendMail($mail_text, $oOrder->getCustomer()->getEMail(), 'reminder', [], $order_id, $oOrder->getCustomer()->getId(), $mail_html);
+						$mail_text = $this->shop->render(WPSG_PATH_VIEW.'/mailtemplates/reminder.phtml', false);
 
-                $oOrder->addLogEntry('Erinnerung wegen Nichtabschluss', $mail_text);
-                $oOrder->setMeta('wpsg_reminder', time());
+						if ($this->shop->get_option('wpsg_htmlmail') === '1') $mail_html = $this->shop->render(WPSG_PATH_VIEW.'/mailtemplates/html/reminder.phtml', false);
+						else $mail_html = false;
+
+						$this->shop->sendMail($mail_text, $oOrder->getCustomer()->getEMail(), 'reminder', [], $order_id, $oOrder->getCustomer()->getId(), $mail_html);
+
+						$oOrder->addLogEntry('Erinnerung wegen Nichtabschluss', $mail_text);
+						$oOrder->setMeta('wpsg_reminder', time());
+
+					} catch (\Throwable $e) { }
+
 
             }
