If you have been customizing for a while, you may be wondering what the difference is between the different tables that deal with customers, vendors, employees, and contacts.
The Entity Table
The Entity table is a QuickBooks table that holds the four types of people you will have transactions with:
Other Names (Only on QuickBooks Desktop)
However, Method provides individual tables for each of these entity types. You can find a Customer, Vendor, Employee, and OtherName table in your account.
For all intents and purposes, you can imagine each of these tables as a filtered view of the Entity table. For example, the Customer table is just a filtered view of the Entity table showing fields specific to the Customer table.
In fact, if you look at the RecordIDs, you will see the Record IDs will match. The RecordID for a customer in the Customer table will be the same RecordID number in the Entity table.
Customer Leads and Vendor Leads
There isn't a separate table for leads in Method. A customer lead is stored in the same table as a customer. A vendor lead is stored in the same table as a vendor.
The main difference is whether or not the IsLeadStatusOnly field is set to Yes or No.
If a Customer or a Vendor has this field set to Yes, then they are considered a lead, and they do not sync to QuickBooks. Once the IsLeadStatusOnly is set to no, then the lead converts.
The Contacts Table
The Contacts table is a completely different table from the Entity table. In fact, it is a Method table and does not sync with QuickBooks.
An entity, such as a customer or vendor, can have multiple contacts associated with it. (For more information, see the article "What is a Contact?")
In order to create this parent-child relationship, a dropdown field is created in the child table pointing to the parent table. So if there is a contact named Amy Ford, the Contact's table will hold a dropdown field to the parent customer of Sanford Company Art Gallery.
The confusion arises because one would expect to see a Customer dropdown field in the Contacts table, except it isn't there. Instead, there is an Entity dropdown field.
This is because the Entity table is the main table that holds Customers, Vendors, Employees, and OtherNames. And since a contact can have any one of these four types as a parent, it makes sense to associate it with the Entity table.
There are a number of other tables which seem to relate to the entity table, but are completely different tables.
CustomerVendor Table: Legacy Method table which is no longer used.
Company Table: QuickBooks table which holds information about your company. It has no relation to the Entity table or the Contacts table.
Sales Rep Table: A sales rep is a QuickBooks Desktop only table. You can create a sales rep and associate it with a Vendor or an Employee, and thus, it has an Entity dropdown field.