diff --git a/app/javascript/application.js b/app/javascript/application.js
index a32018e2..533cc9c3 100644
--- a/app/javascript/application.js
+++ b/app/javascript/application.js
@@ -124,6 +124,7 @@ safeRegisterElement('import-list', class extends HTMLElement {
 
     this.app = createApp(ImportList, {
       template: JSON.parse(this.dataset.template),
+      multitenant: this.dataset.multitenant === 'true',
       authenticityToken: document.querySelector('meta[name="csrf-token"]')?.content
     })
 
diff --git a/app/javascript/template_builder/import_list.vue b/app/javascript/template_builder/import_list.vue
index a08fd29f..b8b3c109 100644
--- a/app/javascript/template_builder/import_list.vue
+++ b/app/javascript/template_builder/import_list.vue
@@ -146,14 +146,14 @@
         
       
       
         Total entries: {{ submissionsData.length }}
-        
+        
           / 1000
         
       
@@ -239,6 +239,11 @@ export default {
       type: Object,
       required: true
     },
+    multitenant: {
+      type: Boolean,
+      required: false,
+      default: false
+    },
     authenticityToken: {
       type: String,
       required: false,
@@ -269,7 +274,11 @@ export default {
 
             if (['name', 'email', 'phone', 'external_id'].includes(mapping.field_name.toLowerCase())) {
               submittersIndex[mapping.submitter_uuid][mapping.field_name.toLowerCase()] = row[mapping.column_index]
-            } else {
+            }
+
+            const fieldType = this.fieldTypesIndex[mapping.submitter_uuid][mapping.field_name]
+
+            if (fieldType && fieldType !== 'phone') {
               submittersIndex[mapping.submitter_uuid].fields.push({
                 name: mapping.field_name, default_value: row[mapping.column_index], readonly: true
               })
@@ -306,6 +315,17 @@ export default {
     submitters () {
       return this.template.submitters
     },
+    fieldTypesIndex () {
+      return this.template.fields.reduce((acc, field) => {
+        acc[field.submitter_uuid] ||= {}
+
+        if (field.name) {
+          acc[field.submitter_uuid][field.name] = field.type
+        }
+
+        return acc
+      }, {})
+    },
     columns () {
       return this.table[0]
     },
diff --git a/lib/submitters/normalize_values.rb b/lib/submitters/normalize_values.rb
index 7c9863b5..31a72855 100644
--- a/lib/submitters/normalize_values.rb
+++ b/lib/submitters/normalize_values.rb
@@ -11,6 +11,9 @@ module Submitters
     UnknownSubmitterName = Class.new(BaseError)
     UnableToDownload = Class.new(BaseError)
 
+    TRUE_VALUES = ['1', 'true', true, 'TRUE', 'True', 'yes', 'YES', 'Yes'].freeze
+    FALSE_VALUES = ['0', 'false', false, 'FALSE', 'False', 'no', 'NO', 'No'].freeze
+
     module_function
 
     def call(template, values, submitter_name: nil, for_submitter: nil, throw_errors: false)
@@ -50,21 +53,32 @@ module Submitters
     end
 
     def normalize_value(field, value)
-      if field['type'] == 'text' && value.present?
+      if field['type'] == 'checkbox'
+        return true if TRUE_VALUES.include?(value)
+        return false if FALSE_VALUES.include?(value)
+      end
+
+      return nil if value.blank?
+
+      if field['type'] == 'text'
         value.to_s
-      elsif field['type'] == 'number' && value.present?
+      elsif field['type'] == 'number'
         (value.to_f % 1).zero? ? value.to_i : value.to_f
-      elsif field['type'] == 'date' && value.present? && value != '{{date}}'
-        if value.is_a?(Integer)
-          Time.zone.at(value.to_s.first(10).to_i).to_date.to_s
-        elsif value.gsub(/\w/, '0') == field.dig('preferences', 'format').to_s.gsub(/\w/, '0')
-          TimeUtils.parse_date_string(value, field.dig('preferences', 'format')).to_s
-        else
-          Date.parse(value).to_s
-        end
+      elsif field['type'] == 'date' && value != '{{date}}'
+        normalize_date(field, value)
       else
         value
       end
+    end
+
+    def normalize_date(field, value)
+      if value.is_a?(Integer)
+        Time.zone.at(value.to_s.first(10).to_i).to_date.to_s
+      elsif value.gsub(/\w/, '0') == field.dig('preferences', 'format').to_s.gsub(/\w/, '0')
+        TimeUtils.parse_date_string(value, field.dig('preferences', 'format')).to_s
+      else
+        Date.parse(value).to_s
+      end
     rescue Date::Error => e
       Rollbar.warning(e) if defined?(Rollbar)