Creating New POS Integrations - Avero Export Specifications
This document defines the method and specifications for Vendors/Clients to export sales files directly to Avero for integration. If looking to create a POS Export so that your point of sale may be included in Avero's library of integrations, your first step is to review these specifications and determine if you have the technical capability of producing a POS export to reliably match these specifications. Once prepared, you may send an example export to Avero to review.
If you are a customer, or are interested in becoming a customer, and your POS does not have an active Avero integration (view our list of integrations here: *Avero POS Integrations) this document will provide them with the starting point to create a potential Avero integration.
Table of Contents
Overview
-
The export process
-
The format for the export
-
The data points for each of the 5 file types
Activating a New Location
-
Avero Sales activates the subscription and opens an installation request for each location.
-
Avero Install Team provides customer contacts with a technical form (“Jumpstart Form”) and Avero Business ID, along with any POS-Specific instructions.
-
POS Provider enables the daily export to the documented specifications, points the file name to the Business ID provided by Avero, and confirms with the Customer that the export is scheduled and sent daily.
-
The customer completes the technical form and submits it, confirming the export is actively sent on a daily schedule.
-
The customer schedules time for an install agent to complete the data connection and verify the data in the export is processing and loading as expected.
-
At the scheduled time, the Avero Installation agent will review the export and connect the data to the Avero Business ID, verify and load the data. Avero Installation will confirm directly with the customer that this process is completed.
Revenue Center to Business Mappings (for Properties only)
If a Location operates in a Property-style setup (e.g. Hotels, Casinos) where outlets are available as individual businesses united by a property code and the POS allows for RVCs to be split and loaded to different Avero business IDs, then additional mapping is required:
-
In addition to providing Avero with a daily extract, the client/vendor must also provide Avero with a mapping of revenue centers to Avero business IDs. This mapping must contain the following fields:
-
POS Revenue Center Number
-
Avero Business ID (if the export contains data for multiple properties)
-
-
Avero will provide the client with a full list of Avero Business IDs to assist with this process.
-
If at any time the revenue center numbers change, or if additional properties are added on, it is the responsibility of the client/vendor to provide this updated information to Avero so that the extraction configuration can be adjusted
Export Process
-
The export files must be created each night by the client and placed on Avero's FTP/FTPS/SFTP server.
-
Avero will provide the host address, username, and password.
-
-
The export must contain yesterday's business day data.
-
The business day is defined by the business and may span more than one day.
-
The business day is the day to which the transactions are assigned.
-
-
A process should be available to export older days of data if necessary to backfill or recover data that hasn't been sent to Avero.
Export File Naming Convention and Format
-
The filename format is:
-
avero_BUSID_YYYYMMDD_FILETYPE.txt where YYYYMMDD is the business day of data contained in the file, BUSID is a unique number generated by Avero to identify the client's business(es) and will be provided by Avero. FILETYPE is a string to identify the data type in the file and will be one of the following values:
-
CHECKHEADER
-
CHECKDETAIL
-
CHECKTRANSFER
-
MENUITEMDETAIL
-
DAYPART
-
-
Example: Restaurant Blue Granite, business id = 58 for Jan 1, 2011: CHECKHEADER filename would be “avero_58_20110101_CHECKHEADER.txt”
-
The CHECKTRANSFER file is not required if the POS system doesn't support transfer data.
-
-
The files can be posted as individual files or archived into a single zip file named “avero_BUSID_YYYYMMDD.zip”.
-
The export file should be an ASCII text file with pipe-delimited columns.
-
Pipe-delimited: Fields separated by a “|” (char 124) and rows separated by a carriage return/line feed combination (char 13 followed by char 10).
-
If the data has a pipe character in the description, it must be replaced with a “-” (char 45).
-
-
For security, we recommend PGP encryption for the export, Avero can provide the client/vendor with a public key to use.
Property File Naming Convention (for Properties Only)
If a Location operates in a Property-style setup (e.g. Hotels, Casinos) where outlets are available as individual businesses united by a property code, please use the following property-level file naming convention. This format allows Avero to configure the mapping of business to revenue center(s).
-
avero_PROP_YYYYMMDD_FILETYPE.txt
-
PROP - is the property code provided by Avero
-
YYYYMMDD is the business day of data contained in the file
-
FILETYPE - same as defined above.
-
-
Example: avero_ROY_20161024_DAYPART.txt
-
We recommend the individual files are placed in a zipped file named avero_PROP_Busday.zip. Example:avero_ROY_20161024.zip
Required Data Points for Sales Data
Y = Required for every integration |
(Y) = If your POS has this data point, it is required |
blank = not required |
Required vs. non-required fields
• Although a number of fields are not marked as required, Avero recommends that where possible, all fields are included. Having all fields populated will insure that the integration is able to use all of Avero’s functionality. When a field is empty, the pipe-delimited export file will show this as ||
.
CHECKHEADER
This file type contains summary data for every check at the business including open/close time, employee name, check number, etc.
File Naming convention: avero_BUSID_YYYYMMDD_CHECKHEADER.txt
Y |
BUSDATE |
Business Day |
Date as YYYYMMDD |
8 digits (99991231) |
POS business day of check transaction |
20110101 |
Y |
RVCNUM |
Revenue Center Number |
Number |
12 digits (999999999999) |
Unique identifier for the revenue center where the check was opened |
1 |
Y |
RVCDESC |
Revenue Center Description |
String |
40 characters |
Description of the revenue center where the check was opened |
Dining Room |
Y |
CHKSEQ |
Unique check sequence identifier |
String |
50 characters |
Unique check sequence to identify the check in the POS. Must be unique within the revenue center for the business day. This can be an internal database identifier (GUID) or it could be generated from other fields, such as check number, check open time, employee number, etc… |
4739870980 |
Y |
CHKNUM |
Check number |
Number |
12 digits (999999999999) |
Check number for this check |
399 |
Y |
EMPNUM |
Employee Number |
Number |
12 digits (999999999999) |
Unique identifier for the employee who owns the check |
10000 |
Y |
EMPDESC |
Employee Description |
String |
40 characters |
First and Last Name of employee who owns the check |
John Doe |
Y |
EMPCLASSNUM |
Employee Class Number |
Number |
12 digits (999999999999) |
Employee class number |
6 |
Y |
EMPCLASSDESC |
Employee Class Description |
String |
40 characters |
Class Description of employee who owns the check |
Server |
Y |
CHKOPENDAY |
Check Open Day |
Date as YYYYMMDD |
8 digits (99991231) |
Actual calendar date the check was opened |
20110101 |
Y |
CHKOPENTIME |
Check Open Time |
Time as HH24:MM |
23:59 |
Time the check was opened. |
11:10 |
Y |
CHKCLOSEDAY |
Check Close Day |
Date as YYYYMMDD |
8 digits (99991231) |
Actual calendar date the check was closed |
20110101 |
Y |
CHKCLOSETIME |
Check Close Time |
Time as HH24:MM |
23:59 |
Time the check was closed. |
13:40 |
|
CASHIERNUM |
Cashier Number |
Number |
12 digits (999999999999) |
Unique identifier for the employee who was the cashier for the check |
10016 |
|
CASHIERDESC |
Cashier Description |
String |
40 characters |
Name of employee who was the cashier for the check |
Bill Jones |
|
CASHIERCLASSNUM |
Cashier Class Number |
Number |
12 digits (999999999999) |
Unique identifier for cashier class |
60 |
|
CASHIERCLASSDESC |
Cashier Class Description |
String |
40 characters |
Class Description of employee who was the cashier for the item transaction |
Cashier |
(Y) |
COVERS |
Cover Count |
Number |
12 digits (999999999999) |
Number of covers, or guests, on the check. |
4 |
|
TABLEDESC |
Table Name |
String |
20 characters |
Description or number of table |
Table 2 |
|
ORDERTYPENUM |
Order Type Number |
Number |
12 digits (999999999999) |
Unique identifier for the order type |
4 |
|
ORDERTYPEDESC |
Order Type Description |
String |
40 characters |
Order type description |
Dine In |
Sample Data records
CHECKDETAIL
This file contains check level details including discounts, items, voids, taxes, etc.
File Naming convention: avero_BUSID_YYYYMMDD_CHECKDETAIL.txt
Y |
ROWNUM |
Row number |
Number |
12 digits (999999999999) |
Unique row number (autoseq) |
112 |
Y |
BUSDATE |
Business Day |
Date as YYYYMMDD |
8 digits (99991231) |
POS business day of check transaction |
20110101 |
Y |
RVCNUM |
Revenue Center Number |
Number |
12 digits (999999999999) |
Unique identifier for the revenue center where the check was opened |
1 |
Y |
RVCDESC |
Revenue Center Description |
String |
40 characters |
Description of the revenue center where the check was opened |
Dining Room |
Y |
CHKSEQ |
Unique check sequence identifier |
String |
50 characters |
Unique check sequence to identify the check in the POS. Must be unique within the revenue center for the business day. This can be an internal database identifier (GUID) or it could be generated from other fields, such as check number, check open time, employee number, etc… |
4739870980 |
Y |
CHKNUM |
Check Number |
Number |
12 digits (999999999999) |
Check number for this check |
399 |
Y |
EMPNUM |
Employee Number |
Number |
12 digits (999999999999) |
Unique identifier for the employee who owns the check |
10000 |
Y |
EMPDESC |
Employee Description |
String |
40 characters |
Name of employee who owns the check |
John Doe |
Y |
EMPCLASSNUM |
Employee Class Number |
Number |
12 digits (999999999999) |
Employee class number |
6 |
Y |
EMPCLASSDESC |
Employee Class Description |
String |
40 characters |
Class Description of employee who owns the check |
Server |
Y |
TRANSDATE |
Transaction Day |
Date as YYYYMMDD |
8 digits (99991231) |
Actual calendar date of item transaction |
20110101 |
Y |
TRANSTIME |
Transaction Time |
Time as HH24:MM |
23:59 |
Actual time of item transaction. |
11:50 |
Y |
RECTYPE |
Record Type |
String |
40 characters |
See RecType Definitions |
TAX |
Y |
{RECTYPE}NUM |
RECTYPE Number |
Number |
12 digits (999999999999) |
Unique non-negative identifier for the transaction type |
12 |
Y |
{RECTYPE}DESC |
RECTYPE Description |
String |
40 characters |
Description of the type of transaction. For example if it is a payment is it Visa, Amex, etc |
VAT |
Y |
{RECTYPE}QTY |
Quantity |
Number |
12 digits (999999999999) |
Quantity for the RecType. I.e menu item count |
1 |
Y |
{RECTYPE}AMT |
RECTYPE Amount |
Money |
13 digit number with 2 decimal places (99,999,999,999.99) |
Total amount for the record type on this check. May have multiple rows of the same record type. For example, if you had 2 VISA payments on one check, you would have two separate rows, one for each payment transaction. |
55.75 |
|
PARENTROWNUM |
ROWNUM of the parent record this record is tied to |
Number |
12 digits (999999999999) |
If this record is a modifier or discount, list the ROWNUM of the record being modified or discounted |
111 |
|
AUTHEMPNUM |
Authorizing Employee Number |
Number |
12 digits (999999999999) |
For discounts, the unique numeric identifier of the employee who authorized the check level discount. If unavailable, the same employee number as above can be used |
10001 |
|
AUTHEMPDESC |
Authorizing Employee Name |
String |
40 characters |
For discounts, the name of the employee who authorized the check level discount. If unavailable, the same employee name as above can be used |
Jill Smith |
|
AUTHEMPCLASSNUM |
Authorizing Employee Class Number |
Number |
12 digits (999999999999) |
Authorizing Employee class number |
6 |
|
AUTHEMPCLASSDESC |
Authorizing Employee Class |
String |
40 characters |
For discounts, the class description of the employee who authorized the check level discount. If unavailable, the same employee class as above can be used |
Manager |
|
REFINFO |
Reference Information |
String |
100 characters |
Reference information for the check or payment. This could include room numbers for Room Charge payments, masked credit card numbers xxxx1234, or generic notes added to the check by the server, such as a party name, etc.. |
Room 123 ** Do not put sensitive or PII data here |
|
CUSTNAME |
Customer Name |
String |
40 characters |
Customer name from payment information |
Henry James |
Sample Data records
SALES RECTYPE Definitions
Each row in the CHECKDETAIL file represents a different type of transaction. The Avero export file may contain these transaction types:
DSC |
Check level discounts. |
|
Negative AMT and positive QTY |
10 |
ITEM |
Menu items |
|
See VOID rectype below |
11-14 |
ITEMNR
|
|
|
Negative AMT & Positive QTY |
|
ITEMDSC |
Item level discounts |
|
Negative AMT and positive QTY |
28 |
MOD |
Item modifier |
|
See VOID rectype below |
29-30 |
PAY |
Payments |
|
Negative AMT and positive QTY |
31-35 |
SVC |
Service Charges & Gratuities (auto gratuity, delivery, house fees, etc.). |
|
Negative AMT and positive QTY |
|
TAX |
Tax Information |
|
Negative AMT and positive QTY |
1-2 |
TIP |
Tips |
|
Negative AMT and positive QTY |
6-7 |
VOID |
Voided items |
|
NA |
9 |
CHECKTRANSFER
This file contains information about every check transfer including where the check began and where it was transferred to, how much was transferred, etc.
File Naming convention: avero_BUSID_YYYYMMDD_CHECKTRANSFER.txt
Y |
ROWNUM |
Row number |
Number |
12 digits (999999999999) |
Unique row number (autoseq) |
10 |
Y |
BUSDATE |
Business Day |
Date as YYYYMMDD |
8 digits (99991231) |
POS business day of check transaction |
20110101 |
Y |
RVCNUM |
Revenue Center Number |
Number |
12 digits (999999999999) |
Unique identifier for the revenue center where the check was opened |
1 |
Y |
RVCDESC |
Revenue Center Description |
String |
40 characters |
Description of the revenue center where the check was opened |
Dining Room |
Y |
CHKSEQ |
Unique check sequence identifier |
String |
50 characters |
Unique check sequence to identify the check in the POS. Must be unique within the revenue center for the business day. This can be an internal database identifier (GUID) or it could be generated from other fields, such as check number, check open time, employee number, etc… |
4739870980 |
Y |
CHKNUM |
Check Description |
Number |
12 digits (999999999999) |
Check number for this check |
399 |
Y |
TRANSTORVCNUM |
Transfer Check Revenue Center Number |
Number |
12 digits (999999999999) |
Unique identifier of the revenue center where the check for the transfer was opened |
2 |
Y |
TRANSTORVCDESC |
Transfer Check Revenue Center Description |
String |
40 characters |
Description of the revenue center where the check for the transfer was opened |
Bar |
Y |
TRANSTOCHKSEQ |
Transfer Unique check sequence identifier |
String |
50 characters |
Unique check sequence number where amount were transferred to. Must follow the same rules as above for CHKNUM |
5668ce8b4da481000a000069 |
Y |
TRANSTOCHKNUM |
Transfer Check Number |
Number |
12 digits (999999999999) |
Check number amounts were transferred to |
490 |
Y |
TRANSAMT |
Transfer Amount |
Money |
13 digit number with 2 decimal places (99,999,999,999.99) |
Dollar amount transferred to or from this check. |
12.23 |
|
PARENTROWNUM |
ROWNUM of the parent record this record is tied to |
Number |
12 digits (999999999999) |
If this transaction represents a modifier, list the ROWNUM of the transaction being modified |
111 |
|
EMPNUM |
Employee Number |
Number |
12 digits (999999999999) |
Unique identifier for the employee performing the transaction. |
10000 |
|
EMPDESC |
Employee Description |
String |
40 characters |
Name of employee performing the transaction |
John Doe |
|
EMPCLASSNUM |
Employee Class Number |
Number |
12 digits (999999999999) |
Class number of employee performing the transaction |
217 |
|
EMPCLASSDESC |
Employee Class Description |
String |
40 characters |
Class description of employee performing the transaction |
Server |
|
AUTHEMPNUM |
Authorizing Employee Number |
Number |
12 digits (999999999999) |
The unique numeric identifier of the employee who authorized the transfer. If unavailable, the same employee number as above can be used |
10020 |
|
AUTHEMPDESC |
Authorizing Employee Description |
String |
40 characters |
The name of the employee who authorized the transfer. If unavailable, the same employee name as above can be used |
Jane Smith |
|
AUTHEMPCLASSNUM |
Authorizing Employee Job Class Number |
Number |
12 digits (999999999999) |
The class number of the employee who authorized the transfer. If unavailable, the same employee class as above can be used |
218 |
|
AUTHEMPCLASSDESC |
Authorizing Employee Job Class Description |
String |
40 characters |
The class description of the employee who authorized the transfer. If unavailable, the same employee class as above can be used |
Manager |
Sample Data records
(Note: These two records are referencing each other, both sides of a transfer aren't required for this file, the original check and the check being transferred to are always on one record.)
MENUITEMDETAIL
This file contains the definition of each item and what major and minor category each ITEM and MOD belongs to
File Naming convention: avero_BUSID_YYYYMMDD_MENUITEMDETAIL.txt
Y |
BUSDATE |
Business Day |
Date as YYYYMMDD |
8 digits (99991231) |
POS business date of transaction |
20140101 |
Y |
MINUM |
Item Number |
Number |
12 digits (999999999999) |
Numeric identifier for the menu item |
2345 |
Y |
MIDESC |
Item Description |
String |
200 characters |
Description of the Item |
Cheese Sticks |
Y |
CATNUM |
Category Number |
Number |
12 digits (999999999999) |
Category number |
1 |
Y |
CATDESC |
Category Description |
String |
40 characters |
Category description |
Food |
Y |
MINCATNUM |
Minor Category Number |
Number |
12 digits (999999999999) |
Minor category or subcategory number |
24 |
Y |
MINCATDESC |
Minor Category Description |
String |
40 characters |
Minor category or subcategory description |
Appetizers |
|
NLUNUM |
NLU Number |
Number |
12 digits (999999999999) |
NLU or PLU number |
123456547 |
(Y) |
MICOST |
Menu Item Cost |
Money |
13 digit number with 2 decimal places (99,999,999,999.99) |
Item cost. If your POS tracks food cost by item, provide it here. Please note: this is not the price of the menu item, but the cost to produce the item. |
4.75 |
Sample Data records
DAYPART
This file contains the information for the time of each meal period within each revenue center
File Naming convention: avero_BUSID_YYYYMMDD_DAYPART.txt
Y |
BUSDATE |
Business Date |
Date as YYYYMMDD |
8 digits (99991231) |
POS business date of transaction |
20140101 |
Y |
RVCNUM |
Revenue Center Number |
Number |
12 digits (999999999999) |
Unique numeric identifier for the revenue center where this day part is valid. If a day part is valid in more than one revenue center, a separate record must be included for each revenue center. |
1 |
Y |
RVCDESC |
Revenue Center Description |
String |
40 characters |
Revenue center description where this day part is valid. If a day part is valid in more than one revenue center, a separate record must be included for each revenue center. |
Bar |
Y |
DPDESC |
Day Part Description |
String |
40 characters |
Day part description |
LUNCH |
Y |
DPSTARTTIME |
Day Part Period Start Time |
Time as HH24:MM |
23:59 |
Start of day part. Avero calculates the day part end time to be 1 minute before the start time of the next day part, so it is not required from the POS. |
11:00 |
Sample Data records
Day Parts are used in reports and must be distinct and not overlapping (a transaction can only be in one Day Part). If the system does not have a Day Part functionality, please use a default ALL DAY record for EACH Revenue Center. Example below.
Ongoing Customer Support & Maintenance
Supporting Missing Data
If exports are missed, incomplete, or incorrect, the Customer may reach out directly to the POS Provider to resend the data to Avero.
If the Customer reaches out to Avero Support to report Missing or Incorrect Data, Avero Support can confirm if the data is missing or incomplete and directs the customer to POS Provider to request the data is resent.
POS Changes and Maintenance
If Revenue Centers are changed or added, the POS provider must update the Avero Export to include new or changed Revenue Center information.
If additional Avero Business IDs are required, the Customer must open a ticket with Avero Support to request a new Business ID. New locations may involve additional subscriptions.
FAQ about Avero Exports