Skip to main content
The Order CSV Import feature allows you to bulk create customer orders with line items in a single operation. This is useful for migrating orders from another system, processing bulk orders, or automating order creation.

What Can You Import?

A single CSV file can create:
  • Orders: Multiple orders with header information
  • Line Items: Items and quantities for each order
  • Customer Association: Links orders to existing customers
  • Order Details: Delivery dates, pricing, and order metadata
The import automatically groups line items by customer and delivery date, creating one order per customer/date combination.

Import Workflow

The order import follows a 5-step wizard process:

Step 1: File Upload

  1. Navigate to OrdersCSV Import
  2. Upload your CSV file
  3. System parses the order data

Step 2: Data Preview

  • Review parsed data in table format
  • Verify customers, items, and quantities
  • Check for formatting issues
  • Proceed to validation

Step 3: Format Validation

System validates CSV structure and groups orders: Grouping Logic:
  • Orders grouped by customer identifier (name, ERP ID, or code)
  • Further grouped by expected delivery date
  • Each unique customer/date combination = one order
  • Line items aggregated under each order
Format Checks:
  • Required fields present
  • Valid date formats
  • Numeric quantities and prices
  • Data structure integrity

Step 4: Data Validation

Validates against existing data: Customer Validation:
  • Customer exists (by name, erpId, or code)
  • Customer is active
  • If customer not found, import fails for that order
Item Validation:
  • Item exists (by SKU or itemId)
  • Item is active
  • If item not found, line item skipped or fails
Order Validation:
  • No duplicate orders in same import
  • Valid order type and flow type
  • Delivery dates are valid

Step 5: Import Progress & Results

  • Real-time import progress
  • Order creation status
  • Line item creation status
  • Detailed success/failure report
  • Retry option for failed orders

CSV File Format

WorkSuite supports two different order import formats depending on your tenant configuration:

Format 1: BPF Import (Standard)

Required Columns

  • CustomerId - Customer identifier (ERP ID or customer code)
  • ExpDeliveryDate - Expected delivery date (YYYY-MM-DD format)
  • Type - Order type (“P” for regular order, “C” for custom)
  • SalesPersonEmail - Assigned salesperson’s email
  • OrderByPhone - Ordering person’s phone number
  • OrderedByEmail - Ordering person’s email
  • ItemId - Item identifier (SKU or item ID)
  • Group - Item group identifier
  • Quantity - Order quantity (integer)

Optional Columns

  • PoNumber - Customer purchase order number
  • OrderByFirstName - Ordering person’s first name
  • OrderByLastName - Ordering person’s last name
  • OverridePrice - Price override value (decimal)

Format 2: MOIF Import (Alternative)

Required Columns

  • CustomerLocationName - Customer location name
  • ExpectedDeliveryDate - Expected delivery date (YYYY-MM-DD format)
  • Type - Order type (“P” for purchase, “C” for custom, “R” for return)
  • OrderByPhone - Ordering person’s phone number
  • OrderedByEmail - Ordering person’s email
  • ItemUpc - Item UPC code
  • Quantity - Order quantity (integer)

Optional Columns

  • PoNumber - Customer purchase order number
  • OrderByFirstName - Ordering person’s first name
  • OrderByLastName - Ordering person’s last name
  • OverridePrice - Price override value (decimal)
Your tenant is configured for one of these import formats. If you’re unsure which format to use, contact your system administrator or try uploading a sample file to see which columns are expected.

CSV Examples

Basic Order Import (BPF Format)

CustomerId,ExpDeliveryDate,ItemId,Quantity,Type
ACME001,2024-03-15,TOM-001,100,P
ACME001,2024-03-15,CUC-001,50,P
GREEN002,2024-03-15,BAS-001,75,P
This creates:
  • 1 order for ACME001 with 2 line items
  • 1 order for GREEN002 with 1 line item

Multiple Delivery Dates (BPF Format)

CustomerId,ExpDeliveryDate,ItemId,Quantity,Type
ACME001,2024-03-15,TOM-001,100,P
ACME001,2024-03-15,CUC-001,50,P
ACME001,2024-03-22,TOM-001,150,P
This creates:
  • 1 order for 3/15 with 2 line items
  • 1 order for 3/22 with 1 line item

Complete Order Records (BPF Format)

CustomerId,ExpDeliveryDate,PoNumber,ItemId,Quantity,Type,OverridePrice,OrderByFirstName,OrderByLastName,OrderedByEmail,SalesPersonEmail
ACME001,2024-03-15,PO-12345,TOM-001,100,P,3.99,John,Smith,[email protected],[email protected]
ACME001,2024-03-15,PO-12345,CUC-001,50,P,2.99,John,Smith,[email protected],[email protected]
GREEN002,2024-03-16,PO-67890,BAS-001,75,P,5.99,Jane,Doe,[email protected],[email protected]

MOIF Format Example

CustomerLocationName,ExpectedDeliveryDate,ItemUpc,Quantity,Type,PoNumber
Acme Gardens Main,2024-03-15,123456789012,100,P,PO-12345
Acme Gardens Main,2024-03-15,234567890123,50,P,PO-12345
Green Thumb Downtown,2024-03-16,345678901234,75,P,PO-67890

Order Grouping Logic

How Orders are Created

The system groups CSV rows into orders:
  1. Group by Customer: All rows with same customer identifier
  2. Sub-group by Date: Within each customer, group by delivery date
  3. Create Order: One order per customer/date combination
  4. Add Line Items: All items for that customer/date become line items

Example Grouping

CSV Input:
Customer A, 3/15, Item 1, Qty 10
Customer A, 3/15, Item 2, Qty 5
Customer A, 3/20, Item 1, Qty 15
Customer B, 3/15, Item 1, Qty 20
Result:
  • Order 1: Customer A, 3/15 (2 line items)
  • Order 2: Customer A, 3/20 (1 line item)
  • Order 3: Customer B, 3/15 (1 line item)
The grouping ensures you don’t accidentally create multiple orders for the same customer on the same delivery date.

Customer Identification

BPF Format Customer Identification

The BPF import identifies customers using the CustomerId field, which can match:
  • Customer ERP ID
  • Customer code
  • Customer identifier in your system

MOIF Format Customer Identification

The MOIF import identifies customers using the CustomerLocationName field:
  • Matches the location name associated with the customer
  • Must be an exact match to an existing customer location
Customers and locations must exist before importing orders. Create customers and their locations first if they don’t exist in the system.

Item Identification

BPF Format: Uses ItemId field (matches SKU or item ID) MOIF Format: Uses ItemUpc field (matches item UPC code) Items must exist in the system before they can be added to orders via CSV import.

Pricing

Automatic Pricing

If OverridePrice column not provided or empty:
  • System calculates price using configured price groups
  • Uses customer’s assigned price group
  • Applies quantity-based pricing if configured
  • Uses retail price as fallback

Manual Pricing

If OverridePrice column provided with a value:
  • Uses the provided override price instead of system pricing
  • Useful for special deals, contracts, or promotional pricing
  • Price should be specified as a decimal value (e.g., 3.99)

Order Status

Initial Order Status

Imported orders are created with initial status:
  • Typically Initialized or Open
  • Can be changed after import
  • Check your system configuration for default

Workflow After Import

After orders are created:
  1. Review imported orders
  2. Verify line items and pricing
  3. Update order status (Acknowledged, Submitted, etc.)
  4. Allocate inventory if needed
  5. Process for fulfillment

Best Practices

Preparing Order Data

Order Import Preparation

  • Ensure all customers exist in system first
  • Verify all items (SKUs) are in catalog
  • Use consistent date format (YYYY-MM-DD recommended)
  • Include customer ERP ID when available (more reliable than name)
  • Group by expected delivery date in your spreadsheet
  • Review totals before importing

Data Quality

Before importing:
  • Validate customer identifiers against system
  • Check all SKUs exist
  • Verify quantities are reasonable
  • Ensure delivery dates are in future
  • Remove test or invalid rows
  • Test with small sample (5-10 orders) first

Large Order Imports

For many orders:
  • Break into batches (100-200 orders per file)
  • Import by customer or date range
  • Monitor import progress
  • Verify each batch before continuing
  • Schedule during off-peak hours

After Import

Verify Imported Orders

  1. Navigate to Orders list
  2. Filter by date range or customer
  3. For each imported order:
    • Open order details
    • Verify customer and location
    • Check line items and quantities
    • Confirm pricing
    • Review delivery date

Update Order Details

After import, you may need to:
  • Assign salesperson to orders
  • Update payment terms if not inherited
  • Add special instructions or notes
  • Update status to move forward in workflow

Allocate Inventory

Before fulfillment:
  1. Review available inventory
  2. Allocate line items to specific locations
  3. Verify allocations are complete
  4. Update order status to Submitted or Picked
Imported orders do NOT have inventory allocated automatically. You must allocate inventory before fulfillment.

Troubleshooting

Customer Not Found

If orders fail due to customer not found:
  1. Check customer identifier in CSV
  2. Verify customer exists in system (exact spelling)
  3. Try using ERP ID instead of name
  4. Create missing customers first
  5. Re-import failed orders

Item Not Found

If line items fail due to missing items:
  1. Check SKU in CSV matches system
  2. Verify item is active (not inactive)
  3. Import items first if missing
  4. Correct SKUs in CSV
  5. Retry import

Duplicate Orders

If you accidentally import same orders twice:
  • System may create duplicates
  • No automatic duplicate detection
  • Review carefully before importing
  • Delete duplicate orders manually if needed

Pricing Issues

If pricing doesn’t match expectations:
  • Verify customer has price group assigned
  • Check price levels for the items
  • Ensure dates fall within price level date ranges
  • Use explicit price column if needed
  • Review order pricing after import

Validation Errors

Common validation errors: Invalid Date Format:
  • Use YYYY-MM-DD format (e.g., 2024-03-15)
  • Or MM/DD/YYYY (e.g., 03/15/2024)
  • Be consistent across all rows
Invalid Quantity:
  • Must be positive integer
  • No decimals (use whole numbers)
  • No text or special characters
Missing Required Fields:
  • Every row must have customer, date, item, quantity
  • Check for blank cells in CSV

Retry and Recovery

Retry Failed Orders

If some orders fail during import:
  1. Review failure reasons in results
  2. Fix issues in your CSV:
    • Correct customer identifiers
    • Fix invalid SKUs
    • Update bad dates
  3. Use Retry button (if available)
  4. Or upload corrected CSV

Partial Success

Remember:
  • Successfully imported orders are NOT rolled back
  • Only failed orders need to be fixed and retried
  • Don’t re-import successful orders (creates duplicates)

Next Steps