Skip navigation

Category Archives: Food and Beverage

Food-Trak Import Exception Reports

Last year my post about using Pentaho Data Integration to extract Micros 9700 sales data for importing into Food-Trak discussed exception reporting. Well a year has passed and I am pleased to report that I have made a large improvemet to the way we handle exception reporting. (And also, the Micros 3700 extracts are I wrote about in August are working perfectly.) The last couple of months I have been mentoring two very talented individuals in order for them to take over all my Micros 9700 and Food-Trak operational responsibilities so I can focus more on Business Intelligence and Dashboarding using the Pentaho Business Intelligence Suite.

Our company’s restaurants must keep their menus fresh and relevant. This means that quarterly major revisions are done and monthly new items are added and old ones removed. We have utilized the menu engineering capabilities of Food-Trak for two of our biggest restaurants to help us do this. On the data extract side of things, it is very challenging to keep up with all of these changes. It is relatively quick to add new menu item to the Micros 9700 and Micros 3700 systems. The time consuming part is entering a plate recipe into Food-Trak and completing the sales record, especially when there are 15 new items in one restaurant, 10 new items in another, and another adds a few drink specials!

The way I was handling the exception reports before was by copying and pasting the audit report created by Food-Trak. Then, I would save the text file and run it through a Pentaho transformation to create an Excel Spreadsheet, which included the menu item name from Micros. This was still labor intensive, but it was easier than searching through Micros EMC for each menu item number and name.

This month, my two proteges handled entering all the new menu changes that rolled out for 4th Quarter. There was a major over haul of the menu in our largest restaurant, and several changes in the others. I was able to spend my month creating dashboards, cubes, transformations and jobs with the Penthao Business Intelligence Suite.  One project that was completed this month was automating the Food-Trak exception reports. As well, I created a current check analysis dashboard for all the restaurants and prototyped a KPI dashboard for our hotel division.

The Food-Trak exception reports are created using Pentaho Data Integration. Instead of copying and pasting the audit report and filtering out the ‘not founds’, I query the POS Audit table in each Food-Trak database (we use three) for the ‘not founds’. Then, I simply join the results to the Micros 9700 and Micros 3700 menu item masters to extract the menu item names and output the results to an Excel file and a text file.

Food-Trak requires a specific format for the POS code. To make it easer to enter the code into the Food-Trak sales record, I create the POS code formatted to the Food-Trak specifications. Then, our Food-Trak admins just have to copy and paste the code into the sales record, saving a little time and effort for each entry.

Using Pentaho Data Integration, I then created a job which runs the transformation and emails the files to the Food-Trak admins, their manager, our F&B Director, and to myself. I also send a results email to myself so I know if the jobs and transformations worked. Thus today, we automatically upload hundreds of sales records each morning for every restaurant(there are currently six in all and a few more in the works), and autocreate the exception reports which are delivered to the appropriate parties before the work day starts.


The Micros 9700 data extract for Food-Trak integration is a step in the Micros 9700 ETL process.  The core transformation extracts Micros 9700 transaction data from MCRSPOS database.  The individual sales transaction is identified in the totals table. The Food-Trak format required for the Micros 9700 interface must include the revenue center, the menu item master number, the menu item definition sequence number, and the menu item  price number. The transformation merges these dimensions with the transaction record from MCRSPOS.Totals.

Pentaho Data Integration transformation

Pentaho Data Integration transformation

The entire extraction and transformation is written with Pentaho Data Integration. Pentaho Data Integration is an open source Extraction, Transformation, and Loading application. Using the graphical user interface of Pentaho Data Integration allows rapid application development. It is relatively easy to customize the extract using simple SQL statements in the transformation table input objects.

A required step for  Micros 9700 and Food-Trak data integration is the creation of product records for each product sold. Each product record is attached to either a recipe or a purchased item in Food-Trak. The Micros 9700 Food-Trak interface requires the revenue center number, the menu item master number, the menu item definition sequence number, and the menu item price number. Creating product records is a very time consuming process and requires access to Micros 9700 EMC and a deep understand of the products sold.

My experience with my company is that our restaurants actually have several thousand products.  Remember from my last article that one of our requirements is fine granularity. Therefore, we can have several product records for one item. For example, a food menu item might have a regular price, a half off student price, and a late night menu price. A draft beer will have a double draft regular price, a double draft happy hour price, a double draft Monday Ladies’ night price, a double draft half off price, a pint regular price, a pint happy hour price, ….

We also have very dynamic menus. Each restaurant changes their menu at least seasonally. Seasonal dishes are offered with various themes or featuring fresh local food. New wines are offered monthly, new beers and liquors appear weekly. Our business strategy requires us to change our menu mixes often, while, of course, maintaining guest favorites. Our business strategy also requires us to manage our food and beverage assets at a very granular level. The Micros 9700 and Food-Trak interface is in a near constant state of flux. Thus, menu changes to Micros and Food-Trak product record updates are all handled by Corporate IT.

Especially at the beginning of the Micros 9700 Food-Trak data integration project, exception reporting is very useful. The Food-Trak Micros 9700 interface creates a results report. Exceptions are flagged <Not Found>. By copying and pasting this report into a text file, it can be merged with Micros data via Pentaho Data Integration. The transformation below reads in the results report and attaches the menu item name to record as well as appending a quantity column.

Food-Trak Micros 9700 data integration exception report

The Micros 9700 transformation is run automatically using Pentaho Data Integration Kettle application. The automated transformation saves a date stamp variable which is inserted into the SQL code of the table input object. A batch containing a one line kettle command is scheduled via Windows Task Scheduler.