Exc

Exc
Exc

Microsoft CRM as Time Logs for Consulting Business: Integration With Great Plains

This article is targeted to programmers, we are providing C# source code for CRM->GP integration. The code provided is not packaged product, but rather “solution”, which needs to be tailored and installed by GP eConnect C# programmers. What integration does:

1. If you log your timesheets as tasks in Microsoft CRM against contract line cases – these tasks will be integrated as GP Sales Order Processing Invoice lines with description cut to one hundred symbols – this is restriction of GP SOP line description

2. In GP sales invoices are created automatically by overnight integration when you close the case in CRM. If you close several cases for the same customer, let’s say QA, development, onsite consulting, all the cases and corresponding tasks will be combined in one invoice per customer

3. Additional possibilities in MS Dynamics CRM. If you log time against the cases, linked to contract lines, you can create very powerful consultant time tracking report and project status report.

4. Additional Comments. Microsoft Dynamics GP eConnect 10.0 SDK doesn’t have source code for Sales Invoice integration C# demo project. We worked out this project and its code is incorporated in the provided demo C# code, please look at the procedure: SerializeSalesOrderObject

Below you see the code listing:

using System;

using System.IO;

using System.Collections;

using System.Data;

using System.Diagnostics;

using System.Data.SqlClient;

using System.Xml;

using System.Text;

using System.Xml.Serialization;

using Microsoft.Dynamics.GP.eConnect;

using Microsoft.Dynamics.GP.eConnect.Serialization;

using Microsoft.Dynamics.GP.eConnect.MiscRoutines;

namespace Integration

{

sealed public class OrderApp

{

public static string outerSelectString;// = “SELECT DISTINCT SQLSERVER, DATABASENAME FROM ALBANEWTIMELOG”;

public static string innerSelectString;// = “SELECT AccountNumber,BillableTime,UnitPrice,LineTotalPrice,[Description],ItemNumber,SQLSERVER,DATABASENAME, IncidentId FROM ALBANEWTIMELOG WHERE DATABASENAME=”;

public static string connectionString ;//= “Integrated Security = true;Data Source = CRMSERVER; Initial Catalog = CRMCUSTOMIZATION;”;

public static DataTable TableLines; // the datasource of the datagrid called DataLines.

// Error handling variables

public static string sErrMsg;

public static int lErrCode;

public static int lRetCode;

static string sDatabaseName, sServerName, sUserName, sPassword;

static string description, itemnumber, accountNumber, sCustomerPO;

static char char39=(char)39; //to immitate ‘ symbol

static System.Data.SqlTypes.SqlGuid incidentId;

// ****************************************************************************

// This is the application entry point

// ****************************************************************************

public static void Main()

{

string sCustomerDocument;

string sSalesOrder;

string sXsdSchema;

string sConnectionString;

string NAME=”";

string CONTACT=”";

string ADDRESS1=”";

string ADDRESS2=”";

string CITY=”";

string STATE=”";

string ZIP=”";

string currentCustomer = “”;

sConnectionString = @”data source=ALBASERVER;initial catalog=ALBA;integrated security=SSPI;persist security info=False;packet size=4096″;

StreamReader re = File.OpenText(“C:_IntegrationGPIntegrationSettings.txt”);

connectionString = re.ReadLine();

outerSelectString=re.ReadLine();

innerSelectString=re.ReadLine();

sUserName = re.ReadLine();

sPassword = re.ReadLine();

String crmConnectionString = re.ReadLine();

String customerSelectString = re.ReadLine();

String timeLogSelectString = re.ReadLine();

re.Close();

SqlConnection outerConnection = new SqlConnection();

outerConnection.ConnectionString = connectionString;

outerConnection.Open();

SqlCommand outerCommand = new SqlCommand();

outerCommand.CommandType = System.Data.CommandType.Text;

outerCommand.CommandText = outerSelectString;

outerCommand.Connection = outerConnection;

SqlDataReader outerReader = outerCommand.ExecuteReader();

while(outerReader.Read())

{

sServerName=”";

sDatabaseName=”";

//reading databases-companie and their server names in timelog

sServerName=outerReader.GetSqlString(0).ToString();

sDatabaseName=outerReader.GetSqlString(1).ToString();

sServerName=sServerName.Trim();

sDatabaseName=sDatabaseName.Trim();

SqlConnection connection = new SqlConnection();

connection.ConnectionString = connectionString;

connection.Open();

SqlCommand command = new SqlCommand();

command.CommandType = System.Data.CommandType.Text;

command.CommandText = innerSelectString+char39+sDatabaseName+char39+” order by AccountNumber”;

command.Connection = connection;

SqlDataReader reader = command.ExecuteReader();

while(reader.Read())

{

decimal billableTime, unitPrice, lineTotal;

double bTime, uPrice;

description=”";

itemnumber=”";

accountNumber=”";

sCustomerPO=”";

Console.WriteLine(“Record:”);

//reading from timelog

accountNumber=reader.GetSqlString(0).ToString();

billableTime=reader.GetSqlDecimal(1).Value;

unitPrice=reader.GetSqlDecimal(2).Value;

lineTotal=reader.GetSqlDecimal(3).Value;

description=reader.GetSqlString(4).ToString();

itemnumber=reader.GetSqlString(5).ToString();

incidentId=reader.GetSqlGuid(8);

sCustomerPO=reader.GetSqlString(9).ToString();

//add fields

bTime=(double)billableTime;

uPrice=(double)unitPrice;

Console.WriteLine(billableTime);

Console.WriteLine(billableTime.ToString());

Console.WriteLine(unitPrice.ToString());

Console.WriteLine(lineTotal.ToString());

Console.WriteLine(description.ToString());

Console.WriteLine(itemnumber.ToString ());

Console.WriteLine(sCustomerPO.ToString ());

Console.WriteLine();

try

{

if (String.Compare(currentCustomer, accountNumber) != 0)

{

using (eConnectMethods e = new eConnectMethods())

{

//-Update-Create Customer——————————————————-

//——————————————————————————–

try

{

//Read Customer info from CRM

SqlConnection crmConnection = new SqlConnection();

crmConnection.ConnectionString = crmConnectionString;

crmConnection.Open();

SqlCommand commandCustomer = new SqlCommand();

commandCustomer.CommandType = System.Data.CommandType.Text;

commandCustomer.CommandText = customerSelectString + char39 + accountNumber + char39 + ” order by a.AccountNumber”;

commandCustomer.Connection = crmConnection;

SqlDataReader readerCustomer = commandCustomer.ExecuteReader();

if (!readerCustomer.Read()) return;

readerCustomer.GetSqlString(0).ToString();

string sName = readerCustomer.GetSqlString(1).ToString();

if (String.Compare(sName, “Null”) == 0) sName = “”;

NAME = sName;

string sContact = readerCustomer.GetSqlString(4).ToString();

if (String.Compare(sContact, “Null”) == 0) sContact = “”;

CONTACT = sContact;

string sLine1 = readerCustomer.GetSqlString(5).ToString();

if (String.Compare(sLine1, “Null”) == 0) sLine1 = “”;

ADDRESS1 = sLine1;

string sLine2 = readerCustomer.GetSqlString(6).ToString();

if (String.Compare(sLine2, “Null”) == 0) sLine2 = “”;

ADDRESS2 = sLine2;

string sCity = readerCustomer.GetSqlString(7).ToString();

if (String.Compare(sCity, “Null”) == 0) sCity = “”;

CITY = sCity;

string sState = readerCustomer.GetSqlString(8).ToString();

if (String.Compare(sState, “Null”) == 0) sState = “”;

STATE = sState;

string sZip = readerCustomer.GetSqlString(9).ToString();

ZIP = sZip;

if (String.Compare(sZip, “Null”) == 0) sZip = “”;

string sCountry = readerCustomer.GetSqlString(10).ToString();

if (String.Compare(sCountry, “Null”) == 0) sCountry = “”;

readerCustomer.Close();

commandCustomer.Dispose();

crmConnection.Close();

crmConnection.Dispose();

// Create the customer data file

SerializeCustomerObject(“Customer.xml”, accountNumber, sName, sContact, sLine1, sLine2, “MAIN”, sCity, sState, sZip, sCountry);

// Use an XML document to create a string representation of the customer

XmlDocument xmldoc = new XmlDocument();

xmldoc.Load(“Customer.xml”);

sCustomerDocument = xmldoc.OuterXml;

// Create an XML Document object for the schema

XmlDocument XsdDoc = new XmlDocument();

// Create a string representing the eConnect schema

sXsdSchema = XsdDoc.OuterXml;

// Pass in xsdSchema to validate against.

e.eConnect_EntryPoint(sConnectionString, EnumTypes.ConnectionStringType.SqlClient, sCustomerDocument, EnumTypes.SchemaValidationType.None, sXsdSchema);

}

// The eConnectException class will catch eConnect business logic errors.

// display the error message on the console

catch (eConnectException exc)

{

Console.Write(exc.ToString());

}

} // end of using statement

//End Update-Create Customer

//———————————————————–

//Sales Invoice begins———————–

//——————————————–

using (eConnectMethods e = new eConnectMethods())

{

try

{

GetSopNumber mySopNumber = new GetSopNumber();

string SOPNUMBE = mySopNumber.GetNextSopNumber(3, “INV”, sConnectionString);

eConnectType eConnect = new eConnectType();

//Read Customer info from CRM

SqlConnection crmConnection = new SqlConnection();

crmConnection.ConnectionString = crmConnectionString;

crmConnection.Open();

SqlCommand commandSalesOrder = new SqlCommand();

commandSalesOrder.CommandType = System.Data.CommandType.Text;

commandSalesOrder.CommandText = timeLogSelectString + char39 + accountNumber + char39 + ” order by a.AccountNumber”;

commandSalesOrder.Connection = crmConnection;

SqlDataReader readerSalesOrder = commandSalesOrder.ExecuteReader();

taSopLineIvcInsert_ItemsTaSopLineIvcInsert[] items = new taSopLineIvcInsert_ItemsTaSopLineIvcInsert[0];

decimal SUBTOTAL = 0;

int iSO = 0;

while (readerSalesOrder.Read())

{

decimal hours = readerSalesOrder.GetSqlDecimal(0).Value;

string sDescription = readerSalesOrder.GetSqlString(1).ToString();

if (String.Compare(sDescription, “Null”) == 0) sDescription = “miscellaneous”;

decimal rate = readerSalesOrder.GetSqlDecimal(2).Value;

taSopLineIvcInsert_ItemsTaSopLineIvcInsert item = new taSopLineIvcInsert_ItemsTaSopLineIvcInsert();

hours = Decimal.Round(hours, 2);

rate = Decimal.Round(rate, 2);

if (rate

rate = (decimal)0.60;

item.SOPNUMBE = SOPNUMBE;

item.SOPTYPE = 3;

item.CUSTNMBR = accountNumber;

item.DOCID = “INV”;

item.QUANTITY = hours;

item.ITEMNMBR = “SERVICE”;

item.ITEMDESC = sDescription;

item.UNITPRCE = rate;

item.XTNDPRCE = hours * rate;

item.DOCDATE = System.DateTime.Today.Date.ToString();

item.NONINVEN = 1;

//items[iSO] = item;

SUBTOTAL += hours * rate;

iSO++;

if (items.Length

}

readerSalesOrder.Close();

commandSalesOrder.Dispose();

crmConnection.Close();

crmConnection.Dispose();

SOPTransactionType SopOrder = new SOPTransactionType();

XmlSerializer serializer = new XmlSerializer(eConnect.GetType());

SopOrder.taSopLineIvcInsert_Items = items;

taSopHdrIvcInsert header = new taSopHdrIvcInsert();

header.SOPTYPE = 3;

header.SOPNUMBE = SOPNUMBE;

header.DOCID = “INV”;

header.BACHNUMB = “ECONNECT”;

header.CUSTNMBR = accountNumber;

header.CUSTNAME = NAME;

//header.ShipToName = “WAREHOUSE”;

header.ADDRESS1 = ADDRESS1;

header.CNTCPRSN = CONTACT;

// header.FAXNUMBR = “13125550150″;

header.CITY = CITY;

header.STATE = STATE;

header.ZIPCODE = ZIP;

// header.COUNTRY = “USA”;

header.SUBTOTAL = SUBTOTAL;

header.DOCAMNT = SUBTOTAL;

// header.USINGHEADERLEVELTAXES = 0;

// header.PYMTRMID = “Net 30″;

header.DOCDATE = System.DateTime.Today.Date.ToString();

SopOrder.taSopHdrIvcInsert = header;

SOPTransactionType[] mySOPOrder = { SopOrder };

eConnect.SOPTransactionType = mySOPOrder;

FileStream fs = new FileStream(“SalesOrder.xml”, FileMode.Create);

XmlTextWriter writer = new XmlTextWriter(fs, new UTF8Encoding());

serializer.Serialize(writer, eConnect);

writer.Close();

XmlDocument xmldoc = new XmlDocument();

xmldoc.Load(“SalesOrder.xml”);

sSalesOrder = xmldoc.OuterXml;

XmlDocument XsdDoc = new XmlDocument();

sXsdSchema = XsdDoc.OuterXml;

e.eConnect_EntryPoint(sConnectionString, EnumTypes.ConnectionStringType.SqlClient, sSalesOrder, EnumTypes.SchemaValidationType.None, sXsdSchema);

}

catch (eConnectException exc)

{

Console.Write(exc.ToString());

}

}

//Sales Invoice ends———————–

//——————————————–

}

{ //Marking case as imported

SqlConnection updateConnection = new SqlConnection();

updateConnection.ConnectionString = connectionString;

updateConnection.Open();

SqlCommand commandUpdate = new SqlCommand();

commandUpdate.CommandType = System.Data.CommandType.StoredProcedure;

commandUpdate.CommandText = “sp_UpdateImportedCase”;

commandUpdate.Parameters.Add(“@incidentId”, SqlDbType.UniqueIdentifier);

commandUpdate.Parameters["@incidentId"].Value = incidentId;

commandUpdate.Connection = updateConnection;

commandUpdate.ExecuteNonQuery();

commandUpdate.Dispose();

updateConnection.Close();

updateConnection.Dispose();

}

}

catch { }

currentCustomer = accountNumber;

}

reader.Close();

command.Dispose();

connection.Close();

connection.Dispose();

}

}

public static void SerializeCustomerObject(string filename, string custnumbr, string name, string cntcprsn,string address1, string address2, string adrscode, string city, string state, string zip, string country)

{

try

{

// Instantiate an eConnectType schema object

eConnectType eConnect = new eConnectType();

// Instantiate a RMCustomerMasterType schema object

RMCustomerMasterType customertype = new RMCustomerMasterType();

// Instantiate a taUpdateCreateCustomerRcd XML node object

taUpdateCreateCustomerRcd customer = new taUpdateCreateCustomerRcd();

// Create an XML serializer object

XmlSerializer serializer = new XmlSerializer(eConnect.GetType());

// Populate elements of the taUpdateCreateCustomerRcd XML node object

customer.CUSTNMBR = custnumbr;

customer.CUSTNAME = name;

customer.CNTCPRSN = cntcprsn;

customer.ADDRESS1 = address1;

customer.ADDRESS2 = address2;

customer.ADRSCODE = adrscode;

customer.CITY = city;

customer.STATE = state;

customer.ZIPCODE = zip;

customer.COUNTRY = country;

customer.CUSTPRIORITY = 1;

customer.CUSTPRIORITYSpecified = true;

// Populate the RMCustomerMasterType schema with the taUpdateCreateCustomerRcd XML node

customertype.taUpdateCreateCustomerRcd = customer;

RMCustomerMasterType[] mySMCustomerMaster = { customertype };

// Populate the eConnectType object with the RMCustomerMasterType schema object

eConnect.RMCustomerMasterType = mySMCustomerMaster;

// Create objects to create file and write the customer XML to the file

FileStream fs = new FileStream(filename, FileMode.Create);

XmlTextWriter writer = new XmlTextWriter(fs, new UTF8Encoding());

// Serialize the eConnectType object to a file using the XmlTextWriter.

serializer.Serialize(writer, eConnect);

writer.Close();

}

// catch any errors that occur and display them to the console

catch (System.Exception ex)

{

Console.Write(ex.ToString());

}

}

//the following function is for demo only, not in use

public static void SerializeSalesOrderObject(string filename)

{

try

{

// Instantiate an eConnectType schema object

eConnectType eConnect = new eConnectType();

taSopLineIvcInsert_ItemsTaSopLineIvcInsert[] items = new taSopLineIvcInsert_ItemsTaSopLineIvcInsert[1];

taSopLineIvcInsert_ItemsTaSopLineIvcInsert item = new taSopLineIvcInsert_ItemsTaSopLineIvcInsert();

item.ADDRESS1 = “2345 Main St.”;

item.CUSTNMBR = “CONTOSOL0001″;

item.SOPNUMBE = “000001″;

item.CITY = “Aurora”;

item.SOPTYPE = 3;

item.DOCID = “STDINV”;

item.QUANTITY = 2;

item.ITEMNMBR = “ACCS-CRD-12WH”;

item.ITEMDESC = “Phone Cord – 12′ White”;

item.UNITPRCE = (decimal)10.95;

item.XTNDPRCE = (decimal)21.9;

item.LOCNCODE = “WAREHOUSE”;

item.DOCDATE = “04/12/2017″;// ‘Today

items[0] = item;

SOPTransactionType SopOrder = new SOPTransactionType();

XmlSerializer serializer = new XmlSerializer(eConnect.GetType());

SopOrder.taSopLineIvcInsert_Items = items;

taSopHdrIvcInsert header = new taSopHdrIvcInsert();

header.SOPTYPE = 3;

header.SOPNUMBE = “000001″;

header.DOCID = “STDINV”;

header.BACHNUMB = “ECONNECT “;

header.TAXSCHID = “USASTCITY-6*”;

header.FRTSCHID = “USASTCITY-6*”;

header.MSCSCHID = “USASTCITY-6*”;

header.LOCNCODE = “WAREHOUSE”;

header.DOCDATE = “04/12/2017″;

header.CUSTNMBR = “CONTOSOL0001″;

header.CUSTNAME = “Contoso, Ltd.”;

header.ShipToName = “WAREHOUSE”;

header.ADDRESS1 = “2345 Main St.”;

header.CNTCPRSN = “Joe Healy”;

header.FAXNUMBR = “13125550150″;

header.CITY = “Aurora”;

header.STATE = “IL”;

header.ZIPCODE = “65700″;

header.COUNTRY = “USA”;

header.SUBTOTAL = (decimal)21.9;

header.DOCAMNT = (decimal)21.9;

header.USINGHEADERLEVELTAXES = 0;

header.PYMTRMID = “Net 30″;

SopOrder.taSopHdrIvcInsert = header;

// Populate the RMCustomerMasterType schema with the taUpdateCreateCustomerRcd XML node

//customertype.taUpdateCreateCustomerRcd = customer;

//RMCustomerMasterType[] mySMCustomerMaster = { customertype };

SOPTransactionType[] mySOPOrder = { SopOrder };

eConnect.SOPTransactionType = mySOPOrder;

// Populate the eConnectType object with the RMCustomerMasterType schema object

//eConnect.RMCustomerMasterType = mySMCustomerMaster;

// Create objects to create file and write the customer XML to the file

FileStream fs = new FileStream(filename, FileMode.Create);

XmlTextWriter writer = new XmlTextWriter(fs, new UTF8Encoding());

// Serialize the eConnectType object to a file using the XmlTextWriter.

serializer.Serialize(writer, eConnect);

writer.Close();

}

// catch any errors that occur and display them to the console

catch (System.Exception ex)

{

Console.Write(ex.ToString());

}

}

//this function allows us to increase Array length on the fly – we use it when we reading n=lines for Sales Invoice

public static Array ExpandArray(Array arr, object newElement)

{

int length = 1;

System.Type type = newElement.GetType();

if (arr != null)

{

length += arr.Length;

type = arr.GetType().GetElementType();

}

Array result = Array.CreateInstance(type, length);

if (arr != null)

{

arr.CopyTo(result, 0);

}

result.SetValue(newElement, result.Length – 1);

return result;

}

}

}

About the Author

Andrew Karasev, Pegas Planet http://www.pegasplanet.com, subdivision or Alba Spectrum Group: http://www.albaspectrum.com , providing media publishing services: articles, press releases, video and photo blogs distributions services in USA and internationally. Taisia Karaseva is the author of Pegas Planet concept. You can submit your video article here: http://www.pegasplanet.com/SubmitNews/SubmitNews.aspx

ktm exc 125 enduro ( Mario Román )

eBay Logo  

CORELLE FOREVER YOURS TAPERED MUGS, SET OF 2, EXC


CORELLE FOREVER YOURS TAPERED MUGS, SET OF 2, EXC


$3.99


VNTG PYREX SPRING BLOSSOM / CRAZY DAISY 1.5 CUP REFRIGERATOR DISH, #501, EXC


VNTG PYREX SPRING BLOSSOM / CRAZY DAISY 1.5 CUP REFRIGERATOR DISH, #501, EXC


$9.99


Vintage Murano Vase Orig.Labels 12 1/4


Vintage Murano Vase Orig.Labels 12 1/4″ High Exc. Cond.


$39.99


WHITE HOUSE BLACK MARKET Mesh M Surplice Faux Wrap Top EXC


WHITE HOUSE BLACK MARKET Mesh M Surplice Faux Wrap Top EXC


$19.99


CORELLE COASTAL BREEZE SAUCERS, SET/6 EXC


CORELLE COASTAL BREEZE SAUCERS, SET/6 EXC


$4.99


NICE!  Mens Levi Silvertab Baggy Jeans 33 x 32  EXC!!


NICE! Mens Levi Silvertab Baggy Jeans 33 x 32 EXC!!


$16.50


Milan Springs beer 4 1/4


Milan Springs beer 4 1/4″ mini bottle Salt & Pepper shaker Ohio EXC graphics


$35.00


PFALTZGRAFF GAZEBO BLUE CUPS, SET OF 3, EXC & VGC


PFALTZGRAFF GAZEBO BLUE CUPS, SET OF 3, EXC & VGC


$6.99


Wilton Holly Hobbie Baking Pan Exc, Retired


Wilton Holly Hobbie Baking Pan Exc, Retired


$12.99


PFALTZGRAFF VILLAGE CREAMER, EXC


PFALTZGRAFF VILLAGE CREAMER, EXC


$9.99


ERIC CLAPTON, JOURNEYMAN, 1989 REPRISE CASS. 26074 EXC/NM


ERIC CLAPTON, JOURNEYMAN, 1989 REPRISE CASS. 26074 EXC/NM


$0.99


PFALTZGRAFF AURA CHIP DIP PLATE, EXC


PFALTZGRAFF AURA CHIP DIP PLATE, EXC


$7.99


Vintage Bright Abstract Chiffon Oblong Scarf 20 x 42 Red Orange Green Blue EXC!


Vintage Bright Abstract Chiffon Oblong Scarf 20 x 42 Red Orange Green Blue EXC!


$20.69


CORELLE COUNTRY CORNFLOWER 3 QT/L CASSEROLE W/LID, EXC


CORELLE COUNTRY CORNFLOWER 3 QT/L CASSEROLE W/LID, EXC


$9.99


Lovely Vintage Elgin American Round Goldtone Floral Compact + Pouch USA EXC!


Lovely Vintage Elgin American Round Goldtone Floral Compact + Pouch USA EXC!


$40.24


Lovely Hand Painted signed Wise & Co. 21


Lovely Hand Painted signed Wise & Co. 21″ square scarf – rich copper colors EXC!


$22.99


2 Yellow Bakelite Handles Serving Spreader Cheese Knives Stainless USA EXC!


2 Yellow Bakelite Handles Serving Spreader Cheese Knives Stainless USA EXC!


$28.74


Joys of Jello Gelatin Jell-o Recipes spiral bound Cookbook 2nd Edition 1962? EXC


Joys of Jello Gelatin Jell-o Recipes spiral bound Cookbook 2nd Edition 1962? EXC


$22.99


10 VINTAGE TAMA IMPERIALSTAR, SUPERSTAR BASS DRUM CLAWS AND TENSION RODS EXC


10 VINTAGE TAMA IMPERIALSTAR, SUPERSTAR BASS DRUM CLAWS AND TENSION RODS EXC


$19.99


ENCO-EXXON Road Maps 3ea. 1950s Exc. cond.


ENCO-EXXON Road Maps 3ea. 1950s Exc. cond.


$9.00


CORELLE BLUE VELVET PIE PLATE CORNING BLUE ROSES NEVER USED EXC TO MINT


CORELLE BLUE VELVET PIE PLATE CORNING BLUE ROSES NEVER USED EXC TO MINT


$12.99


BEAUTIFUL RED BLACK ENAMEL RHINESTONES GOLD TONE BUTTERYFLY PIN BROOCH EXC!


BEAUTIFUL RED BLACK ENAMEL RHINESTONES GOLD TONE BUTTERYFLY PIN BROOCH EXC!


$7.95


Texaco road map of Utah 1958 Exc. cond.


Texaco road map of Utah 1958 Exc. cond.


$4.95


exc GYMBOREE petite mademoiselle polka dot dress 6-12 m


exc GYMBOREE petite mademoiselle polka dot dress 6-12 m


$9.00


NOTGELD LOCAL 50 PF SCRIPT STADT JENA 7 MAY 1921 Exc!


NOTGELD LOCAL 50 PF SCRIPT STADT JENA 7 MAY 1921 Exc!


$1.99


70's Classic Andre Rivalle Huge Jump Hour Watch - Exc Cond


70’s Classic Andre Rivalle Huge Jump Hour Watch – Exc Cond


$44.99


PHEASANTS Under Glass Victorian Silverplate Butter Dish Domed Rotating Lid EXC


PHEASANTS Under Glass Victorian Silverplate Butter Dish Domed Rotating Lid EXC


$89.99


MENS SHIRT~CAVI XL Purples Stripes Lg. Chest Pocket  Pic of


MENS SHIRT~CAVI XL Purples Stripes Lg. Chest Pocket Pic of “Gears” Inside ~Exc.


$12.95


VINTAGE LIMITED EDITION REITER VANILLA ICE CREAM COIN BANK  -EXC COND


VINTAGE LIMITED EDITION REITER VANILLA ICE CREAM COIN BANK -EXC COND


$13.00


DaisyGrinders - Joe Velocity CD supa Rare OZ  exc cond


DaisyGrinders – Joe Velocity CD supa Rare OZ exc cond


$13.86


RADIO CONTROL RACERS 3-D ULTRA PC XP COMPUTER GAME EXC


RADIO CONTROL RACERS 3-D ULTRA PC XP COMPUTER GAME EXC


$7.69


vtg LG ANTIQUE ART DECO NOUVEAU FLORAL FILIGREE RHINESTONE BROOCH PIN 3


vtg LG ANTIQUE ART DECO NOUVEAU FLORAL FILIGREE RHINESTONE BROOCH PIN 3″ EXC NOR


$25.00


SIX BEAUTIFUL VINTAGE HAND PAINTED GERMAN CHINA PLATES~6


SIX BEAUTIFUL VINTAGE HAND PAINTED GERMAN CHINA PLATES~6″~ EXC. VINTAGE COND.


$49.99


Toddler girl's zip-up-the-front sweater, size 4T - EXC!


Toddler girl’s zip-up-the-front sweater, size 4T – EXC!


$0.99


Fehrs Kentucky beer 4 1/4


Fehrs Kentucky beer 4 1/4″ mini bottle Thoroughbred horses EXC graphics


$25.00


BOTTEGA VENETA-Blue-Silver Diamond Print-Silk & Wool-Knit Tie-EXC+


BOTTEGA VENETA-Blue-Silver Diamond Print-Silk & Wool-Knit Tie-EXC+


$14.99


BOBBY BLAND & B.B. KING, TOGETHER AGAIN, 1976 MCA CASS. 27012 EXC


BOBBY BLAND & B.B. KING, TOGETHER AGAIN, 1976 MCA CASS. 27012 EXC


$0.99


1968 VINTAGE TALKING BARBIE #1115 ORIGINAL SWIMSUIT TOP ~EXC


1968 VINTAGE TALKING BARBIE #1115 ORIGINAL SWIMSUIT TOP ~EXC


$9.99


 vintage J.C.Penney's mens snowmobile suit snowsuit EXC! 38-40 Medium Regular


vintage J.C.Penney’s mens snowmobile suit snowsuit EXC! 38-40 Medium Regular


$24.99


Womens Ralph Lauren Stretch Capris Red ~ Sz. 8 ~ Exc


Womens Ralph Lauren Stretch Capris Red ~ Sz. 8 ~ Exc


$16.99


Marvel Super Hero Squad M.O.D.O.K Modok Figure Exc Con


Marvel Super Hero Squad M.O.D.O.K Modok Figure Exc Con


$3.52


10 VINTAGE TAMA IMPERIALSTAR, SUPERSTAR BASS DRUM CLAWS AND TENSION RODS EXC


10 VINTAGE TAMA IMPERIALSTAR, SUPERSTAR BASS DRUM CLAWS AND TENSION RODS EXC


$19.99


Mansfield Toilet Lid - White EXC.COND. See measurements


Mansfield Toilet Lid – White EXC.COND. See measurements


$89.95


Power Rangers Metallic Wild Force Red Disney Exc. MOC


Power Rangers Metallic Wild Force Red Disney Exc. MOC


$29.99


Vintage Chenille Bedspread Pink, Salmon and Mauve with Bl  Yel & Wht Flowers EXC


Vintage Chenille Bedspread Pink, Salmon and Mauve with Bl Yel & Wht Flowers EXC


$51.88


Northwood Carnival Glass Tree Trunk Vase Green EXC!!!


Northwood Carnival Glass Tree Trunk Vase Green EXC!!!


$31.00


Ceramic Pottery Tiki Drink Glass Jekyll & Hyde Club EXC


Ceramic Pottery Tiki Drink Glass Jekyll & Hyde Club EXC


$12.99


lucky craft lv 100 exc. never fished, florida bass color


lucky craft lv 100 exc. never fished, florida bass color


$9.99


ULTRA RARE COLLECTIBLE!! Bracelet Earrings Emmons AFRICAN QUEEN Hard-to-Find EXC


ULTRA RARE COLLECTIBLE!! Bracelet Earrings Emmons AFRICAN QUEEN Hard-to-Find EXC


$57.38


STUNNER Vtg Wide Fluted Super Shiny Hinged CLAMPER BRACELET Goldplate EXC


STUNNER Vtg Wide Fluted Super Shiny Hinged CLAMPER BRACELET Goldplate EXC


$12.75


Vtg Sarah Coventry LOVE STORY RING OCTOBER Pink & Silverplate Hearts Ring--EXC


Vtg Sarah Coventry LOVE STORY RING OCTOBER Pink & Silverplate Hearts Ring–EXC


$27.62


Vintage Sarah Coventry


Vintage Sarah Coventry “ALLUSION” Brooch Errg Set EXC–3+items ship free US


$22.94


ULTRA RARE-STUNNING!! Sarah Coventry TUDOR CROSS EXC--nearly impossible to find!


ULTRA RARE-STUNNING!! Sarah Coventry TUDOR CROSS EXC–nearly impossible to find!


$55.25


XTRA RARE '60 Sarah Coventry LADY OF SPAIN Parure EXC--3 + items ship free in US


XTRA RARE ‘60 Sarah Coventry LADY OF SPAIN Parure EXC–3 + items ship free in US


$49.30


Ladies jumper - chamois color - size S - EXC!


Ladies jumper – chamois color – size S – EXC!


$1.99


ERIC CLAPTON, UNPLUGGED, 1992 REPRISE CASS. 45024 EXC/NM


ERIC CLAPTON, UNPLUGGED, 1992 REPRISE CASS. 45024 EXC/NM


$0.99


Marvel Wolverine And the X-Men Logan Figure Exc Con


Marvel Wolverine And the X-Men Logan Figure Exc Con


$1.99


Vivitar 70-210mm 1:4.5-5.6 Macro Zoom lens. Pentax K mount. Exc.


Vivitar 70-210mm 1:4.5-5.6 Macro Zoom lens. Pentax K mount. Exc.


$15.50


Rolling Stones Album Emotional Rescue 1980 Exc++++


Rolling Stones Album Emotional Rescue 1980 Exc++++


$19.99


ELO Greatist Hits 1979 Recod Album w/ Sleeve Exc+


ELO Greatist Hits 1979 Recod Album w/ Sleeve Exc+


$12.99


Vintage Sarah Coventry AMBER & TOPAZ Necklace Errg EXC--3+items ship free US


Vintage Sarah Coventry AMBER & TOPAZ Necklace Errg EXC–3+items ship free US


$28.04


lucky craft lv 100 exc. never fished,


lucky craft lv 100 exc. never fished,


$4.99


1984 PROOF COIN SET, EXC COND AND PRICE !


1984 PROOF COIN SET, EXC COND AND PRICE !


$27.81


1983 PROOF COIN SET, EXC COND AND PRICE !


1983 PROOF COIN SET, EXC COND AND PRICE !


$25.67


1986 PROOF COIN SET, EXC COND AND PRICE !


1986 PROOF COIN SET, EXC COND AND PRICE !


$36.37


1988 PROOF COIN SET, EXC COND AND PRICE !


1988 PROOF COIN SET, EXC COND AND PRICE !


$36.37


NORA FENTON Japan porcelain Hong Kong PLATE hand decorated  EXC


NORA FENTON Japan porcelain Hong Kong PLATE hand decorated EXC


$14.38


Fisher Price Mary Lapsitter doll 1973 #200 EXC


Fisher Price Mary Lapsitter doll 1973 #200 EXC


$34.99


Vintage  A Line Dress Orange Floral Print by NY & CO Made in USA ExC


Vintage A Line Dress Orange Floral Print by NY & CO Made in USA ExC


$6.99


Western Pottery Toilet Lid  EXC.COND. See measurements


Western Pottery Toilet Lid EXC.COND. See measurements


$84.99


lucky craft lv 100 exc. never fished,


lucky craft lv 100 exc. never fished,


$4.99


93-97 KTM 250 EXC 250EXC left radiator cooler engine


93-97 KTM 250 EXC 250EXC left radiator cooler engine


$75.00


Power Rangers Metallic Mystic Force Red Disney Exc. MOC


Power Rangers Metallic Mystic Force Red Disney Exc. MOC


$29.99


KTM 125 SX EXC  Renthal Front Sprocket 13  91-11


KTM 125 SX EXC Renthal Front Sprocket 13 91-11


$26.95


KTM 144 SX EXC  Renthal Front Sprocket 13  07 08


KTM 144 SX EXC Renthal Front Sprocket 13 07 08


$26.95


KTM 150 SX EXC  Renthal Front Sprocket 13  09 2010


KTM 150 SX EXC Renthal Front Sprocket 13 09 2010


$26.95


KTM 200 XC EXC  Renthal Front Sprocket 13  98-2010


KTM 200 XC EXC Renthal Front Sprocket 13 98-2010


$26.95


KTM 250 SX EXC  Renthal Front Sprocket 13  91-2011


KTM 250 SX EXC Renthal Front Sprocket 13 91-2011


$26.95


lucky craft lv 100 exc. never fished,


lucky craft lv 100 exc. never fished,


$4.99


KTM 125 SX EXC  Renthal Front Sprocket 14  91-11


KTM 125 SX EXC Renthal Front Sprocket 14 91-11


$26.95


KTM 144 SX EXC  Renthal Front Sprocket 14  07 08


KTM 144 SX EXC Renthal Front Sprocket 14 07 08


$26.95


KTM 150 SX EXC  Renthal Front Sprocket 14  09 2010


KTM 150 SX EXC Renthal Front Sprocket 14 09 2010


$26.95


KTM 200 XC EXC  Renthal Front Sprocket 14  98-2010


KTM 200 XC EXC Renthal Front Sprocket 14 98-2010


$26.95


KTM 250 SX EXC  Renthal Front Sprocket 14  91-2011


KTM 250 SX EXC Renthal Front Sprocket 14 91-2011


$26.95


RARE COOL! Elephant Necklace Sarah Coventry MAHARAJAH Faux Amber & Goldplate EXC


RARE COOL! Elephant Necklace Sarah Coventry MAHARAJAH Faux Amber & Goldplate EXC


$33.14


GORGEOUS '60 Sarah Coventry EGYPTIAN TEMPTRESS Necklace Bracelet Errg PARURE EXC


GORGEOUS ‘60 Sarah Coventry EGYPTIAN TEMPTRESS Necklace Bracelet Errg PARURE EXC


$53.55


Northwood White Carnival Glass Basket Weave Vase EXC!!!


Northwood White Carnival Glass Basket Weave Vase EXC!!!


$35.00


93-97 KTM 250 EXC 250EXC right radiator cooler engine


93-97 KTM 250 EXC 250EXC right radiator cooler engine


$75.00


Antique Blown Carafe with Fan & Beaded Pattern ExC


Antique Blown Carafe with Fan & Beaded Pattern ExC


$17.50


lucky craft lv 100 exc. never fished,


lucky craft lv 100 exc. never fished,


$4.99


Belwith Supra Viewer Crystal Clear Ground Glass Optical Lens Brass Packaged Exc!


Belwith Supra Viewer Crystal Clear Ground Glass Optical Lens Brass Packaged Exc!


$6.50


1981  MINT COIN SET EXC CONDITION, SALE PRICE !


1981 MINT COIN SET EXC CONDITION, SALE PRICE !


$14.98


1978  MINT COIN SET EXC CONDITION, SALE PRICE !


1978 MINT COIN SET EXC CONDITION, SALE PRICE !


$14.98


2007  MINT COIN SET EXC CONDITION, SALE PRICE !


2007 MINT COIN SET EXC CONDITION, SALE PRICE !


$31.02


1986  MINT COIN SET EXC CONDITION, SALE PRICE !


1986 MINT COIN SET EXC CONDITION, SALE PRICE !


$20.32


2009  MINT COIN SET EXC CONDITION, SALE PRICE !


2009 MINT COIN SET EXC CONDITION, SALE PRICE !


$25.67


2001  MINT COIN SET EXC CONDITION, SALE PRICE !


2001 MINT COIN SET EXC CONDITION, SALE PRICE !


$36.37


2002  MINT COIN SET EXC CONDITION, SALE PRICE !


2002 MINT COIN SET EXC CONDITION, SALE PRICE !


$31.02


1982  MINT COIN SET EXC CONDITION, SALE PRICE !


1982 MINT COIN SET EXC CONDITION, SALE PRICE !


$11.77


1983  MINT COIN SET EXC CONDITION, SALE PRICE !


1983 MINT COIN SET EXC CONDITION, SALE PRICE !


$25.67