This code snippet adds settings in the sevDesk add-on so that you can define a booking account for fees for each existing tax class in WooCommerce and a booking account for “no tax class” for fees:
add_filter( 'sevdesk_woocommerce_api_voucher_pos_fee_use_split_tax', '__return_false' );
add_filter( 'woocommerce_de_sevdesk_additional_booking_accounts', function( $settings, $booking_accounts ) {
	$tax_classes = WC_Tax::get_tax_classes();
	array_unshift( $tax_classes, 'standard' );
	
	foreach ( $tax_classes as $tax_class ) {
 		$settings[] = array(
			'name'				=> sprintf( __( 'Booking Account - Fees - Tax Class %s', 'woocommerce-german-market' ), $tax_class ),
			'id'				=> 'woocommerce_de_sevdesk_booking_fee_' . sanitize_title( $tax_class ),
			'type'				=> 'select',
			'options'			=> $booking_accounts,
			'default'			=> 26,
			'class'				=> 'sevdesk_select_booking_account'
		);
	 }
	 $settings[] = array(
			'name'				=> __( 'Booking Account - Fees - No Tax Class', 'woocommerce-german-market' ),
			'id'				=> 'woocommerce_de_sevdesk_booking_fee_no_tax_class',
			'type'				=> 'select',
			'options'			=> $booking_accounts,
			'default'			=> 26,
			'class'				=> 'sevdesk_select_booking_account'
		);
	 return $settings;
}, 99, 2 );
add_filter( 'sevdesk_woocommerce_api_voucher_pos_fee_accounting_type', function( $accounting_type, $fee ) {
	if ( is_object( $fee ) && method_exists( $fee, 'get_tax_class' ) ) {
		$tax_classes = WC_Tax::get_tax_classes();
		array_unshift( $tax_classes, 'standard' );
		$taxes = $fee->get_taxes();
		
		if ( isset( $taxes[ 'total' ] ) ) {
			
			foreach ( $taxes[ 'total' ] as $fee_rate_id => $tax ) {
				if ( floatval( $tax ) > 0 ) {
		 			foreach ( $tax_classes as $tax_class ) {
		 				$rates = WC_Tax::get_rates_for_tax_class( $tax_class );
		 				if ( isset( $rates[ $fee_rate_id ] ) ) {
		 					
		 					$booking_account = get_option( 'woocommerce_de_sevdesk_booking_fee_' . sanitize_title( $tax_class ), 26 );
		 					$accounting_type[ 'id' ] = $booking_account;
		 					return $accounting_type;
		 				}
		 			}
				}
			}
		}
	}
	$booking_account = get_option( 'woocommerce_de_sevdesk_booking_fee_no_tax_class', 26 );
	$accounting_type[ 'id' ] = $booking_account;
	return $accounting_type;
}, 50, 2 );
							            	
