Items missing in my Item sales report, sometimes completely gone

Hi all

I have picked up n issue with our item sales report, it seems that some items are not displaying under the sales part. It is the normal report:

[Group Sales by Amount:2, 1, 1]
{REPORT ORDER DETAILS:O.ItemGroup,O.ExactTotal.Percent.desc,O.ExactTotal.Sum:(ODI=True)}
>Total|{REPORT ORDER DETAILS:O.ExactTotal.Sum:(ODI=True)}

[Group Sales by Quantity:2, 1, 1]
{REPORT ORDER DETAILS:O.ItemGroup,O.Quantity.Percent.desc,O.Quantity.Sum:(ODI=True)}
>Total||{REPORT ORDER DETAILS:O.Quantity.Sum:(ODI=True)}

[Sales:5, 2, 2,1]
@{REPORT ORDER DETAILS:O.MenuItemName,O.ExactTotal.Sum.desc:(ODI=True):{0}:,}
>{REPORT ORDER DETAILS:O.MenuItemName,O.Quantity.Sum.desc,O.ExactTotal.Sum.desc:(ODI=True) and O.MenuItemName="$1"}
{REPORT ORDER DETAILS:'     '+[O.PortionName],O.Quantity.Sum.desc,O.ExactTotal.Sum.desc:(ODI=True) and O.MenuItemName="$1":2}

And when we view two months back sale, there is nothing there.
I am not using inventory or recipes on this system, and all my products are set up like this:

Any idea what the problem is?

hello you sure the items that not display was sale or not?

Yes, our bestsellers, we sometimes sell 100+ a day, and they show up on this report:

@{REPORT ORDER DETAILS:O.ItemGroup.asc,O.ExactTotal.Sum::{0}:,}
@{REPORT ORDER DETAILS:O.MenuItemName,O.ExactTotal.Sum.desc:(ODI=True):{0}:,}
[$1 Sales:8, 4, 2]
{REPORT ORDER DETAILS:O.MenuItemName,O.PortionName,O.Quantity.Sum.asc:(ODI=True) and (MG=$1)}
>Total $1||{REPORT ORDER DETAILS:O.Quantity.Sum:(ODI=True) and (MG=$1)}

And not on the original, but this report is too long.

It works when I remove (ODI=True)

Look at the last line in your report… at the very end of that line you have a “2” … why is that there? It is not valid.

It’s a formatter, it removes portion names from the report for our retail clients, will it cause this error?

If anything it should be {2} not just 2.

Maybe, but probably not. However, troubleshooting is more difficult when there are syntax errors in your report to begin with.

When you remove it from what part? All parts? Show the Report and the Output when it is “broken” and when it is not, with explanation of why you think it is broken. Otherwise it is like trying to spot a black cat in the night with no moon.

[Sales:5, 2, 2,1]
@{REPORT ORDER DETAILS:O.MenuItemName,O.ExactTotal.Sum.desc:(ODI=True):{0}:,}
>{REPORT ORDER DETAILS:O.MenuItemName,O.Quantity.Sum.desc,O.ExactTotal.Sum.desc:(ODI=True) and O.MenuItemName="$1"}
{REPORT ORDER DETAILS:'     '+[O.PortionName],O.Quantity.Sum.desc,O.ExactTotal.Sum.desc:(ODI=True) and O.MenuItemName="$1":2}

It is specifically this part:

this is the new report:

[Sales:5, 2, 2,1]
@{REPORT ORDER DETAILS:O.MenuItemName,O.ExactTotal.Sum.desc::{0}:,}
>{REPORT ORDER DETAILS:O.MenuItemName,O.Quantity.Sum.desc,O.ExactTotal.Sum.desc:O.MenuItemName="$1"}
{REPORT ORDER DETAILS:'     '+[O.PortionName],O.Quantity.Sum.desc,O.ExactTotal.Sum.desc:O.MenuItemName="$1":2}

and its output:


I also tested removing the 2, the results are exactly the same, but with portion names below every item.

Well I suppose that if removing ODI=True works for you then the missing items are filtered out because they don’t comply with that Constraint.

It is an acronym for “Order Decrease Inventory” which really means “Calculate Price”. So if the Items were applied with an Order Tag, or if the Items were Gifted (or maybe Voided), then ODI might be False, so they go missing out of the Report.

We won’t be able to tell unless we look closely at the Tickets that contain those items. But suffice it to say, if removing that constraint works for you and causes no adverse affects to your Output, then so be it.