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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
These are the standard FARO CSV Fields we would like you to use. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| To download an example XLS file for your review click here | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 |
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 us | What it means |
|---|---|
| Note | You must send the code UPS in separate field along with a code from below in it own field |
| Code | Description |
| 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. |
| ES | Express 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. |
| EX | Expedited or Worldwide Expedited |
| ST | Standard 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. |
| 3DS | 3 Day Select to the United States |
| ND | UPS 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: |
| 1DM | Next Day Air Early AM |
| 1DA | Next Day Air |
| 1DP | Next Day Air Saver |
| 2DM | 2nd Day Air AM |
| 2DA | 2nd Day Air |
| 3DS | 3 Day Select This service provides guaranteed three-business-day delivery from and to most addresses in the US 48. |
| GND | Ground 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. |
| EP | Worldwide Express Plus |
| ES | Worldwide Express |
| SV | Worldwide 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. |
| EX | Worldwide Expedited |
| ST | Standard |
FEDEX | Shipping Codes |
| Note | You must send the code FDEG in separate field along with a code from below in it own field |
|---|---|
| What you send to us | What it means |
| Code | Description |
| PRT | FedEx Priority Overnight/International Priority |
| 2DA | FedEx 2Day/International Economy/International 2Day |
| SOV | FedEx Standard Overnight |
| FOV | FedEx First Overnight/International First |
| XSV | FedEx Express Saver |
| HOM | FedEx Home Delivery |
| GND | FedEx Ground (US/Canada) |
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 |
| ABX1234 | ,optional | 20161018 | ,widget | 380 | |
| ABX1234 | ,optional | 20161018 | ,widget2 | 3680 | |
| ABX1234 | ,optional | 20161018 | ,widget3 | 110 | |
| ABX1234 | ,optional | 20161018 | ,widget4 | 281 | |
| ABX1234 | ,optional | 20161018 | ,widget5 | 399 | |
| ABX4321 | ,ABF123431344 | 20161024 | ,widgetA | 344 | ACME |
| ABX4321 | ,ABF123431344 | 20161024 | ,widgetB | 321 | ACME |
| ABL9345 | ,BLF262331133 | 20161028 | ,widgetG | 547 | SPIRIT 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.
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.