Merge Vendor Records

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;