deal with the data we have as best we can without erroring out, RT#71513
[freeside.git] / FS / FS / cust_main.pm
index 4bd3f26..7505969 100644 (file)
@@ -5837,8 +5837,17 @@ sub queueable_upgrade {
         # window for possible conflict is practically nonexistant,
         #   but just in case...
         $record = $record->select_for_update;
+        if (!$record->custnum && $table eq 'cust_pay_pending') {
+          $record->set('custnum_pending',1);
+        }
+
+        local($ignore_expired_card) = 1;
+        local($ignore_banned_card) = 1;
+        local($skip_fuzzyfiles) = 1;
+        local($import) = 1;#prevent automatic geocoding (need its own variable?)
+
         my $error = $record->replace;
-        die $error if $error;
+        die "Error replacing $table ".$record->get($record->primary_key).": $error" if $error;
       }
     }