| Function | Code | Custom Field | Both |
| Creation, Editing, and Management | Users with appropriate permissions can create, edit, and delete codes without assistance from GivingData staff. | Only GivingData staff can create and delete custom fields. Users with the appropriate permissions can control changes in name and organization of fields. | |
| System Limits | There is no limit to the number of codes allowed in a site.
| Subscription levels limit the number of custom fields in a foundation’s site. Custom fields can be presented as a dropdown picklist, but only one value can be selected. | |
| Data Formats | Codes always appear in a multi-select (checkbox) format. The code type properties determine how many code selections can be made on a record. | Custom fields cannot appear in a multi-select (checkbox) format. Available formats for custom fields include: date, number, decimal, text, boolean, and single-selection dropdown. | |
| Structural Organization | Codes can be structured to allow for multiple levels of selection. | Custom fields can only be structured as text input or single-selection dropdown fields. | |
| Percentage Tracking | Codes can automatically track the percentage and amount of a grant or payment that is attributed to each selection. | Calculated custom fields can be created to track the percentage and amount of a grant or payment attributed to a specific category, but this could require multiple fields. | |
| Foundation Budget Management | Codes are used to establish and track a grantmaking budget in the budget manager and payments and approvals dashboards. | Custom fields cannot be used to populate the budget manager. | |
| Payments and Approvals Dashboards | Codes filter and populate the payments and approvals dashboards to display how funding is distributed. | Custom fields do not populate the payments and approvals dashboards. | |
| Record Assignment | A code type can be configured to appear on multiple record types. | A custom field can only be configured to appear on one record type. Only custom fields can appear on a requirement or the regranting modal. | Both codes and custom fields can appear on organization, request, payment and contact records. |
| Super Search and Reports Tool | Codes can be used to group search results in the reports tool. | Custom fields cannot be used to group search results in the reports tool. | Both custom fields and codes can be used for super search criteria and displayed as a column within super search results. |
| Grantee Portal – Conditional Logic | Codes can be used for conditional logic in some intake forms in the grantee portal. | Custom fields can be used for conditional logic in intake forms in the grantee portal, but only if the custom field is in a dropdown format. | |
| Grantee Portal – Mapped Field Display | Codes cannot be formatted to display existing information from GivingData in an intake form. | Custom fields can be formatted to display existing information from GivingData into an intake form for invited applications, reports, and submission forms. | |
| Batch Editing | Codes can be updated on records in batch. | Custom fields cannot be updated on records in batch. | |
| Required Editing | Codes can be marked as required fields on a record, and if not populated, they can prevent a request from being approved. | Custom fields cannot be a required field on any record in GivingData. |