FTP Flow View

FTP Setup

FARO only accepts FTP from static IP addresses. We at FARO filter who can access our site and who cannot. If you are using a company site utilizing a T1 or better connection you can check your IP address using What is my IP . You can check this value from day to day and if it does not change then you probably do have a static IP. But if it does change then you are not using static IP and must find a static IP site to send your data from for all data transmissions.

Please understand, FARO Logistics want to protect your data and this helps unwanted users from accessing our site. If you are trying to send CSV files from home then you probably should check with your local Internet Provider about aquiring a static ip address if you do not already have one.

Date Formatting

Date formatting is very important. Failure to send properly formatted dates can result in customers not receiving packages on time. FARO uses ASCII date formatting. The date is formatted as 20111225 where we see YYYYMMDD. The YYYY equals the year, MM represents a two digit month and DD is the two digit day of the month.

To format January 5, 2012 we would expect 20120105. Note we did not use any backslashes. The months and day of the month are always sent as two digit numbers.

Failure to follow proper date syntax will place date liability on you, our customers. FARO will not be responsible for any dates not sent using ASCI formatting.

What is an Acceptable CSV File?

A CSV file is actually a delimited file. This file is dropped onto our FTP site and automatically transfered to our WMS. CSV is a common, relatively simple file format that is widely supported by consumer, business, and scientific applications. Among its most common uses is moving tabular data between programs that natively operate on incompatible (often proprietary and/or undocumented) formats. This works because so many programs support some variation of CSV at least as an alternative import/export format. For example, a user may need to transfer information from a database program that stores data in a proprietary format, to a spreadsheet that uses a completely different format. The database program most likely can export its data as "CSV"; the exported CSV file can then be imported by the spreadsheet program. "CSV" is not a single, well-defined format (although see RFC 4180 for one definition that is commonly used). Rather, in practice the term "CSV" refers to any file that: is plain text using a character set such as ASCII, Unicode, EBCDIC, or Shift JIS, consists of records (typically one record per line), with the records divided into fields separated by delimiters (typically a single reserved character such as comma, semicolon, or tab; sometimes the delimiter may include optional spaces), where every record has the same sequence of fields. Within these general constraints, many variations are in use. Therefore "CSV" files are not entirely portable. Nevertheless, the variations are fairly small, and many implementations allow users to glance at the file (which is feasible because it is plain text), and then specify the delimiter character(s), quoting rules, etc. If a particular CSV file's variations fall outside what a particular receiving program supports, it is often feasible to examine and edit the file by hand or via simple programming to fix the problem. Thus CSV files are, in practice, quite portable.

The requirements are as followed:

It must have a file extension of ".CSV". 20120107.csv works fine but the name should not have any spaces. 2012 0101.csv would not be acceptable.

FARO will only accept one copy of the file per hour or the file will fail to import. Duplicate data is not accepted and will cause the file to fail. Under normal circumstances the scheduler picks up your file every 1/2 hour and processes it through our system.

If a scheduler is busy or the on occasion, the scheduler is "hung-up", it will require the IT department to investigate and push your file through.

Now we must keep a one for one header to detail correspondence. For each header column there must be a corresponding detail column record. It is very important to maintain this one for one relationship or your file will be rejected. This means if the field is blank, it must still be sent or your file will error out.

Each file begins with the row with the column names. These names are written in stone and are agreed upon by both FARO and our clients. The column names can be altered over time but they must be in our list of "agreed upon" headers names. Names of headers would be like ORDER_NO, Shipto1, Shipto2, SHIP_POSTAL_CODE, ShipVia. The header names are only inserted into the CSV file once and must be the top row.

ORDER_NO^ORDER_DATE^CUSTOMER_NO^SHIP_ADDRESS_1^SHIP_ADDRESS_2^SHIP_CITY^SHIP_STATE^SHIP_POSTAL_CODE^SKU^QTY_TO_SHIP

Lets examine what we are looking at in this header row and the implications of it. First we note the delimiter is a caret (^). We must agree on the delimiter and it must never change. Examples of delimiters are ^$!~ and we ask you do not use the ampersand &. We will not accept a comma as the delimiter. Commas are used often in name and addresses and are not a good choice for delimited files.

ORDER_NO^ORDER_DATE^CUSTOMER_NO^SHIP_ADDRESS_1^SHIP_ADDRESS_2^SHIP_CITY^SHIP_STATE^SHIP_POSTAL_CODE^SKU^QTY_TO_SHIP
1234001^20121109^AJAX Corp^33 Pleasant Ave^^Niles^Oh^44446^45100GR^24

We see that SHIP_ADDRESS_2 is blank, but the caret delimiter holds a place for it. This will be explained below. The SHIP_STATE is always two characters. No delimiter is after the QTY_TO_SHIP. We have a one for one correspondence between header and detail line SKUs. Now lets add another SKU to the sales order.

ORDER_NO^ORDER_DATE^CUSTOMER_NO^SHIP_ADDRESS_1^SHIP_ADDRESS_2^SHIP_CITY^SHIP_STATE^SHIP_POSTAL_CODE^SKU^QTY_TO_SHIP
1234001^20121109^AJAX Corp^33 Pleasant Ave^^Niles^Oh^44446^45100GR^24
1234001^20121109^AJAX Corp^33 Pleasant Ave^^Niles^Oh^44446^65100LR^36

Now we see where we duplicated the ORDER_NO and the address as well as added the second SKU. Note that spaces are not an issue and all fields are trimmed during processing.

Now lets add a second sales order to this same file. This time we used the SHIP_ADDRESS_2 field and see why it was necessary to leave a blank in the first sales orders but carry the place holder.

ORDER_NO^ORDER_DATE^CUSTOMER_NO^SHIP_ADDRESS_1^SHIP_ADDRESS_2^SHIP_CITY^SHIP_STATE^SHIP_POSTAL_CODE^SKU^QTY_TO_SHIP
1234001^20121109^AJAX Corp^33 Pleasant Ave^^Niles^Oh^44446^45100GR^24
1234001^20121109^AJAX Corp^33 Pleasant Ave^^Niles^Oh^44446^65100LR^36
1234002^20121109^Widget Corp^989 SkyView Dr^Suite D^Tionesta^PA^16353^45100GR^18
1234002^20121109^Widget Corp^989 SkyView Dr^Suite D^Tionesta^PA^16353^65100LR^12
1234002^20121109^Widget Corp^989 SkyView Dr^Suite D^Tionesta^PA^16353^43200LR^36

These are the standard FARO CSV Fields we would like you to use.

Preferred Column Names for CSV files
Column Header NameDescriptionMin/Max SizeRequired
Order Information (Manditory)
BATCH_IDThis is your batch number and can
be used to group orders together
0 / 10N
ORDER_NOYour Order Number used to track in
Radio Beacon
1 / 15Y
CUSTOMER_NOUsed to group customer orders together in Radio Beacon0 /15N
CUST_ORD_NOThe Customer Order Number similiar to ORDER_NO0 /15N
ORDER_DATEThe date used to track this order 8/8 Y
CANCEL_DATEIf not shipped by this date then cancel order 0/8 N
DONT_SHIP_BEFORE_DATEFuture Ship Date, hold till this day0/8 N
DATE_REQRDDate SKU must be delivered by0/8N
Shipping Information (Manditory)
RECIPIENT_NAMEShipto Name 1/35 Y
SHIP_ADDRESS_1Shipto Addr 1 2/35 Y
SHIP_ADDRESS_2Shipto Addr 2 2/35 N
SHIP_SHIP_CITYShipto SHIP_CITY 2/35Y
SHIP_SHIP_STATEShipto SHIP_STATE 2/2Y
SHIP_POSTAL_CODEShipto SHIP_POSTAL_CODEcode 5/10Y
SHIP_COUNTRYShipto Country Code 2/2Y
MARK_FOR_NAME3RD PARTY BILLING Name 1/35 N
MARK_FOR_ADDRESS_13RD PARTY BILLING Addr 1 2/35 N
MARK_FOR_ADDRESS_23RD PARTY BILLING Addr 2 2/35 N
MARK_FOR_SHIP_CITY3RD PARTY BILLING CITY 2/35N
MARK_FOR_SHIP_STATE3RD PARTY BILLING STATE 2/2N
MARK_FOR_POSTAL_CODES3RD PARTY BILLING POSTAL CODE 5/10N
MARK_FOR_COUNTRY3RD PARTY BILLING Country Code 2/2N
MARK_FOR_ACCOUNT3RD PARTY BILLING ACCOUNT NUMBER 0/20N
SHIP_EMAIL_ADDRShipto Email Address0/40 N
SHIP_VIAShip Using this carrier ie UPS FEDX 1/15 Y
SHIP_METHODPreferred Shipping method ie GRND, OVERNIGHT,3DAY1/15 Y
STORE_NOShipto Store Number0/12N
MESSAGE1Custom Message 1 0/100 N
MESSAGE2Custom Message 2 0/100 N
EXTRA1Optional Information 1 0/100 N
EXTRA2Optional Information 2 0/100 N
Buyer Information (Optional)
BUYER_NAMEPurchaser0/35 N
BUYER_ADDRESS_1Purchaser Addr 10/35N
BUYER_ADDRESS_2Purchaser Addr 20/35N
BUYER_SHIP_CITYPurchaser SHIP_CITY0/35N
BUYER_SHIP_STATEPurchaser SHIP_STATE0/2N
BUYER_POSTAL_CODEPurchaser SHIP_POSTAL_CODE 0/10 N
BUYER_EMAILPurchaser Email Address0/40N
BUYER_PHONE_NUMBERPurchaser Phone #0/25N
SKU and Prices (Manditory)
SKUSKU Sku used in Radio Beacon Inventory 1/20Y
LINE_NOOrder Line Number 12N
CUST_PROD_NAMECustomer Product Number
Can be printed on Packslips
0/15N
DESCRIPTIONSKU Description0/42N
UPCUPC Code 0/20N
STYLESKU Style Number0/80 N
PACKSIZESKU Pack Size0/5 N
QTY_TO_SHIPTotal QTY_TO_SHIP to ship
Must be a multiple of PACKSIZE if PACKSIZE is greater than 1
1/11 Y
SKU_PRICESelling Price0/8.2 N
SKU_COSTCost Price 0/8.2 N
GIFT_WRAPGift Wrapping Description0/80 N
To download an example XLS file for your review click here
To download an example csv file for your review click here

Common Errors

Spelling and consistancy is important for headers. Address 1 does not equal SHIP_ADDRESS_1. SHIP_ADDRESS_1 does not equal Addr 1. SHIP_STATE does not equal ST. Header fields may not change without consulting FARO first.

You may not add a field at your convenience. If you need to add Customer_PO as a field then call or write us first. The computer is not smart enough to understand that you need this new field. The field won't magically appear in the right place. It will force an error.

Sending your data twice within the same hour and invalidating your data. Simply put, do not resend data without consulting FARO first.

A product SKU may not have a backslash or forward slash "/"     "\" in it and may only be 20 chararacters in length. There is not a dash "-" on the hand held scanners. Please avoid the "-" character in all data. We can setup a translation table but this creates additional work. Your product must conform to Radio Beacon (C) and we did not write the software.

SHIP_STATEs and Country Codes are two characters in length

Po Numbers are only 15 characters in length

You may not re-use Sales Order Numbers. If the order is active and currently is not allocated, if you re-sent it, will overwrite the existing order. Otherwise, the order is rejected by Radio Beacon(c) by default.

Sending improper dates not in ASCII format might cause delays. Please be careful on dates!.

Mixing PO Line SKUs is the same as sending the data twice in the world of computers. Do not allow the following to happen! PO 1234001 is split with PO 1234002 and invalidates itself. It will never make it to Radio Beacon.

ORDER_NO^ORDER_DATE^CUSTOMER_NO^SHIP_ADDRESS_1^SHIP_ADDRESS_2^SHIP_CITY^SHIP_STATE^SHIP_POSTAL_CODE^SKU^QTY_TO_SHIP
1234001^20121109^AJAX Corp^33 Pleasant Ave^^Niles^Oh^44446^45100GR^24
1234001^20121109^AJAX Corp^33 Pleasant Ave^^Niles^Oh^44446^65100LR^36
1234002^20121109^Widget Corp^989 SkyView Dr^Suite D^Tionesta^PA^16353^45100GR^18
1234002^20121109^Widget Corp^989 SkyView Dr^Suite D^Tionesta^PA^16353^65100LR^12
1234002^20121109^Widget Corp^989 SkyView Dr^Suite D^Tionesta^PA^16353^43200LR^36
1234001^20121109^AJAX Corp^33 Pleasant Ave^^Niles^Oh^44446^43200LR^72

Shipping Codes

We must agree on shipping terms. UPS is not the same United Parcel. Sometimes we need UPS1 sometimes it will ship LVLA, spelling is very important to be understood at our shipping department. Unless the shipping terms are predermined from a list we both acknowledge, the "Ship Via" will default to "UPS" and ship method will be "UNKNOWN".

Imagine your customer had a desire for overnight shipping and was missed due to improper ship methods being sent. That would not be good for either of us. So the rule is, it must be agreeded upon and acknowledged by our system.

Shipping Codes are case sensitive. "UPS" does not equal "ups" in code translation.

 

UPS

Shipping Codes

What you send to usWhat it means
NoteYou must send the code UPS in separate field along with a code from below in it own field

CodeDescription
EP

Express Plus or Worldwide Express Plus This service provides guaranteed early-morning, next-business-day delivery to and from most business areas within the country or early-morning, day-definite delivery for international shipments from more than 30 countries and territories to 65 countries and countries.

ESExpress or Worldwide Express
SV

Express Saver or Worldwide Saver This service provides guaranteed next-business-day delivery to and from most business areas within the country and day-definite delivery for international shipments from more than 215 countries and territories to more than 185 countries and territories.

EXExpedited or Worldwide Expedited
STStandard This service provides scheduled day-definite delivery to and from most addresses within the country and scheduled day-definite delivery within five days for international shipments to and from more than 30 countries and territories.
3DS3 Day Select to the United States
NDUPS Express (NA1)
----

If the shipment origin is the United States or Puerto Rico, the following UPS service types may be available depending on the shipment destination:

1DMNext Day Air Early AM
1DANext Day Air
1DPNext Day Air Saver
2DM2nd Day Air AM
2DA2nd Day Air
3DS3 Day Select This service provides guaranteed three-business-day delivery from and to most addresses in the US 48.
GNDGround This service provides guaranteed day-definite delivery for commercial and residential shipments in one to five days from and to most addresses in the US 50 and Puerto Rico.
EPWorldwide Express Plus
ESWorldwide Express
SVWorldwide Saver (Express)This service provides guaranteed afternoon delivery times in one to three days for international shipments from more than 185 countries and territories to 215 countries and territories.
EXWorldwide Expedited
STStandard

FEDEX

Shipping Codes

NoteYou must send the code FDEG in separate field along with a code from below in it own field
What you send to usWhat it means
CodeDescription
PRTFedEx Priority Overnight/International Priority
2DAFedEx 2Day/International Economy/International 2Day
SOVFedEx Standard Overnight
FOVFedEx First Overnight/International First
XSVFedEx Express Saver
HOMFedEx Home Delivery
GNDFedEx Ground (US/Canada)

Faro requires all customers to give advance notice of all inbound shipments

Receiving CSVs/XLSs are probably the most ignored part of your sales.

In order to ship, Faro has to receive your items into our warehouse. A receiving worksheet is the simpliest way to do it.

We only need some basic information. Fields required are PO_Num,Container,DateExpected,Product,quantity

,,,,,,,,,,,,,,,,

PO_NUM

Container

DateExpected

Product

Quantity

Vendor

ABX1234optional20161018widget380
ABX1234optional20161018widget23680
ABX1234optional20161018widget3110
ABX1234optional20161018widget4281
ABX1234optional20161018widget5399
ABX4321ABF12343134420161024widgetA344ACME
ABX4321ABF12343134420161024widgetB321ACME
ABL9345BLF26233113320161028widgetG547SPIRIT MFG

Note that multiple Purchase Orders can be sent in one csv/xls file but they must be sequential as stated above for Sales Orders.

Place holders for optional values should always be incorporated into the CSV File
As stated above, the delimiter should be an odd character such as the caret ^.

Date format is ANSI as described above.

Let us help guide you, every step of the way...

FARO will help you each step of the way to ensure a smooth transition and data exchane to ensure your products get shipped correctly. We both rely on your data and following these instructions is very important. If you have questions please call the FARO ITSG department during normal business hours.

Normal IT Department business hours are from 6:30 AM to 4 PM EST After hours there is someone on call.