Back to Documentation
Setup Guide

EDI, File Import & Email Ingestion

How to set up and configure file-based order ingestion in WarpWare — SPS Commerce EDI, SFTP file drops, CSV/Excel uploads, and email inbox monitoring.

SPS Commerce

SPS Commerce (EDI)

115,000+ retail trading partners — Target, Walmart, Costco, Home Depot, and more

What it does

Connects WarpWare to the SPS Commerce EDI network via OAuth 2.0. Inbound EDI 850 Purchase Orders are automatically parsed into WarpWare orders. When orders ship, WarpWare generates and sends EDI 856 Advance Ship Notices back through SPS to the retailer.

Setup steps

1Go to Integrations → Add Connection → SPS Commerce
2Enter your SPS Client ID and Client Secret (from the SPS Dev Center at spscommerce.com/partners/developers/dev-center)
3Optionally enter your Trading Partner ID (SPS-assigned identifier for your account)
4Click "Test Connection" to validate your credentials against the SPS API
5Enable sync toggles: Pull Purchase Orders (850) and Push Ship Notices (856)
6Click "Connect" — WarpWare begins polling for new POs immediately

Connection fields

Display Name
Friendly name shown in the connections list (e.g., "SPS Commerce — Target EDI")
SPS Client ID*
OAuth client ID from your SPS Commerce developer account
SPS Client Secret*
OAuth client secret — encrypted at rest via AES-256
Trading Partner ID
SPS-assigned identifier, used for filtering if you have multiple partners

Sync toggles

ON
Pull Purchase Orders (850)
Import inbound EDI 850 POs as WarpWare orders. SPS translates retailer-specific formats automatically.
ON
Push Ship Notices (856)
When an order ships, WarpWare sends an 856 ASN back through SPS to the retailer with tracking and carton details.

EDI 850 → WarpWare field mapping

EDI Segment
Description
WarpWare Field
BEG
Beginning of PO
referenceNum, order_date
N1 (ST)
Ship-to party
shipTo.name, shipTo.company
N3 / N4
Address / City-State-Zip
shipTo.address1, city, state, zip
PO1
Line item
items[].sku, qty, unit_price
PID
Product description
items[].name
TD5
Carrier details
routing.carrier, shipping_method
CTT
Transaction totals
Validation only (item count check)

SFTP / File Transfer

Monitor a remote directory for incoming order files

What it does

WarpWare polls an SFTP directory on a configurable interval. When new files appear, they're downloaded, parsed (CSV, Excel, or EDI), and ingested as orders. Processed files are moved to an archive directory to prevent re-ingestion.

Setup steps

1Go to Integrations → Add Connection → SFTP / File Transfer
2Enter the SFTP host, port (default 22), and authentication credentials
3Set the Watch Directory — the remote path WarpWare polls for new files (e.g., /outbound/orders/)
4Set the Archive Directory — where processed files are moved (e.g., /archive/processed/)
5Set the Poll Interval (default: 300 seconds / 5 minutes)
6Click "Test Connection" — verifies TCP connectivity to the host:port
7Click "Create Connection" — polling starts on the next cycle

Connection fields

Display Name
Friendly label (e.g., "TrueCommerce SFTP")
Host*
SFTP server address (e.g., sftp.partner.com)
Port
Default: 22
Username
SFTP username — leave blank if using SSH key only
Password
SFTP password — encrypted at rest. Leave blank for SSH key auth.
SSH Private Key
PEM-format private key for key-based auth. Preferred over password.
Watch Directory*
Remote path to poll (default: /incoming/orders/)
Archive Directory
Where processed files move (default: /archive/processed/)
Poll Interval
Seconds between checks (default: 300)

Security: Always use SFTP (port 22) over FTP. All credentials are encrypted at rest using AES-256. SSH key authentication is recommended over password.

Email Inbox Monitoring

Auto-parse order attachments from a dedicated email inbox

What it does

Monitors an email inbox via IMAP. When emails arrive with order file attachments (CSV, Excel, PDF), WarpWare downloads, parses, and ingests them as orders automatically. Works with Gmail, Outlook, Yahoo, or any custom IMAP server.

Setup steps

1Go to Integrations → Add Connection → Email Scraper
2Select your email provider (Gmail, Outlook, Yahoo, or Custom IMAP)
3Enter your email address and app password (for Gmail with 2FA, generate at myaccount.google.com/apppasswords)
4Optionally expand Advanced Settings to configure folder, sender filter, and subject keywords
5Click "Test Connection" — validates IMAP connectivity, authentication, and folder access
6Click "Create Connection" — WarpWare begins monitoring the inbox

Connection fields

Email Address*
The inbox to monitor (e.g., [email protected])
Password*
Account password or IMAP-specific password
App Password
For Gmail 2FA — generate at Google Account → App Passwords
Provider*
Gmail, Outlook, Yahoo, or Custom (sets IMAP server automatically)

Advanced settings

IMAP Server
Custom IMAP host (e.g., mail.example.com). Auto-set for Gmail/Outlook/Yahoo.
IMAP Port
Default: 993 (SSL)
Folder
Which mailbox folder to monitor (default: INBOX)
Sender Filter
Comma-separated email addresses — only process emails from these senders
Subject Keywords
Comma-separated keywords — only process emails with matching subject lines
Unread Only
Only process unread emails (default: on)
Mark as Read
Mark emails as read after processing (default: on)
Accept PDFs
Enable PDF parsing via Walter Rosetta AI (default: off)

Best practice: Create a dedicated email (e.g., [email protected]) for WarpWare to monitor. Use sender filters to avoid processing irrelevant emails.

Supported File Formats

CSV / TSV

Auto-detects one-row-per-item and one-row-per-order layouts. Column mapping via Walter Rosetta if non-standard.

Via: SFTP, Email, Upload
Excel (.xlsx, .xls)

Same auto-detection as CSV. Multi-sheet files use the first sheet by default.

Via: SFTP, Email, Upload
EDI X12 (850/856)

Parsed via SPS Commerce integration or direct file drop. ANSI X12 and EDIFACT supported.

Via: SPS Commerce, SFTP
PDF

Processed by Walter Rosetta AI — extracts order data from any PDF layout. Requires "Accept PDFs" enabled.

Via: Email (with Rosetta)
JSON

Structured order data in JSON format. Must match WarpWare standard order schema or use Rosetta mapping.

Via: SFTP, Email, API
TXT

Treated as CSV with auto-delimiter detection (comma, tab, pipe).

Via: SFTP, Email

CSV layout examples

One row per line item (most common)

order_number,sku,qty,customer_name,address1,city,state,zip
1001,WIDGET-RED,2,Jane Smith,123 Main St,New York,NY,10001
1001,WIDGET-BLUE,1,Jane Smith,123 Main St,New York,NY,10001
1002,GADGET-SM,3,Bob Lee,456 Oak Ave,Austin,TX,73301

One row per order

order_number,items,customer_name,address1,city,state,zip
1001,WIDGET-RED:2|WIDGET-BLUE:1,Jane Smith,123 Main St,New York,NY,10001
1002,GADGET-SM:3,Bob Lee,456 Oak Ave,Austin,TX,73301

Non-standard columns? Use Walter Rosetta to let AI auto-map your columns — no manual configuration needed.

How orders flow in

Regardless of ingestion method, every order enters the same WarpWare pipeline. Your automation rules, routing, holds, and pre-order splits apply identically to EDI orders, CSV imports, email attachments, and API orders.

1
File arrives
SPS Commerce delivers 850, SFTP file drops, or email attachment received
2
Parsed & transformed
WarpWare parses the file format and transforms to standard order model
3
Duplicate check
External ID checked against existing orders — duplicates are rejected
4
Rule evaluation
Automation rules, routing rules, hold rules, and pre-order rules run
5
Status: Ready
Order queued for fulfillment push to your WMS (Extensiv, ShipStation, etc.)
6
Fulfillment + tracking
Tracking written back to source channel. For EDI: 856 ASN sent via SPS Commerce.

Troubleshooting

SFTP test says "Connected" but no files are being processed

The test only checks TCP connectivity. Verify that the Watch Directory path is correct and contains files. Check that credentials have read access to the directory. Look at the error logs for authentication failures.

Email scraper not picking up attachments

Verify the email is arriving in the monitored folder (default: INBOX). Check Sender Filter — if set, only matching senders are processed. For Gmail, ensure you're using an App Password (not your regular password) if 2FA is enabled.

CSV import creates orders with missing fields

Your column names may not match WarpWare's expected names. Use Walter Rosetta (Walter AI → Rosetta) to auto-map non-standard columns, or rename your columns to match: order_number, sku, qty, customer_name, address1, city, state, zip.

EDI 850 orders showing as "failed"

Check the order timeline for the specific error. Common causes: missing required segments (BEG, PO1), SKU not found in product catalog, or address validation failure. SPS Commerce compliance errors will show the specific segment that failed.

Duplicate orders from the same file

WarpWare deduplicates by external_id + source + client_id. If the same file is processed twice (e.g., not archived), duplicates are automatically rejected. Check that your Archive Directory is configured so processed files are moved.

PDF attachments not being parsed

PDF parsing requires "Accept PDF order attachments" to be enabled in the email connection's Advanced Settings. PDFs are processed by Walter Rosetta AI, which needs at least one successful mapping before it can auto-parse.

Need help setting up?

We can configure your SPS Commerce EDI, SFTP connection, or email monitoring for you.