Documentation

Zoho Field Type to .NET Type Mappings

Version 1.2   |   Last Updated: 1/28/2014 (v1.2)   |  
Zoho Field Type Recommended / Supported .NET Types
C# Type .NET Framework Type
Text String System.String
Integer int*, uint*, short*, ushort* System.Int32, System.UInt32, System.Int16, System.UInt16
Percent decimal*, double*, float* System.Decimal, System.Double, System.Single
Decimal decimal*, double*, float* System.Decimal, System.Double, System.Single
Currency decimal*, double*, float* System.Decimal, System.Double, System.Single
Date DateTime* System.DateTime
DateTime DateTime* System.DateTime
Email String System.String
Phone String System.String
Pick List ZohoSharp.PickList, enum*, string ZohoSharp.PickList, System.Enum, System.String
Url String String System.String
TextArea String System.String
Checkbox Bool System.Boolean
Multiselect Pick List ZohoSharp.MultiPickList, enum[], List<enum>, enum**, string[], List<string> ZohoSharp.MultiPickList, System.Enum[], System.Collections.Generic.List<system.enum>, System.Enum, System.String[], System.Collections.Generic.List<system.string>
Auto Number string, int, uint, short, ushort System.String, System.Int32, System.UInt32, System.Int16, System.UInt16
Lookup String System.String
Formula String System.String
Long Integer long*, ulong* System.Int64, System.UInt64
  • *Nullable types are supported as well
  • **An enum with the FlagsAttribute to represent bitwise values allowing selection of multiple enum values

Field Type Mapping Notes:

  • Non-nullable enums should have a 0 value item defined.
  • Non-nullable enums will be out of sync between Zoho and the strongly-typed syncable model object when the value is null (or None) on Zoho and this will not be caught by the sync process.
  • Be careful about using an enum with no assigned value of 0 if the same Pick List item is not set as the default item on Zoho.
  • An enum with the FlagsAttribute allowing selection of multiple items should define an item (such as None) with a value of 0 to represent no items selected.
  • Using a string or list of strings for Pick Lists or Multiselect Pick Lists will allow values not defined in Zoho to be populated without error or warning.
  • When using an array of enums, a list of enums, an array of strings or a list of strings to represent a Multiselect Pick List, either a null value or an empty array/list will be handled the same.
  • When populating a Zoho Decimal field type, a value with more decimal points than defined for the type on Zoho can be populated without error or warning. Save attempts will not be allowed on the record through the Zoho UI until the decimal precision is corrected.
  • A similar situation exists with the Zoho Percent type – only a single decimal point is allowed, but more can be populated through the API causing the record to not save through the UI.
  • A similar situation also exists with the Zoho Url type – any text can be populated through the API, but the UI requires a valid URL.
  • If submitting a string value for the Date or DateTime Zoho field types, the format must be YYYY-MM-DD HH:MM:SS. If the time is submitted for a Date type, it will just be ignored (or can be submitted as MM/DD/YYYY).
  • Formula type fields cannot be updated – the submitted values will simply be ignored.
  • Values submitted for Auto Number type fields on insert will get replaced by the auto numbers calculated by Zoho. However, on updates, the submitted values will be used.
  • For the Cases and Solutions modules, the data records returned by Zoho include complex objects representing comments. This Comments field is mapped to a List of custom CRMComment model objects.
  • For the Quotes, Invoices, Sales Orders and Purchase Orders modules, the data records returned by Zoho include complex objects representing product details. This Product Details field is mapped to a List of custom CRMProductLineItem model objects.