My main need is for someone to explain to me how Voids are handled in the Micros database. My specific issue is described below...but any info on Voids will help.
I need someone to explain how Voids work in the Micros database. I work for a software company that offers enterprise reporting for the restaurant industry. One of the POS's we integrate with is Micros. I'm having trouble producing a guest check that has a void on it, in a specific way (explained later). I want to be able to show the specific item that was voided (the original item) and then show it being voided off on a separate line. I'm trying to determine which records are the correct records to use when there is a void. Micros seems to create at least 3 records per void. I want to know how to directly link the original item to the void record. And what is that third record that gets created? Currently I'm omitting this record by saying record_type != R. But I still can't link the original item to the void. I can visually see which item is the original but I can't come up with a way to do it programmatically. Also, in the dtl table there are two price columns; chk_ttl and rpt_ttl. Sometimes there is a value in both, other times there is a value in only one of them while the other value is 0. What determines these values and what code can I write to always use the correct column? One other note...voids are working inconsistently for some of our clients. Some times it works one way and other times it works another.
Some background on how we store our data and how we want voids to work:
In our database we have a detailed menu item table that is broken down by date, then by check, then by item. We prefer to store one record for a voided item and we have a column called "isVoid" that gets marked as a 1. We also have a detailed voids table that is broken down by date, then by check, then by item. In both tables we have a uniqueID that we can link between the two tables. On our guest check, when the uniqueID in the Items table links with the uniqueID in the Voids table it knows to display on the guest check like below. The original item comes from the menu item table and the void comes from the void table.
Pizza 1 $10.99
Pizza (void) -1 -$10.99
Micros is one of the few POS systems that we cannot do this with. The reason is because we don't know how to determine which record is the original item and how to link it to the void. Since we can't figure this out we have to store two records for the void in our menu item table. We have no way of omitting the original item. So instead of linking to the voids table by using the uniqueID we just pull both of those records to display on the check. The check then looks like below with both items coming from the menu item table. If we were to do this the way we do it for all other POS systems we would have one too many items on our ticket (the item from the voids table would be there as well).
Pizza 1 $10.99
Pizza -1 -$10.99
I know this all might be confusing. If anyone needs more information about this issue I can give you as much as you need! Just let me know.
I need someone to explain how Voids work in the Micros database. I work for a software company that offers enterprise reporting for the restaurant industry. One of the POS's we integrate with is Micros. I'm having trouble producing a guest check that has a void on it, in a specific way (explained later). I want to be able to show the specific item that was voided (the original item) and then show it being voided off on a separate line. I'm trying to determine which records are the correct records to use when there is a void. Micros seems to create at least 3 records per void. I want to know how to directly link the original item to the void record. And what is that third record that gets created? Currently I'm omitting this record by saying record_type != R. But I still can't link the original item to the void. I can visually see which item is the original but I can't come up with a way to do it programmatically. Also, in the dtl table there are two price columns; chk_ttl and rpt_ttl. Sometimes there is a value in both, other times there is a value in only one of them while the other value is 0. What determines these values and what code can I write to always use the correct column? One other note...voids are working inconsistently for some of our clients. Some times it works one way and other times it works another.
Some background on how we store our data and how we want voids to work:
In our database we have a detailed menu item table that is broken down by date, then by check, then by item. We prefer to store one record for a voided item and we have a column called "isVoid" that gets marked as a 1. We also have a detailed voids table that is broken down by date, then by check, then by item. In both tables we have a uniqueID that we can link between the two tables. On our guest check, when the uniqueID in the Items table links with the uniqueID in the Voids table it knows to display on the guest check like below. The original item comes from the menu item table and the void comes from the void table.
Pizza 1 $10.99
Pizza (void) -1 -$10.99
Micros is one of the few POS systems that we cannot do this with. The reason is because we don't know how to determine which record is the original item and how to link it to the void. Since we can't figure this out we have to store two records for the void in our menu item table. We have no way of omitting the original item. So instead of linking to the voids table by using the uniqueID we just pull both of those records to display on the check. The check then looks like below with both items coming from the menu item table. If we were to do this the way we do it for all other POS systems we would have one too many items on our ticket (the item from the voids table would be there as well).
Pizza 1 $10.99
Pizza -1 -$10.99
I know this all might be confusing. If anyone needs more information about this issue I can give you as much as you need! Just let me know.