To create a standard Non Inventory Part you can use a more simplified INSERT statement like this:
INSERT INTO ItemNonInventory ("Name", "IsActive", "SalesORPurchaseDesc", "SalesTaxCodeRefListID", "SalesOrPurchasePrice", "SalesOrPurchaseAccountRefListID") VALUES ('QODBC NonInventory Test', TRUE, 'Test Insert of Non Inventory Part', '20000-999022286', 100.00, '190000-933270541')
Which looks like this in QuickBooks 2006 instead:
But before you add any new Non-Inventory part, you should check the ITEM table first to see if the new Non-Inventory part Name is not already used in QuickBooks. The ITEM table is a combined list of all Item tables in QuickBooks: ItemInventory, ItemNonInventory, ItemOtherCharge, ItemInventoryAssembly, ItemService, ItemFixedAsset, and ItemGroup; with minimum common fields.
When inserting a new ItemNonInventory item the Name can't already be, for example, a ItemInventory, ItemNonInventory, ItemOtherCharge, ItemInventoryAssembly, ItemService, ItemFixedAsset, or ItemGroup FullName already. It must be a unquie new ITEM FullName!
To see the item fullnames, you can run the following query in VB Demo:
SELECT ListID, FullName, Description, Type FROM Item
In my case, my Australian QuickBooks 2004 sample file returned the following items:
And like ITEM there's a ENTITY table that's the combined list of all entity tables in QuickBooks: Customers, Employees, Othernames, and Vendors; with minimum common fields.
So when inserting a new Customer name the FullName can't be, for example, a Customer, Employee, Othername, or Vendor already. It must be a unquie new ENTITY FullName in QuickBooks! |