Item Alias Bug


mkitter's picture

There is a bug in 4.9.3 and probably has been there since 4.2.0.

The new versions allow you to enter a sales order using the customer item alias.  If the customer only has one item alias for each Xtuple item, it works fine.

However, if a customer has more than one alias for the same Xtuple item, the code returns the first item alias it finds, not the selected item alias.  The individual doing order entry must then overwrite the incorrect item alias with the correct one.

I posted the bug on the bug forum and according to the forum it has been fixed in 4.10 beta.  Xtuple has provided some insight to our Xtuple partner on how to fix it with scripting but that has not been successful.  This is a critical bug for us and I don't understand why we should have to live with it until 4.10 is released and then pay additional costs to our consultant for doing another upgrade.

ptyler's picture
Joined: 12/10/2008
Partner is making progress

Hi, Marsha:

Please double check with your partner. We have been helping him, and the last I heard he was making progress on a workaround script that would help you resolve this issue in the short term.

Best regards,


mkitter's picture
Joined: 02/02/2011
I only posted it on the

I only posted it on the public forum because our partner told me the solutions are not working.  He said all of the solutions are to script something after the item is selected and prompt the user for the correct solution.  In a way we are doing that now when we have to audit the item alias that xtuple returns and make the change when xtuple returns the wrong item alias.  He asked for more help on the partner forum.  Why can't you folks at Xtuple just recompile a version?

jwhite's picture
Joined: 07/21/2008
Also, it appears that linking

Also, it appears that linking an alias to an account doesn't restrict the alias to the specific account (on sales order entry). That is to say, for each alias for an item that is assigned to an account, each alias can be entered onto any sales order, not just sales orders related to the account specified.

tomdatkins's picture
Joined: 10/09/2011
salesOrder entry

SalesOrders use the itemCluter for items, I checked the .cpp and it seems to have this in the query:

  sql = pPre + " FROM ("
                 "   SELECT item_id, item_number, item_descrip1, item_descrip2, "
                 "      item_upccode, item_type, item_fractional, item_config, item_inv_uom_id, "
                 "      item_sold, item_active "
                 "   FROM item "
                 "   UNION "
                 "   SELECT item_id, itemalias_number, "
                 "     CASE WHEN LENGTH(itemalias_descrip1) > 1 THEN itemalias_descrip1 ELSE item_descrip1 END, "
                 "     CASE WHEN LENGTH(itemalias_descrip2) > 1 THEN itemalias_descrip1 ELSE item_descrip2 END, "
                 "      item_upccode, item_type, item_fractional, item_config, item_inv_uom_id,"
                 "      item_sold, item_active "
                 "   FROM item "
                 "     JOIN itemalias ON item_id = itemalias_item_id "
                 ") AS item "
                 " JOIN uom ON (uom_id=item_inv_uom_id) ";
    sql = pPre + " FROM item "
                 "      JOIN uom ON (uom_id=item_inv_uom_id)"
                 "      LEFT OUTER JOIN itemalias ON (itemalias_item_id=item_id)"
                 "      LEFT OUTER JOIN crmacct ON (crmacct_id=itemalias_crmacct_id)";


i could argue both sides of a bug/request on that, it does not prevent, just enables, and does not restrict.