Integrating to FLX EDI

Overview

This document provides comprehensive information on integrating with Flxpoint's EDI standard and guides you through the steps to get started.

How to connect

To begin testing and exchanging documents with Flxpoint, please complete the checklist below. Once done, an EDI specialist will be assigned to help you through the process.

Checklist

  1. FLX Customer: Add your supplier/vendor as a source in your Flxpoint account.
  2. FLX Customer & Vendor: Email Flxpoint's EDI Team at connect@flxpoint.com with the following details:
    • Vendor company name
    • Vendor interchange IDs (e.g., ZZ:12345678)
    • Document types you will be trading (e.g., 846 & 850; see more info below)
    • FTP hosting details (Flxpoint can host the FTP for free):
      • If the vendor is hosting the FTP, please provide:
        • Host
        • Port
        • Username
        • Password
        • Inbound and outbound directories
Note:

You’ll need to load an initial set of items with SKU and their cost to allow us to send a test order. If you need assistance, your EDI specialist is ready to help.

 

General EDI Guidelines

Standard Version

  • FLX supports EDI using version 004010VICS.

Interchange ID

  • Qualifier: ZZ
  • ID: FLX#####
  • = the Flxpoint AID of your client
  • Example: ZZ

Connection Type

  • Flxpoint supports EDI via SFTP.
    • We can either host the file for you or connect to your hosted FTP.
    • Note: AS2 and VAN are not supported.

Internal Vendor Number

  • This is an ID that Flxpoint will assign to you during initial setup.
  • Max length: 10 characters.
     

Delimiters

While you can configure these settings for each individual job, Flxpoint’s default delimiter settings are:

  • Segment Terminator: ~ (Decimal Value 126 or HEX 7E)
  • Element Separator: * (Decimal Value 42 or HEX 2A)
  • Sub-element Separator: > (Decimal Value 62 or HEX 3E)

     

997 Acknowledgements

  • FLX requires that you send back a 997 acknowledgement for each transaction we send.
  • FLX will also generate a 997 for every transaction processed, which will be placed in the "/out" directory on our FTP/SFTP.
  • FLX does not support sending 997 documents to external locations.
  • Note: A 997 confirms receipt of a transaction, but not the correctness of its content. If you have any issues with the transaction content, please contact our support team.

     

Supported Transactions

Please review the STEDI guide linked at the top of each of the following pages for more details:

FLX EDI Integration

846 - Inventory Advice

STEDI Guide: Inventory Advice Guide

Purpose: To inform the retailer of inventory availability with accurate inventory levels.

Frequency: Inventory information should be processed hourly. If not feasible, at least daily.

  • FLX recommends providing a valid quantity level, although any value above 0 means the item is in stock.
  • An inventory quantity > 0 means the item is in stock and can be purchased.
  • The supplier can implement any “safety net” algorithm they choose, such as sending a stock quantity of 0 when the item is in critically low stock.
  • Sending a ‘1’ or greater in the QTY 02 segment indicates that the supplier has sufficient stock to fulfill orders. Sending a ‘0’ indicates that the vendor is either out of stock or the stock is low.

Note: Sending a ‘0’ quantity 846 record does not affect any pending orders for the item.

LIN Segments (Line Item Identification)

  • Primary Identifier / Qualifier
    • LIN02 - Qualifier must be SK (SKU)
    • LIN03 - Primary Identifier should ideally be a SKU or whatever you want to treat as the SKU.
  • Optional Identifiers
    • LIN04 - LIN07 - Other identifiers can be passed via the Optional Additional Identifiers field, though only one identifier can be mapped into Flxpoint for use.
    • Additional optional qualifiers include: UP - UPC, EN - EAN
  • Example: LIN**SK*XXX***UP*X***VP*XX~

PID Segments (Product / Item Description)

  • Optional Elements
    • PID01 - Must always be “F” for Free-form Description
    • PID02 - Must always be “08” for Product
    • PID03 - Product Title
  • Example: PID*F***08***XX~

QTY Segments (Quantity)

  • Mandatory Elements
    • QTY01 - Must always be “33” for stock quantity available for sale
    • QTY02 - Value of quantity available for sale
    • QTY03 - Must always be “EA” for Each
  • Example: QTY*33***000*EA~

850 - Purchase Order

STEDI Guide: Purchase Order Guide

Purpose: To transmit new orders

Frequency: Purchase Orders should be processed hourly. If hourly is not feasible, at least daily.

The supplier must adhere to the shipping service level indicated in the TD5 segment of the PO.

BEG Segment (Beginning of Purchase Order)

  • BEG01 - Transaction Set Purpose will always be "00" for “Original”
  • BEG02 - Purchase Order Code will always be “SA” for Stand-Alone Order
  • BEG03 - Max length 22
  • BEG05 - Date format CCYYMMDD

PO1 Segment (Baseline Item Data)

  • PO101 - Line Item starts at 1, incrementing
  • PO102 - Qty Ordered, will be 1 or more
  • PO103 - Unit of Measure will always be “EA”
  • PO104 - Unit Price Format ##.##
  • PO105 - Qualifier will always be “SK” for SKU
  • Example: PO1*XXXXX***000000*EA***00000000000**SK*XXXX*UP*XXXXXXXXXXXX~

TD5 Segment (Carrier Details)

The Carrier Name is optional, but the Shipping Method is required.

  • TD512 - Service Level Code (Shipping Method)
    • Default Values: D3 - 3 Day Select, ND - Next Day Air Saver, SI - Standard Ground, SP - SurePost
  • Example: TD5*****XXXXX*******XX~

856 - Advanced Ship Notice (ASN)

STEDI Guide: Advanced Ship Notice Guide

Purpose: To inform the customer of tracking number information to track the progress of the order shipped to them.

Frequency: Shipment information should be processed hourly. If hourly is not feasible, at least daily.

LIN Segments (Line Item Identification)

  • LIN01 - Line Item # should start at 1 and increment up
  • LIN02 - Qualifier can be one of the following: UP - UPC, EN - EAN, SK - SKU, BP - Buyer’s Part Number
  • LIN03 - Product ID must match the value sent in the 850
  • Example: LIN*0001*SK*ABC12345~

Shipment Level vs Pack Level

Tracking can be provided in an 856 in two methods: Shipment Level or Pack Level

Shipment Level:

One or more orders in a single box, needing only a single tracking number.

  • HL loops follow the structure Shipment > Order > Item
  • Tracking # must be in the REF segment
  • Example: REF*CN*XXXXXXXXX~
  • Example Structure:
    HL*1****S*1~
    HL*2*1*O*1~
    HL*3*2*I*0~
                

Pack Level:

An order containing one or more packages, requiring tracking numbers for each.

  • HL loops follow the structure Shipment > Order > Pack > Item
  • Tracking # must be in the MAN segment for each Pack loop
  • Example: MAN*CP*XXXX~
  • Example Structure:
    HL*1**S*1~
    HL*2*1*O*1~
    HL*3*2*P*0~
    HL*4*3*I*0~
                

810 - Invoice

STEDI Guide: Invoice Guide

Purpose: To inform the Retailer of the cost that they must pay the supplier for the given order.

Frequency: Invoice information should be processed hourly. If hourly is not feasible, at least daily.

Suppliers must ensure that they invoice properly, following their Retailers' guidelines. Payment terms are agreed upon between Retailers and Suppliers.

Line Items

  • IT106 - Qualifier can be UP, SK, or VP
  • IT107 - Product ID must match the SKU sent from the 850
  • Example: IT1*XXXXX*0000*EA*000*QT*SK*XXXX~

REF Segments

3 Optional REF segment variants are defined in our spec: Internal Vendor Number, Department Number, Invoice Number

  • REF01 - Value can be “IA” (Internal Vendor Number), “DP” (Department Number), or “IV” (Invoice Number)
  • REF02 - This will be the unique number provided by FLX or your invoice number
  • Examples: REF*DP***0000~, REF*IA***XXXXX~, REF*IV***XXXXX~

SAC Segment (Service, Promotion, Allowance, Charge)

If shipping cost is provided, it must be sent in a SAC segment. It cannot be provided as a line item.

  • SAC Codes we accept in SAC02 include: AFEE - Fee, C310 - Discount, D240 - Freight, G821 - Shipping, H750 - Tax
  • Example: SAC*A***XXXX***000000~

855 - Purchase Order Acknowledgement

STEDI Guide: Purchase Order Acknowledgement Guide

Purpose: To inform the customer which line items on a Purchase Order will be processed and shipped.

Frequency: Acknowledgments should be processed hourly. If hourly is not feasible, at least daily.

BAK Segment (Beginning Segment for Purchase Order Acknowledgment)

  • BAK01 - Must be “00” for “Original”
  • BAK02 - Acknowledgment Type can be:
    • AC - Acknowledge - With Detail and Change
    • AD - Acknowledge - With Detail, No Change
    • RD - Reject with Detail
    • RJ - Rejected - No Detail
  • BAK03 - Purchase Order Number must match the PO# sent in the 850
  • Date format: CCYYMMDD
  • Example: BAK*00*RJ*XX***20230210~

PO1 Segments (Baseline Item Data)

  • PO101 - Line Item Number
  • PO102 - Qty Ordered
  • PO103 - Unit of Measure must be “EA” for “Each”
  • PO104 - Unit Price
  • PO106 - Product Qualifier must be “SK” for SKU
  • Example: PO1*0001***000000 *EA***00000000000**SK*XXXXX***UP*XXXXXX~

ACK Segments (Line Item Acknowledgment)

  • ACK01 - Line Item Status Code can be IA, IQ, IR, R2, R4
  • ACK02 - Quantity Accepted must be less than or equal to the value in PO102
  • ACK03 - Unit of Measure must be “EA” for Each
  • Example: ACK*R4***00000000000*EA~