Your data, your rules.
Every e-commerce stack has its own quirks. Shopify sends SKUs one way, your warehouse expects them another. Addresses need normalizing. VIP customers need flagging. Transformations let you write a few lines of JavaScript that fix all of it, automatically, on every order.
// javascript Β· 4 trigger points Β· test with real ordersWrite it, test it, ship it.
A real code editor with live testing against actual orders. Not a drag-and-drop toy.
Visual field browser
Click any field from a real order (SKU, address, tags, line items) and it inserts into your code. No guessing field paths.
Test with real data
Enter any order ID, run your transformation, and see the exact output before you save. Catch bugs before they hit production.
Priority chaining
Stack multiple transformations in sequence. SKU mapping at priority 10, VIP tagging at 20, address normalization at 30. Each receives the previous output.
Four trigger points
Run on order ingest, order export, shipment ingest, or shipment export. Target the exact moment data needs transforming.
// Map Shopify SKUs to warehouse codes
for (const item of data.line_items) {
item.sku = item.sku
?.replace("SH-", "WH-");
}
// Tag high-value orders for VIP handling
if (data.totals?.total > 200) {
data.tags = [...(data.tags || [])];
data.tags.push("high-value", "vip");
}
// Normalize state abbreviations
data.address.state = normalize(
data.address.state
);Transformations teams actually use.
Real examples from production workloads.
SKU mapping
order_ingestMap storefront SKUs to warehouse codes on every ingest. "SH-COLD-PACK-LG" becomes "WH-COLD-PACK-LG" automatically.
VIP flagging
order_ingestTag orders over a dollar threshold as high-value so your ops team prioritizes them. Add custom tags based on any order field.
Address normalization
order_exportCustomers type "california", "Calif.", "CA". Normalize state codes, zip formats, and country codes before they reach your carrier.
Line item restructuring
order_exportSplit bundles into individual items, merge sample packs, or add handling instructions based on product type.
Weight calculation
shipment_ingestLook up product weights from your catalog and calculate total shipment weight before rate shopping. No more manual entry.
Tracking enrichment
shipment_exportAppend carrier-specific tracking URLs, estimated delivery dates, or custom status messages to shipment data on export.
Plain JavaScript, full control.
No proprietary DSL. Write standard JavaScript with access to the full order or shipment object.
data.address.state = stateMap[
data.address.state.toLowerCase()
] || data.address.state;
data.address.zip = data.address.zip
?.replace(/\s+/g, "")
.slice(0, 5);const total = data.totals?.total || 0;
if (total > 500) {
data.tags.push("high-value");
}
if (data.line_items.length > 10) {
data.tags.push("bulk-order");
}Stop cleaning data by hand.
Write your first transformation in minutes. Test it against real orders. Never manually fix a SKU again.