Custom Fields

QuickBooks supports custom fields on both list elements and transactions (as long as they are configured on the template used for the transaction). Working with custom fields can be tricky based on the way that QuickBooks returns them trough the API and the fact that they can be changed and renamed at any time. Custom field definitions are always returned by QuickBooks in alphabetical order by name. Consider the case where you have the following custom fields defined for inventory items in QuickBooks:

  • Material.
  • Size.
  • Color.

QuickBooks will return them in alphabetical order as Color, Material, and Size. they will appear in the ItemInventory table in the following columns:

  • CustomField1 = Color
  • CustomField2 = Material
  • CustomField3 = Size

If you were then to add a new custom field in QuickBooks named Pattern, the custom field mappings would become:

  • CustomField1 = Color
  • CustomField2 = Material
  • CustomField3 = Pattern
  • CustomField4 = Size

Furthermore, if you were then to rename the field Color to Shade, the new custom field mapping would become:

  • CustomField1 = Material
  • CustomField2 = Pattern
  • CustomField3 = Shade
  • CustomField4 = Size

The custom field definitions from QuickBooks are stored in the table named DataExtDef. You will find on the table the field that you will need to query or add custom fields to the tables that support them.

  • DataExtName: this field will save the custom field name
  • AssignToObject: this field will tell you to which tables this custom field is activated and can be assigned value.

How LetSync Desktop handles Custom Fields

Populating to the database from QuickBooks in alphabetical order DataExtName : AssignToObject

Updating back to QuickBooks. In this case, it doesn’t matter the alphabetical order or which of the 15 custom fields that are assigned for each table supports them. As long you follow the same format DataExtName : AssignToObject

Powered by BetterDocs