Clear Cutover Get a quote

Epicor Kinetic · Data migration

Epicor Kinetic DMT errors: troubleshooting common failures

Applies to: Epicor Kinetic Data Migration Tool. Always test template loads in Pilot before executing mass updates in Production.

Short answer

DMT does not write straight to SQL. It sends each row through Epicor business objects, so the same validation, required fields and business process (BPM) rules apply as on the screens. Most failures fall into five groups: column/schema mismatches, missing parent records, date problems, wrong import mode, and locking or slowness.

How DMT processes a row

It signs in, calls the relevant business object, applies your column values, runs validation, fires directives, and saves. Treat it as a user entering data, not a bulk copy tool.

1. Column not found / does not belong to Table

  • The DMT version or cached schema does not match the server. Use a DMT build that matches your Kinetic release, and refresh cached definitions (via DMT Options > Clear Cache or clearing the local client cache).
  • A user-defined column was added but not yet exposed. In Extended UD Table Maintenance, add the column, run Data Model Regeneration, and recycle the IIS Application Pool / Task Agent before refreshing DMT.
  • Template and target are on different versions. Compare versions across environments.
  • Header names must be the field names, for example PartNum, not the screen label. Use the template DMT provides.
  • User-defined columns are typically suffixed with _c (e.g., CustomField_c) once generated.

2. Parent record not found / foreign key

DMT does not create missing parents, so load in dependency order. Typical examples:

  • Customer after terms, territory, ship-via and customer group.
  • Part after UOM class, part class and product group.
  • Part plant data after the part and the plant.
  • Bill of materials after parent and component parts.
  • Operations after the part and the operation master.
  • Sales order lines and releases after customer, ship-to, part and order header.

Before a large load, check with a BAQ that every code in your file exists in the target.

3. Date formats

Excel often reformats dates. Prefer ISO format (YYYY-MM-DD) or standard MM/DD/YYYY, and test a small file first to verify what your DMT accepts. Save as UTF-8 CSV directly from your source, and if you must open it in Excel, import columns as text.

4. Required field errors (Add vs Update)

Add New expects every required field for a new record. If you only want to change one field on existing records, use Update and supply the keys plus the changed columns. Add or Update tries an update first, then adds.

5. Timeouts and deadlocks

Directives (BPMs) that send email, recalculate or log changes can slow or deadlock large loads, especially with many threads. Options:

  • Reduce thread count and split the file into smaller batches (many teams use batches of a few thousand to tens of thousands of rows; test what works for you).
  • Ask your administrator whether directives can be temporarily bypassed using the DMT 'Disable BPMs' option. Only do this if nothing downstream depends on them.

Command-line automation

DMT can be run from scripts for scheduled loads. Check the supported switches in your DMT's own help or documentation, and do not copy switches from forums without testing them. Script outline:

# Prompt for credentials rather than storing a password
$cred = Get-Credential
$dmtArgs = @(
    "-User=$($cred.UserName)",
    "-Pass=$($cred.GetNetworkCredential().Password)",
    # ... other documented switches for your release ...
)
Start-Process -FilePath "C:\Epicor\Client\DMT.exe" -ArgumentList $dmtArgs -Wait

Notes:

  • Do not name your variable $args, as it is a reserved PowerShell automatic variable.
  • For unattended runs, use a dedicated least-privilege service account and a secure secrets store, not a plaintext password in the script.

Performance checklist

  1. Test in Pilot with a small file.
  2. Split large files.
  3. Keep thread counts modest during business hours.
  4. Sort files by primary key where it helps locking.
  5. Switch off unnecessary tracing during loads.

FAQ

Can DMT bulk delete?

Only where the business object would let you delete, so records with history are blocked.

"Record already exists" in Add mode?

The key matches an existing record, so use Update or Add or Update.

UD fields?

They must exist and be exposed first, and DMT's definitions refreshed.

Systems I work on