Integrating to FLX EDI

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

Getting Started with Flxpoint EDI Integration
Before you begin exchanging documents with Flxpoint, follow these steps to set up your connection. Once you complete these steps, an EDI specialist will be assigned to assist you further.

 

How to connect

First, if you are a FLX customer, add your supplier or vendor as a source in your Flxpoint account. This step is essential to ensure that all related data and communications are linked to your account. Before you begin testing and exchanging documents with Flxpoint, make sure you have loaded an initial set of items with a SKU and their cost so we can send a test order. If you need any assistance, your EDI specialist is ready to help.

If you are both a FLX customer and vendor, please email Flxpoint’s EDI Team at connect@flxpoint.com. In your email, include the following information:

  1. Vendor Company Name – For example, Acme Corp.
  2. Vendor Interchange IDs – These should follow the format, for example, ZZ:12345678.
  3. Document Types – Specify the types of documents you will be trading (such as 846 and 850).
  4. FTP Hosting Details – If your vendor is hosting the FTP, include details such as the Host, Port, Username, Password, and the Inbound/Outbound Directories.

 

General EDI Guidelines


Standard Version: Flxpoint supports EDI using version 004010VICS. This is the industry-standard version that ensures compatibility and consistency across systems.

Interchange ID: Use the qualifier ZZ and an ID in the format FLX#####. This number represents your client’s unique Flxpoint AID. For example, simply using ZZ is acceptable when the complete identifier is already understood in context.

Connection Type: The EDI connection is established via SFTP. Flxpoint can either host the file for you or connect to your hosted FTP. (Please note that AS2 and VAN connections are not supported.)

Internal Vendor Number: During the initial setup, Flxpoint assigns you an internal vendor number. This identifier is a maximum of 10 characters long and is used for system tracking.

Delimiters: By default, Flxpoint uses the following delimiter settings (which can be customized per job if needed):

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

997 Acknowledgements: For every transaction that Flxpoint sends, you must return a 997 acknowledgement. Additionally, Flxpoint generates a 997 for each processed transaction, and you can find these in the “/out” directory on the FTP/SFTP. Remember that a 997 only confirms that the transaction was received—it does not verify the accuracy of the transaction content. If you encounter any issues, please contact Flxpoint support. See the FLX EDI 997 guide for field-level details.


 

Envelope & Control Rules

Supported Versions (GS08 / ISA12):

Version Flxpoint behavior
004010VICS Preferred — X12 Retail VICS. Accepted.
004010 (no VICS) Accepted + warning. Not hard-rejected even when VICS-specific segments are present. Partners should ideally switch to 004010VICS.
005010 Accepted.
Anything else Warning. Processing depends on whether the segment structure still parses.

Hard rejection on version strings only happens when the segment structure itself fails to parse — not the version literal.

GS01 — Functional Identifier Code:

Code Transaction
IB 846 Inventory
SH 856 Ship Notice
PO 850 Purchase Order
AD 855 PO Acknowledgement
IN 810 Invoice
FA 997 Functional Acknowledgement
PI 832 Price/Sales Catalog

A GS01/ST01 mismatch is a hard reject.

ISA06 / ISA08 — Sender / Receiver IDs: Must be exactly 15 characters, right-padded with spaces when the ID is shorter. Missing padding causes the parser to fail finding the segment terminator, resulting in a hard reject.

Control Numbers:

  • ISA13 must be unique within a 24-hour window from the same Sender ID. Duplicate ISA13 from the same sender is rejected.
  • GS06 ↔ GE02 must match; mismatch is rejected.
  • ST02 ↔ SE02 must match; mismatch is rejected.

ISA15 — Usage Indicator: T (Test) and P (Production) are both processed. Test files are badged in the Flxpoint UI as “Test Mode” to prevent accidental real-world fulfillment.


Supported Transactions

Please review the FLX EDI guide linked at the top of each of the following tabs for more details:

846 - Inventory Advice

FLX EDI Guide: Inventory Advice Guide

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

Frequency: Process inventory data hourly or, if not feasible, at least daily.

Providing a valid quantity level is recommended; any value above 0 indicates the item is in stock.
A quantity > 0 confirms availability for purchase.
Suppliers may use a “safety net” algorithm (e.g., sending 0 for critically low stock).
A value of ‘1’ or higher in QTY02 indicates sufficient stock; ‘0’ indicates low or no stock.

Note: A ‘0’ quantity record does not affect pending orders.

BIA Segment (Beginning of Inventory Advice) — FLX-Custom

BIA01 – Must be exactly 00. (X12 allows 05 Replace; Flxpoint does not.)
BIA02 – Must be exactly MM. (X12 allows DD Distributor, DR Delivery; Flxpoint does not.)
Example: BIA*00*MM*XXXXX*20260417~

REF Segment — FLX-Custom

REF*IAMandatory. Qualifier must be IA (Internal Vendor Number assigned by FLX during setup, 10 characters max). (X12 marks REF as optional; Flxpoint requires it for 846.)
Example: REF*IA***XXXXXXXXXX~

CTT Segment

CTT is ignored entirely by the Flxpoint parser on 846 — neither error nor warning. Third-party validators sometimes flag CTT*N as unsupported; this is a false positive. Partners may include CTT or omit it.

LIN Segments (Line Item Identification)

Primary Identifier / Qualifier:
LIN02 – Qualifier must be SK (SKU).
LIN03 – Use a SKU or preferred product identifier.
Optional Identifiers:
LIN04 to LIN07 – Additional identifiers (only one mapped).
Additional qualifiers include UP (UPC) and EN (EAN).
Example: LIN**SK*XXX***UP*X***VP*XX~

PID Segments (Product / Item Description)

Optional Elements:
PID01 – Always “F” for Free-form Description.
PID02 – Always “08” for Product.
PID03 – Product Title.
Example: PID*F***08***XX~

QTY Segments (Quantity)

Mandatory Elements:
QTY01 – Always “33” for available stock.
QTY02 – Actual quantity available.
QTY03 – Always “EA” for Each.
Example: QTY*33***000*EA~

850 - Purchase Order

FLX EDI Guide: Purchase Order Guide

Purpose: To transmit new orders.

Frequency: Process Purchase Orders hourly or at least daily.

Suppliers must follow the shipping service level indicated in the TD5 segment.

BEG Segment (Beginning of Purchase Order)

BEG01 – Transaction Set Purpose: "00" for Original.
BEG02 – Purchase Order Code: "SA" for Stand-Alone Order.
BEG03 – Maximum length of 22 characters.
BEG05 – Date format: CCYYMMDD.

PO1 Segment (Baseline Item Data)

PO101 – Line Item starts at 1 and increments.
PO102 – Quantity Ordered (must be ≥1).
PO103 – Unit of Measure: “EA”.
PO104 – Unit Price in format ##.##.
PO105 – Qualifier: “SK” for SKU.
Example: PO1*XXXXX***000000*EA***00000000000**SK*XXXX*UP*XXXXXXXXXXXX~

TD5 Segment (Carrier Details)

The Carrier Name is optional; the Shipping Method is required.

TD512 – Service Level Code (Shipping Method).
Defaults: D3 (3 Day Select), ND (Next Day Air Saver), SC (2nd Day Air), SI (Standard Ground), SP (SurePost).
Example: TD5*****XXXXX*******XX~

856 - Advanced Ship Notice (ASN)

FLX EDI Guide: Advanced Ship Notice Guide

Purpose: To provide detailed tracking and shipment configuration information so incoming orders can be processed efficiently.

Frequency: Process shipment data hourly or at least daily.

LIN Segments (Line Item Identification)

LIN01 – Line Item number starts at 1 and increments.
LIN02 – Qualifier options: UP (UPC), EN (EAN), SK (SKU), or BP (Buyer’s Part Number).
LIN03 – Product ID must match the identifier sent in the 850.
Example: LIN*0001*SK*ABC12345~

Shipment Methods

Shipment Level: One tracking number for one or more orders in a single shipment.
HL loops structure: Shipment > Order > Item.
Tracking number provided in the REF segment.
Example: REF*CN*XXXXXXXXX~
Structure:
HL*1****S*1~ HL*2*1*O*1~ HL*3*2*I*0~
Pack Level: Tracking numbers provided for each package.
HL loops structure: Shipment > Order > Pack > Item.
Tracking number provided in the MAN segment for each pack.
Example: MAN*CP*XXXX~
Structure:
HL*1**S*1~ HL*2*1*O*1~ HL*3*2*P*0~ HL*4*3*I*0~

SN102 — Quantity Shipped

Must be a positive integer greater than 0. Zero or negative values cause the line to be rejected.

TD5 — Carrier & Service Level (required on 856)

TD502 must be 2.
TD503 — SCAC required. Flxpoint does not maintain an exhaustive list of SCAC codes. Validation is format-only: 2 to 4 alphanumeric characters (e.g. UPSN, FDXE, USPS). The validator warns when a SCAC is not in the common-carrier list, but the file still processes.
TD512 service level required (see 850 tab for accepted values).

DTM — Date / Time Reference (856)

DTM01 qualifier — accepted values:
011 – Shipped
017 – Estimated Delivery
002 – Delivery Requested

Item Tracking Reachability (FLX-Custom)

Every item HL must have reachable tracking — either a shipment-level REF*0L/CN/TN, or a MAN*CP/GM at pack/item level. Missing tracking causes the Flxpoint shipment mapper to drop the shipment silently even when the 846 itself parses cleanly.

Additional Shipping & Routing Details

FTP/EDI Transfer Specifics:
FTP Host: ftp.flxpoint.com
Port: 22 (SFTP)
Inbound Directory: /incoming
Outbound Directory: /out
Standard Operating Procedures:
Ensure ASN files are received and processed within scheduled intervals.
Verify HL loop sequencing and tracking mapping before live shipment.
Confirm FTP connectivity and directory permissions prior to go-live.
Troubleshooting & Support:
For FTP issues, email support@flxpoint.com.
For EDI mapping or ASN content queries, contact your dedicated FLX EDI specialist.

810 - Invoice

FLX EDI Guide: Invoice Guide

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

Frequency: Process invoice data hourly or at least daily.

Suppliers must invoice following retailer guidelines and agreed payment terms.

Line Items

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

REF Segments

REF*DP is mandatory. REF*IA and REF*IV are optional.

REF*DP – Mandatory. Department Number. Value must be 0000. Missing REF*DP is the #1 cause of 810 rejections in Flxpoint.
REF*IA – Optional. Internal Vendor Number assigned by FLX.
REF*IV – Optional. 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 rather than as a line item.

SAC02 – Service / Allowance / Charge Code. Accepted values:
G821 – Shipping (primary code for shipping charges)
C310 – Freight
D240 – Freight Assistance
F050 – Other / Miscellaneous Charges
Note: Other codes (AFEE, G740, H750) will be flagged by the validator as “may not be processed”.
Example: SAC*A***G821***000000~

855 - Purchase Order Acknowledgement

FLX EDI Guide: PO Acknowledgement Guide

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

Frequency: Process acknowledgements hourly or at least daily.

BAK Segment (Beginning of PO Acknowledgement)

BAK01 – Must be “00” for Original.
BAK02 – Acknowledgment Type options:
AC – With Detail and Change.
AD – With Detail, No Change.
RD – Reject with Detail.
RJ – Rejected, No Detail.
BAK03 – Purchase Order Number must match the PO# from the 850.
Date Format – CCYYMMDD.
Example: BAK*00*RJ*XX***20230210~

PO1 Segment (Baseline Item Data)

PO101 – Line Item Number.
PO102 – Quantity Ordered.
PO103 – Unit of Measure: “EA”.
PO104 – Unit Price.
PO106 – 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. Valid values:
IA – Item Accepted
IB – Item Backordered
IR – Item Rejected
IQ – Item Quantity Changed
Note: Broader X12 codes (AC/AD/AE/AK/BP/DR/IC/ID/IF/IS/IW/RD/RJ/SP) are accepted by the parser for backward compatibility, but only the four above are actively processed by Flxpoint.
ACK02 – Quantity Accepted must be ≤ PO102.
ACK03 – Unit of Measure: “EA”.
Example: ACK*IA***00000000000*EA~

832 - Price / Sales Catalog Preview

FLX EDI Guide: Price / Sales Catalog Guide

Purpose: To exchange product price and catalog information between trading partners.

More information coming soon

Flxpoint is still finalizing its official 832 specification. Custom 832 implementations exist for specific partners today, but a publicly published Flxpoint 832 schema is not yet available. In the meantime, generic X12 validation applies only.

If you need to exchange 832 files with Flxpoint, please contact your dedicated FLX EDI specialist or email connect@flxpoint.com so we can align on field-level requirements for your integration.

What to expect

Standard ST/BCT/GE envelope validation (same envelope rules as other transactions — see the Envelope & Control Rules section above).
GS01 functional identifier code PI.
Generic X12 syntax enforcement until the FLX-specific schema is published.


CTT Handling by Transaction

Transaction CTT behavior
846 Parser ignores CTT entirely. Neither error nor warning. Some third-party validators flag CTT*N as unsupported; this is a false positive for Flxpoint ingestion.
850 / 855 CTT01 must equal the number of PO1 segments. Mismatch is an error.
810 CTT01 must equal the number of IT1 segments. Mismatch is an error.
856 / 997 CTT is not used.

X12-Standard vs FLX-Custom Rules

When a partner argues “my file is X12 compliant”, these are the rows where Flxpoint diverges from the industry standard. Everything else in the validator output is generic X12 syntax.

Segment / Rule Rule Source
BIA01 (846) Must be exactly 00 FLX-Custom — X12 allows 05 (Replace)
BIA02 (846) Must be exactly MM FLX-Custom — X12 allows DD (Distributor), DR (Delivery)
REF*IA (846) Mandatory; qualifier must be IA FLX-Custom — X12 marks REF as optional
LIN02 Must be SK/UP/EN/BP X12-Standard
SN102 (856) Must be a positive integer > 0 X12-Standard (ASN business logic)
CTT (846) Ignored by parser X12-Standard (segment optional; Flxpoint skips entirely)
REF*DP (810) Mandatory; value must be 0000 FLX-Custom
TD5 (856) Required; TD502=2, TD503 SCAC required, TD512 service level required FLX-Custom
Item Tracking Reachability (856) Every item HL must have reachable tracking (REF*0L/CN/TN at shipment, or MAN*CP/GM at pack/item) FLX-Custom (runtime mapper requirement)

Last reviewed 2026-04-16 by the Flxpoint EDI team.