Is there a way to easily merge two vendor records into one?
Thanks.
Is there a way to easily merge two vendor records into one?
Thanks.
No, not through the standard software, it would need to be a development undertaking.
Why?
I have two vendor records for the same vendor (two different vendor numbers). I want to merge them into one to keep my database clean.
follow this method, we used it and it works out great
http://www.mibuso.com/forum/viewtopic.php?t=15580&highlight=
I am an end users, so I pointed my solution center to this post, and paid them to create three reports for me
one for Items, customers, and vendors
In my example above on mibuso I did not mention to merge Items. I am worried about costing etc.
Could you share what kind of costing method do you have?
we use standard cost for our items.
the item that is merged, and goes away is always at zero and all item costing adjustments have been made
it seems to work fine, my testing did not turn up any costing problems.
Here are the guidelines used
Comment lines are appended
If a specific item UoM code does not exist for the “merge Into Item”, it is moved. Otherwise it is deleted
SKU’s for the “Merge From Item” Are deleted
defualt dimension, sales prices and sales line discounts for the “Merge From item” are removed
Item substitutions and cross references are moved, if there is a duplicate, there’s an error message, and merge is stopped
Bill of materials and non stock items are moved to the new item
here is the code used in the report
IF NOT CONFIRM(STRSUBSTNO(Text001,FromItemNo,ToItemNo)) THEN
ERROR(’’);
_item.GET(ToItemNo);
_toItem := _item;
_item.DELETE;
_fromCommentLine.SETRANGE(“Table Name”,_fromCommentLine.“Table Name”::Item);
_fromCommentLine.SETRANGE(“No.”,FromItemNo);
IF _fromCommentLine.FIND(’-’) THEN BEGIN
_toCommentLine.SETRANGE(“Table Name”,_fromCommentLine.“Table Name”::Item);
_toCommentLine.SETRANGE(“No.”,ToItemNo);
IF _toCommentLine.FIND(’+’) THEN
_nextLineNo := _toCommentLine.“Line No.” + 10000
ELSE
_nextLineNo := 10000;
REPEAT
_newCommentLine := _fromCommentLine;
_newCommentLine.“No.” := ToItemNo;
_newCommentLine.“Line No.” := _nextLineNo;
_newCommentLine.INSERT;
_nextLineNo += 10000;
UNTIL _fromCommentLine.NEXT = 0;
_fromCommentLine.DELETEALL;
END;
_newCommentLine.INIT;
_newCommentLine.“Table Name” := _newCommentLine.“Table Name”::Item;
_newCommentLine.“No.” := ToItemNo;
_newCommentLine.Date := TODAY;
_newCommentLine.Comment := STRSUBSTNO(Text002,FromItemNo);
_newCommentLine.“Line No.” := _nextLineNo;
_newCommentLine.INSERT;
_oldItemUOM.SETRANGE(“Item No.”,FromItemNo);
IF _oldItemUOM.FIND(’-’) THEN BEGIN
REPEAT
_newItemUOM := _oldItemUOM;
_newItemUOM.“Item No.” := ToItemNo;
IF _newItemUOM.INSERT THEN;
UNTIL _oldItemUOM.NEXT = 0;
_oldItemUOM.DELETEALL;
END;
_defaultDim.SETRANGE(“Table ID”,DATABASE::Item);
_defaultDim.SETRANGE(“No.”,FromItemNo);
_defaultDim.DELETEALL;
_sku.SETCURRENTKEY(“Item No.”);
_sku.SETRANGE(“Item No.”,FromItemNo);
_sku.DELETEALL;
_salesLineDisc.SETCURRENTKEY(Type,Code);
_salesLineDisc.SETRANGE(Type,_salesLineDisc.Type::Item);
_salesLineDisc.SETRANGE(Code,FromItemNo);
_salesLineDisc.DELETEALL;
_salesPrice.SETCURRENTKEY(“Item No.”);
_salesPrice.SETRANGE(“Item No.”,FromItemNo);
_salesPrice.DELETEALL;
_item.GET(FromItemNo);
_item.RENAME(ToItemNo);
_item.DELETE;
_toItem.INSERT;