1. IMPORT PRODUCTS
2. UPDATE PRODUCTS
3. CONTAINERS
4. CONTAINER PRODUCTS
5. SALES FORMATS
6. ADD INVENTORY
7. SET/DO INVENTORY
8. MOVE INVENTORY
9. IMPORT SUPPLIERS
10. SUPPLIER PRODUCTS
11. IMPORT CUSTOMERS
12. GIFT CARDS
13. RECHARGE GIFT CARDS
14. PRICES
15. EMPLOYEES
16. UPDATE EMPLOYEES


With Revo XEF, you can import CSV files separated by ";". The first row must contain the header with the field names exactly as described below.

To access the import screen, manually enter the URL: https://revoxef.works/tools/import



You can download a template with all the available fields for export. Select the template from the dropdown list and click Template. Delete the first two rows of the template and create a single header with the mandatory and optional fields you want to import.


1. IMPORT PRODUCTS (products):

Option to import products and configure them via a CSV file.


Mandatory fields:

These fields are essential to create new products via import. Without them, an error will appear.

  • category_id: Category ID. Before importing, manually create the structure (groups and categories) in the back-office. Click on the link to see how to create groups and categories.

How to find the category ID? Once the product structure is created, find the category IDs by hovering the mouse over the category. The ID will appear in the URL. In the image, the category ID is 109.




  • name: Product name (minimum 3 characters).

Optional fields:

  • price: Price with a point for decimals. Example: 10.20

  • photo: Photo file name. Example: apple.jpg. After importing, contact support to upload the photo folder.

  • order: Display order within the category. If not specified, the order will be as added in the imported list. To specify, use numbers: 1, 2, 3, 4, 5, etc.

  • active: 0 inactive, 1 active. If not specified, all products will be activated by default.

  • info: Product description. You can include information such as ingredients, etc.

  • type: Product type: 0 Product - 1 Menu - 2 Container Product - 3 Entry - 4 Product with sales format - 5 Gift card - 6 Management-only product - 7 Kit

  • hasInventory: 0 without inventory control, 1 with inventory control.

  • usesWeight: 0 does not use weight, 1 uses weight.

  • tax_id: Select the default tax for the product. Find the ID by hovering the mouse over the icon of each of the taxes.

  • printer_id: Select the default printer for the product. Find the ID by hovering the mouse over the icon of each of the printers.

  • printer_group_id: Indicates the default printer group for the products if applicable.

    It is important to note that configuring the printer or printer group directly on the products, rather than on the category or group, can cause future issues when changing the settings. If set per product, you will need to change it one by one or import a new CSV file. However, if the settings are in the category or group, it can be modified with a few clicks.

  • modifier_group_id: Assigns the modifier group directly to the products. Find the ID by hovering the mouse over the icon of each of the modifier groups.

  • modifier_category_id: Assigns a modifier to the products. Find the ID by hovering the mouse over the icon on the name of the modifier.

    As with printers, if you configure the modifiers on the products, you will need to remove them one by one if you no longer want to use them. If you configure them in the category, you only need to remove them from the category and save.

  • isMenu: 0 not a menu, 1 menu type product.

  • shouldAppearInMenuList: To include a product in a menu, it must have the "Show in Menu List" option enabled. This option can also be imported. 0 not enabled, 1 enabled.

  • super_group_id: Also assigns the general group to the product. Find the ID by hovering the mouse over the icon of each of the general groups.

  • isOpen: 0 not an open product, 1 an open product. An open product allows the name and price to be modified in the app.

    It is not recommended to enable this option for all products. It is usually advisable to create a "various" product with this option enabled for exceptional cases. If it is a regularly ordered product, it is recommended to create it and not use "various".

  • nameKitchen: Specifies a different name for the preparation tickets, minimum 3 characters. Example: Product called "Beef Carpaccio with Virgin Olive Oil and Foie". Enter a different name for the preparation tickets, such as "Carpaccio".

  • costPrice: Cost price with a point for decimals. Example: 8.2

  • displayInventory: 0 not enabled, 1 enables the option to show product stock in the app.

  • allergies: Indicates allergens for each product. There are 13 types of allergens.

  • dish_order_id: Default dish order of the product, leave empty if none. Find the ID by hovering the mouse over the icon of each of the dish orders.

  • barcode: Barcode.

  • unit_id: ID of the sales unit it uses. Find the ID by hovering the mouse over the icon of each of the units.

  • extra_id: If you have the product linked with Nielsen, you can specify the code here.

  • useAverageCostPrice: 0 not active, 1 activated. Enable this option if you want REVO to calculate the average cost price of this product if you use the purchasing module.

  • cookDuration: If you use product preparation time with the KDS, indicate the total preparation time in seconds.

  • buttonName: If you want this product to display another name in the app.

  • minQuantity: Select the minimum quantity to add this product. If set to 0, no limit will be established.

  • extra_attributes: Indicates the attributes for each product. There are 37 types of attributes.

IMPORTANT: The names of the fields to be imported in the header must be exactly the same as written here. They should not contain initial capital letters, spaces, or the ":" symbol used in this article.

Correct: category_id

Incorrect: Category_id / CATEGORY_ID / category id / -category_id:


EXAMPLE OF IMPORTING PRODUCTS:

Having a base file is a bit complicated when importing products, as each establishment is different and the way of importing changes. Even so, this could be a good example:

EXAMPLE:
category_id name price hasInventory unit_id type
10 Espresso 1.30 1 2 1
15 Coca-Cola 1.80 1 2 1
17 Red Wine 0.00 1 7 4
18 White Wine 0.00 1 7 4
19 White Rum 0.00 1 4 4
24 Green Salad 7.30 0 2 1
26 Cheese Fondue 10.80 0 2 1
27 Hummus 8.50 0 2 1
40 Bag of Lettuce 0.00 1 5 6
40 Tomatoes Kg. 0.00 1 5 6
25 Daily Menu 12.50 0 1 1

2. UPDATE PRODUCTS:

Option to update or add information to existing products via a CSV file.

Since the ID (Product ID) is mandatory, it is recommended to start with the product list from REVO. To do this, click on the list and export the CSV file. This will provide you with the product IDs. You can delete the other fields and enter the ones you need.



Mandatory Fields:

These fields are essential to update products. Without them, an error will occur.

  • id: Product ID. This ID is created when the product is first imported or manually created in the back-office.

Optional Fields:

All fields you have previously seen in products.


EXAMPLE OF UPDATING PRODUCTS:

Example: after downloading the CSV file from the product list, the columns we were not interested in were removed and the following were added: print description (kitchen name), cost price, and whether the product type is a menu.

EXAMPLE:
id nameKitchen costprice isMenu
100 Espresso 0.00 0
101 Coca-Cola 0.49 0
102 Red Wine 8.95 0
103 White Wine 7.35 0
104 White Rum 11.00 0
105 Green Salad 0.00 0
106 Cheese Fondue 0.00 0
107 Hummus 0.00 0
108 Lettuce Bag 1.50 0
109 Tomatoes Kg 2.35 0
110 Daily Menu 0.00 1

3. CONTAINERS:

Containers are folders where you can add products. REVO uses a three-level organisation system (Groups, Categories, and Products), and containers would be a "fourth level". For example: a Water Container could include products such as 0.5 L Water, 1 L Water, and 1.5 L Water.


Mandatory Fields:

  • category_id: ID of the category where you want to create the container.

  • name: Name of the container.


Optional Fields:

  • photo: File name of the photo. Example: waters.jpg

EXAMPLE OF CONTAINERS:

EXAMPLE:
category_id name
10 COFFEES
15 WATERS
17 RED WINES
18 WHITE WINES

4. CONTAINER ITEMS:

You’ve learned how to create a container, now associate products with it. For example, add 0.5 L Water, 1 L Water, and 1.5 L Water to the Water container.


Mandatory Fields:

  • main_item_id: Container ID.

  • item_id: Product ID.

    Remember, you can obtain the container and product IDs by hovering over the icon.


Optional Fields:

  • order: Display order within the container. If not specified, the imported list order will be maintained. Use numbers: 1, 2, 3, 4, 5, etc.

  • dish_order_id: Default dish order for the product. Leave it blank if it’s not required. Check the ID by hovering over the icon for each of the dish orders.

  • active: 0 for inactive, 1 for active. If this field is not included, all products will be active by default.


EXAMPLE OF CONTAINER ITEMS:

ID 140 is for 0.5 L Water, 141 for 1 L Water, and 142 for 1.5 L Water.

EXAMPLE:
main_item_id item_id
15 140
15 141
15 142

5. ITEM SELLING FORMATS:

You can import products with selling formats.


Mandatory Fields:

  • quantity: Quantity to be deducted from stock.

  • price: Price with a decimal point. Example: 10.20

  • order: Display order in the back-office and the app. If not specified, the imported list order will be maintained. Use numbers: 1, 2, 3, 4, 5, etc.

    It is advisable to use the same order for products with the same selling formats to improve app usability.

  • format_id: Selling format ID. Hover over the icon for the selling format.

  • item_id: Product ID. Download the list of products to find the ID.

  • combination_group_id: ID of the combination group. If you want to associate a combination group with the selling format, you’ll need the ID. For example, a rum combination where you’ll be asked for the mixer. Hover over the icon in combinations.

  • unit_id: Unit ID for stock control. Hover over the icon in the units.


EXAMPLE OF IMPORTING PRODUCTS WITH SELLING FORMATS:

Here is an example with 6 different products, each with 3 different selling formats (combined, solo, and shot), their prices, quantity to be deducted from stock, unit (cl.), visibility order, and associated combination group.

EXAMPLE:
item_id format_id price quantity unit_id order combination_group_id
196 3 12 5 7 00 2
197 3 15 5 7 00 2
198 3 14 5 7 00 2
199 3 11 5 7 00 2
200 3 10 5 7 00 2
201 3 16 5 7 00 2
196 4 11 5 7 01 0
197 4 14 5 7 01 0
198 4 13 5 7 01 0
199 4 10 5 7 01 0
200 4 9 5 7 01 0
201 4 15 5 7 01 0
196 5 3 3 7 02 0
197 5 4 3 7 02 0
198 5 4 3 7 02 0
199 5 3 3 7 02 0
200 5 2.50 3 7 02 0
201 5 4.50 3 7 02 0

6. ADDING INVENTORY:

This option is used to add stock to your products, especially for the first time.


Required Fields:

  • item_id: Product ID. Download the list of products to find out the ID.

  • quantity: Quantity to add to the inventory.

  • warehouse_id: Warehouse ID. Hover over the icon in the warehouses.

    If you have multiple warehouses, you can repeat the product IDs in the file and change the warehouse ID to add stock to different warehouses.


EXAMPLE OF ADDING STOCK:

EXAMPLE:
item_id quantity warehouse_id
100 150 1
102 150 1
103 150 1
100 500 2
102 500 2
103 500 2
110 235 1
111 235 1
112 235 1
118 50 1
304 200 1
305 200 1

7. SET/ADJUST INVENTORY:

Use this option to set the stock levels of your products, ideal after a stocktake to correct the inventory.


Required Fields:

  • item_id: Product ID. Download the list of products to find out the ID.

  • quantity: Quantity to set in the inventory.

  • warehouse_id: Warehouse ID. Hover over the icon in the warehouses.

    If you have multiple warehouses, you can repeat the product IDs in the file and change the warehouse ID to set stock levels in different warehouses.


Optional Fields:

  • defaultQuantity: Default quantity of the product in the warehouse.

  • alert: Minimum stock level to receive an alert.


EXAMPLE OF SETTING/ADJUSTING INVENTORY:

EXAMPLE:
item_id quantity warehouse_id
100 100 1
102 100 1
103 100 1
110 232 1
111 230 1
112 236 1
118 45 1
304 198 1
305 199 1

8. MOVE INVENTORY:

Use this option to transfer stock between warehouses.


Required fields:

  • item_id: Product ID. Download the list of products to find out the ID.

  • quantity: Quantity to add to inventory.

  • warehouse_id: ID of the warehouse. Hover over the icon in the warehouses.

    If you have multiple warehouses, you can repeat the product IDs in the file and change the warehouse ID to add stock to different warehouses.

  • to_warehouse_id: ID of the warehouse to which you want to move the stock.


EXAMPLE OF MOVING INVENTORY:

EXAMPLE:
item_id quantity warehouse_id to_warehouse_id
100 100 1 2
102 100 1 2
103 100 1 2
110 100 1 2
111 100 1 2
112 100 1 2
118 30 1 2
304 100 1 2
305 100 1 2

9. VENDORS:

Use this option to import vendors, ideal if you have many and want to use the purchasing module.


Required fields:

  • name: Vendor's name (minimum 3 characters).

  • address: Vendor's address.

  • nif: Vendor's NIF.


Optional fields:

  • city: Vendor's city.

  • state: Vendor's state.

  • country: Vendor's country.

  • postalCode: Vendor's postal code.

  • web: Vendor's website.

  • email: Vendor's email address.

  • phone: Vendor's phone number.

  • notes: Information field for the vendor.

  • shouldBeNotified: 1 to notify the vendor about changes to their orders, 0 to not notify.


EXAMPLE OF IMPORTING VENDORS:

EXAMPLE:
name address nif postalCode city country notes
Vendor 1 Gran Via, 30 A58818501 28010 Madrid Spain Vendor for food products.
Vendor 2 Via Laietana, 222 B54416504 08010 Barcelona Spain Vendor for soft drinks.
Vendor 3 Calle de La Paz, 11 V51218667 46003 Valencia Spain Vendor for cleaning products.
Vendor 4 Sierpes, 45 S16815999 41004 Seville Spain Vendor for various liquors.
Vendor 5 Rúa Nova, 111 L53389701 15003 La Coruña Spain Vendor for dairy products.

10. VENDOR PRODUCTS (vendor items):

Use this option to import your vendors' products. It's useful when you have many products associated with them and want to use the purchasing module.


Required Fields:

  • vendor_id: Vendor ID. Find the ID by hovering over the icon of each vendors.

  • item_id: Product ID. Download the list of products to find the ID.


Optional Fields:

  • reference: Vendor reference code, if you have one.

  • pack: Units per pack. Example: if 1 pack contains 24 cans, indicate 24.

  • costPrice: Cost price with a point for decimals. Example: 8.2

  • unit_id: Sales unit ID. Find the ID by hovering over the icon in the units.

  • tax_id: Default tax ID for the product. Find the ID by hovering over the icon in the taxes.


EXAMPLE OF VENDOR PRODUCTS:

EXAMPLE:
vendor_id item_id pack costPrice unit_id tax_id
1 100 24 0.25 1 2
1 102 24 0.30 1 2
1 104 24 0.33 1 2
1 105 24 0.22 1 2
1 107 24 0.50 1 2
1 108 24 0.30 1 2

11. IMPORT CUSTOMERS (customers):

Option to import customers. Ideal for importing many customers at once.


Required Fields:

  • name: Customer name (minimum 3 characters).

  • address: Customer address.


Optional Fields:

  • city: Customer's city.

  • state: Customer's state.

  • country: Customer's country.

  • postalCode: Customer's postal code.

  • nif: Customer NIF.

  • web: Customer's website.

  • email: Customer's email address.

  • phonePrefix: Phone prefix.

  • phone: Customer's phone number.

  • notes: Field for customer information.

  • extra_id: If customers belong to a group, you can add the group ID here.

  • active: 0 for inactive, 1 for active. If you don't include this field, all customers will be activated by default.


EXAMPLE OF IMPORTING CUSTOMERS:

EXAMPLE:
name address nif postalCode city country notes
Hugo "Hurley" Reyes Gran Via, 30 A58818501 28010 Madrid Spain He loves our special dish.
Once Via Laietana, 222 B54416504 08010 Barcelona Spain Always reserves table 15.
Maggie Greene Calle de La Paz, 11 V51218667 46003 Valencia Spain Table with sea views.
John Snow Sierpes, 45 S16815999 41004 Seville Spain Always pays at the end of the month.
Darth Vader Rúa Nova, 111 L53389701 15003 La Coruña Spain

12. GIFT CARDS:

Use this option to import gift cards into the back office, ideal for large volumes.


Required Fields:

  • uuid: Unique code for the gift card. It can include both text and numbers.

  • total: Balance of the card. Must be numeric.


Optional Fields:

  • active: 0 for inactive, 1 for active. If not included, all cards will be activated by default.

  • balance: Remaining balance. Generally not used unless you want a balance different from the total.

  • campaign_id: Campaign ID. Associate cards with a campaign, such as Christmas. Obtain the ID by hovering over the icon in the campaign.

  • customer_id: Customer ID. Check the ID by hovering over the icon in the customers.


EXAMPLE OF IMPORTING GIFT CARDS:

EXAMPLE:
uuid total campaign_id
00000123456 100 1
00000789100 100 1
TR1234567 50 1
example 50 1
hello I am a gc 50 2
Pedro González 75 2
Macarena Pérez 75 2

13. RECHARGING GIFT CARDS:

Use this option to import recharges for gift cards into the back office.


Required Fields:

  • uuid: Gift card code.

  • reloadAmount: Amount to load.


EXAMPLE OF RECHARGING GIFT CARDS:

EXAMPLE:
uuid reloadAmount
00000123456 100
00000789100 100

14. RATES:

To import rates, go to: https://revoxef.works/thrust/prices/import


Required Fields:

  • priceable_id: add the IDs.

    • Products: ID of the product. Obtain the ID by hovering over the of the product.



    • Menu Products: ID of the rate within the menu. Obtain the ID by hovering over the 0 in the rate.



    • Modifiers: ID of the modifiers. Obtain the ID by hovering over the of the modifier.



    • Selling Formats: ID of prices in selling formats. Obtain the ID by hovering over the 0 in prices from the product with the selling format.



    • Combos: ID of rates in combos. Obtain the ID by hovering over the 0 in rates for products in combos.



  • table_price_id: ID of the rate. Select it without clicking the edit icon on the rate.

  • price: Price with a decimal point. Example: 10.20

  • priceable_type: select from:

    • Products: App\Models\Menu\MenuItem
    • Menu Products: App\Models\Menu\MenuMenuPivot
    • Modifiers: App\Models\Menu\Modifier
    • Selling Formats: App\Models\Menu\ItemSellingFormatPivot
    • Combos: App\Models\Menu\Combination

Attach the CSV file and click next. If the titles are correct, they will be automatically mapped. If any do not appear, select them from the dropdown menu.



EXAMPLE OF IMPORTING RATES:

EXAMPLE:
priceable_id table_price_id price priceable_type
902 2 4.00 App\Models\Menu\MenuItem
870 2 3.00 App\Models\Menu\MenuMenuPivot
331 2 1.50 App\Models\Menu\Modifier
706 2 18.00 App\Models\Menu\ItemSellingFormatPivot
3 2 1.50 App\Models\Menu\Combination

15. EMPLOYEES:

Option to import employees. Ideal for importing many employees at once.


Required Fields:

  • name: Employee’s name.

  • pin: Numeric PIN for the employee.

  • permission_id: App privilege ID for the employee. Find the ID by hovering over the icon in the app privileges.


Optional Fields:

  • active: 0 for inactive, 1 for active. If not included, all employees will be activated by default.

  • surname: Employee’s surname.

  • username: Employee’s username.

  • email: Employee’s email address.

  • phone: Employee’s phone number.

  • notes: Additional information about the employee.

  • profile_id: Employee’s profile ID. Find the ID by hovering over the icon in the profile.

  • password: Employee’s password.

  • photo: Filename for the photo. Example: employee.jpg. After importing, contact support to upload the photos.

  • cashier_id: Cashier ID for the employee. Find the ID by hovering over the icon in the cashiers.

  • identifier: Additional method for identifying the employee, such as a magnetic card or QR code.

  • back_permission_id: Back-office privilege ID for the employee. Find the ID by hovering over the icon in the back-office privileges.

  • nif: Employee’s DNI.


EXAMPLE OF IMPORTING EMPLOYEES:

EXAMPLE:
active name surname email phone nif cashier_id pin permission_id username back_permission_id
1 Fran Marjolaine email73614@gmail.com 803233695 73436604L 2 1111 1 Fran 2
1 Lucía Kailey email32277@gmail.com 465589655 32881921V 1 2222 2 1
1 Catharine Pouros-Hoeger email72270@gmail.com 646528473 1 3333 3 1

16. UPDATE EMPLOYEES:

Option to update or add information to existing employees via a CSV file.

Since the ID is mandatory, it is recommended to start from the REVO employee list. To do this, go to employees and export the CSV file. This will provide you with the employee IDs. Other fields can be deleted and replaced with the ones you need.



Required Fields:

These fields are essential for updating employees. Without them, an error will occur.

  • id: Employee ID. This ID is created when the employee is first imported or manually created in the back-office.

Optional Fields:

All the fields previously mentioned for employees.


EXAMPLE OF UPDATING EMPLOYEES:

Example: When downloading the CSV file for employees, columns that were not needed have been removed and the following columns have been added: username, password, and back-office privilege.

EXAMPLE:
id username password back_permission_id
2 maria marIa24! 1
3 pedro pEdro24! 3
6 claudia clauDia24! 3