Poor Dynamics GP Prospects
One of many Dynamics GP features that doesn't seem to get much attention is the Sales Prospect Maintenance window. And as I'll show, it seems that the GP development folks don't show poor Prospects much love either.
Sitting quietly under Cards -> Sales -> Prospects (or Sales -> Cards -> Prospects, depending on how you prefer to navigate), the Sales Prospect Maintenance window allows you to enter prospects that are stored separately from your customer records.
The reason I went on this bumpy journey is because I want to integrate an external CRM system with Dynamics GP. Rather than send CRM contact records into GP as full fledged customers, I want to use Prospects, which will allow the accounting staff to review and validate the prospects before they are converted to real customers. Similarly, I want to transfer any transactions from CRM into GP as quotes, so that the transactions can be reviewed and then converted to orders.
So, back to Prospects.
Customers are stored in the RM00101 table, while Prospects are, interestingly, stored in the SOP00200 table. You'll notice that Prospects don't have as many fields as a customer. Although there are the full address and contact fields, there is no Address ID field, and there are no fields for salesperson, territory, or any of the fields found on the Customer Options window. However, there is a Class ID field, which uses the same classes as customers, which aids with consistent data entry of a few fields.

One use for Prospects is to simply track your potential customers by recording their contact information in GP, like a very basic CRM system, or in my case, as a conduit for receiving contacts from a CRM system. But GP also allows you to create sales quotes using prospects instead of customers, allowing you to avoid cluttering your real customer list. If the Quote gets transferred to an Order, you can then transfer the Prospect to a Customer.
To create quotes for prospects, you will need to make sure that you have enabled the option in SOP Setup. Under Tools -> Setup -> Sales -> Sales Order Processing (in GP 10), click on the Sales Document Setup button, then select Quote.

In the Sales Quote Setup window, select a quote ID, and then verify that the Use Prospects box is checked. Next, make sure that "Transfer Quote to Order" is checked, and a Order ID is selected. Save your Quote ID and then close the setup windows.
Now that you are on the edge of your seat with excitement, you need to first make sure you have some Prospects entered in GP. Go to Cards -> Sales -> Prospects and if you don't already have some records, create one or two. For demonstration purposes, I would recommend using a Prospect ID starting with "A" or "1". In either case, make a note of the first Prospect ID.
Now comes the disappointing, er, I mean "fun" part. Open the Sales Transaction Entry window and choose Quote. Select the Quote ID that you verified earlier, then tab to let GP assign a document number. Once you get to the Customer ID field, open the lookup window.

Do you see it? Keep looking. At the top of the lookup window, notice how it says Customers and Prospects? Cool, so you mean that GP will let you choose either a Customer or a Prospect?
Nope! Try searching for that Prospect that you checked or entered earlier. I'll bet you can't find it.
In theory, it should be listed, but this is where the lack of love comes in. From what I can tell, this is a bug that goes back to GP 8.0.
So you ask yourself: "Self, how do I get the Prospects to show in the lookup window?"
Well, here's the horribly inconvenient way that I found to kind of get it to work.
When entering a quote where you want to use an existing prospect, enter an existing Prospect ID. Notice that it recognizes the Prospect? So not all is lost.
So now, create a quote and enter a new, fake Customer ID that is not used by a customer or prospect. You will be asked if you want to add a new Customer or Prospect. Choose Prospect.

Clicking on the Prospect button handily opens the Sales Prospect Maintenance window. But we don't actually want to create a new Prospect, so close the window.
Back on the SOP Quote window, click on the Customer ID lookup again. You should be greeted by an error:

Unhandled script exception: Illegal address for field 'Prospect ID' in script 'ASI_LU_Customer_Lookup_Scroll_Fill_After'. Script terminated.
This error is discussed in the dust covered KB Article 863781, for GP 8.0, and "is scheduled for a service pack". Lovely. Interpretation: Don't hold your breath for a fix.
In my testing, I have to click on the OK button for the error message exactly 12 times (one error message per record that is displayed on the lookup window), and then it finally goes away, and then, lo and behold, Ta Da!, you get the REAL combined list of Customers and Prospects.
Now wasn't that easy?
To be "fair", if you are entering a new Prospect while entering your quote, and you do not have to use the lookup window to determine which ID to choose, then this is not an issue.
Once you have selected your Prospect and enter your quote, go ahead and transfer the quote to an order.
The "Prospect to Customer" window should appear, which will transfer the prospect info to a new customer record. This window gives you the option to change the customer ID before it is created, in case your prospect IDs use a different scheme than your customer IDs. Once you click on OK, the Customer Maintenance window will open, pre-populated with all of the prospect information. If you selected a Class ID for your prospect, all of the values provided by the class will also populate. Pretty snazzy, right?
Before you save your new customer, you will need to enter an Address ID, since Prospects do not have address IDs. Once you save your customer and close the window, return to the Prospect to Customer window and click OK. Your Quote will then transfer to an Order. Presto!
So now that you have your new Customer and Order, what happens to the Prospect? Well, GP does not automatically delete or remove the prospect once it is transferred to a customer, so you need to manually delete it if you want to get rid of it.
So now that you know, show your GP Prospects some love. (and lobby the GP dev team to fix those bugs)
Sitting quietly under Cards -> Sales -> Prospects (or Sales -> Cards -> Prospects, depending on how you prefer to navigate), the Sales Prospect Maintenance window allows you to enter prospects that are stored separately from your customer records.
The reason I went on this bumpy journey is because I want to integrate an external CRM system with Dynamics GP. Rather than send CRM contact records into GP as full fledged customers, I want to use Prospects, which will allow the accounting staff to review and validate the prospects before they are converted to real customers. Similarly, I want to transfer any transactions from CRM into GP as quotes, so that the transactions can be reviewed and then converted to orders.
So, back to Prospects.
Customers are stored in the RM00101 table, while Prospects are, interestingly, stored in the SOP00200 table. You'll notice that Prospects don't have as many fields as a customer. Although there are the full address and contact fields, there is no Address ID field, and there are no fields for salesperson, territory, or any of the fields found on the Customer Options window. However, there is a Class ID field, which uses the same classes as customers, which aids with consistent data entry of a few fields.

One use for Prospects is to simply track your potential customers by recording their contact information in GP, like a very basic CRM system, or in my case, as a conduit for receiving contacts from a CRM system. But GP also allows you to create sales quotes using prospects instead of customers, allowing you to avoid cluttering your real customer list. If the Quote gets transferred to an Order, you can then transfer the Prospect to a Customer.
To create quotes for prospects, you will need to make sure that you have enabled the option in SOP Setup. Under Tools -> Setup -> Sales -> Sales Order Processing (in GP 10), click on the Sales Document Setup button, then select Quote.

In the Sales Quote Setup window, select a quote ID, and then verify that the Use Prospects box is checked. Next, make sure that "Transfer Quote to Order" is checked, and a Order ID is selected. Save your Quote ID and then close the setup windows.
Now that you are on the edge of your seat with excitement, you need to first make sure you have some Prospects entered in GP. Go to Cards -> Sales -> Prospects and if you don't already have some records, create one or two. For demonstration purposes, I would recommend using a Prospect ID starting with "A" or "1". In either case, make a note of the first Prospect ID.
Now comes the disappointing, er, I mean "fun" part. Open the Sales Transaction Entry window and choose Quote. Select the Quote ID that you verified earlier, then tab to let GP assign a document number. Once you get to the Customer ID field, open the lookup window.

Do you see it? Keep looking. At the top of the lookup window, notice how it says Customers and Prospects? Cool, so you mean that GP will let you choose either a Customer or a Prospect?
Nope! Try searching for that Prospect that you checked or entered earlier. I'll bet you can't find it.
In theory, it should be listed, but this is where the lack of love comes in. From what I can tell, this is a bug that goes back to GP 8.0.
So you ask yourself: "Self, how do I get the Prospects to show in the lookup window?"
Well, here's the horribly inconvenient way that I found to kind of get it to work.
When entering a quote where you want to use an existing prospect, enter an existing Prospect ID. Notice that it recognizes the Prospect? So not all is lost.
So now, create a quote and enter a new, fake Customer ID that is not used by a customer or prospect. You will be asked if you want to add a new Customer or Prospect. Choose Prospect.

Clicking on the Prospect button handily opens the Sales Prospect Maintenance window. But we don't actually want to create a new Prospect, so close the window.
Back on the SOP Quote window, click on the Customer ID lookup again. You should be greeted by an error:

Unhandled script exception: Illegal address for field 'Prospect ID' in script 'ASI_LU_Customer_Lookup_Scroll_Fill_After'. Script terminated.
This error is discussed in the dust covered KB Article 863781, for GP 8.0, and "is scheduled for a service pack". Lovely. Interpretation: Don't hold your breath for a fix.
In my testing, I have to click on the OK button for the error message exactly 12 times (one error message per record that is displayed on the lookup window), and then it finally goes away, and then, lo and behold, Ta Da!, you get the REAL combined list of Customers and Prospects.
Now wasn't that easy?
To be "fair", if you are entering a new Prospect while entering your quote, and you do not have to use the lookup window to determine which ID to choose, then this is not an issue.
Once you have selected your Prospect and enter your quote, go ahead and transfer the quote to an order.
The "Prospect to Customer" window should appear, which will transfer the prospect info to a new customer record. This window gives you the option to change the customer ID before it is created, in case your prospect IDs use a different scheme than your customer IDs. Once you click on OK, the Customer Maintenance window will open, pre-populated with all of the prospect information. If you selected a Class ID for your prospect, all of the values provided by the class will also populate. Pretty snazzy, right?
Before you save your new customer, you will need to enter an Address ID, since Prospects do not have address IDs. Once you save your customer and close the window, return to the Prospect to Customer window and click OK. Your Quote will then transfer to an Order. Presto!
So now that you have your new Customer and Order, what happens to the Prospect? Well, GP does not automatically delete or remove the prospect once it is transferred to a customer, so you need to manually delete it if you want to get rid of it.
So now that you know, show your GP Prospects some love. (and lobby the GP dev team to fix those bugs)
This was originally posted here.
*This post is locked for comments