Codat · Schema

Accounting: Tracking category

Details of a category used for tracking transactions. > Language tip > > Parameters used to track types of spend in various parts of an organization can be called **dimensions**, **projects**, **classes**, or **locations** in different accounting software. In Codat, we refer to these as tracking categories. ## Overview Tracking categories are used to monitor cost centres and control budgets that sit outside the standard chart of accounts. Customers may use tracking categories to group together and track the income and costs of specific departments, projects, locations or customers. From their accounting system, customers can: - Create and maintain tracking categories and tracking category types. - View all tracking categories that are available for use. - View the relationships between the categories. - Assign invoices, bills, credit notes, or bill credit notes to one or more categories. - View the categories that a transaction belongs to. - View all transactions in a tracking category. ### Tracking categories per platform Review the platform-specific tracking categories that Codat supports, and the level they are assigned to in the source platform.

Platform Tracking category Tracking level
Dynamics 365 Dimensions Line item
Freshbooks Expense categories Line item
MYOB Categories Transaction
Netsuite Classes Line item
Locations Line item
Departments Line item
Custom segments Line item
QuickBooks Desktop Classes Line item or transaction level
Locations Transaction
QuickBooks Online Classes Line item or transaction level
Locations Transaction
Sage 200 Cost centers Line item
Departments Line item
Analysis codes Transaction
Sage 50 Departments Line item
Costcodes Line item
Projects Line item
Sage Intacct Dimensions Line item
Xero Tracking categories Line item
> **Example use case** > > Monitor the budget for your annual conference using a tracking category called 'AnnualConference2020' with the **type** set to **Costing**. If a tracking category has a parent category, the ID of that parent category is displayed. There is also a `hasChildren` field that shows whether there are child subcategories nested beneath.

Unified_API
View JSON Schema on GitHub

JSON Schema

codat-accountingtrackingcategory-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/AccountingTrackingCategory",
  "title": "Accounting: Tracking category",
  "x-internal": true,
  "description": "Details of a category used for tracking transactions.\n\n> Language tip\n>\n> Parameters used to track types of spend in various parts of an organization can be called  **dimensions**, **projects**, **classes**, or **locations** in different accounting software. In Codat, we refer to these as tracking categories.\n\n## Overview\n\nTracking categories are used to monitor cost centres and control budgets that sit outside the standard chart of accounts. Customers may use tracking categories to group together and track the income and costs of specific departments, projects, locations or customers.\n\nFrom their accounting system, customers can: \n\n- Create and maintain tracking categories and tracking category types.\n- View all tracking categories that are available for use.\n- View the relationships between the categories.\n- Assign invoices, bills, credit notes, or bill credit notes to one or more categories.\n- View the categories that a transaction belongs to.\n- View all transactions in a tracking category.\n\n### Tracking categories per platform\n\nReview the platform-specific tracking categories that Codat supports, and the level they are assigned to in the source platform. \n\n<table>\n<thead>\n  <tr>\n    <th>Platform</th>\n    <th>Tracking category</th>\n    <th>Tracking level</th>\n  </tr>\n</thead>\n<tbody>\n  <tr>\n    <td><b>Dynamics 365</b></td>\n    <td>Dimensions</td>\n    <td>Line item</td>\n  </tr>\n  <tr>\n    <td><b>Freshbooks</b></td>\n    <td>Expense&nbsp;categories</td>\n    <td>Line item</td>\n  </tr>\n  <tr>\n    <td><b>MYOB</b></td>\n    <td>Categories</td>\n    <td>Transaction</td>\n  </tr>\n  <tr>\n    <td rowspan=4><b>Netsuite</b></td>\n    <td>Classes</td>\n    <td>Line item</td>\n  </tr>\n  <tr>\n    <td>Locations</td>\n    <td>Line item</td>\n  </tr>\n  <tr>\n    <td>Departments</td>\n    <td>Line item</td>\n  </tr>\n  <tr>\n    <td>Custom&nbsp;segments</td>\n    <td>Line item</td>\n  </tr>\n  <tr>\n    <td rowspan=2><b>QuickBooks Desktop</b></td>\n    <td>Classes</td>\n    <td>Line item or transaction level</td>\n  </tr>\n  <tr>\n    <td>Locations</td>\n    <td>Transaction</td>\n  </tr>\n  <tr>\n    <td rowspan=2><b>QuickBooks Online</b></td>\n    <td>Classes</td>\n    <td>Line item or transaction level</td>\n  </tr>\n  <tr>\n    <td>Locations</td>\n    <td>Transaction</td>\n  </tr>\n  <tr>\n    <td rowspan=3><b>Sage 200</b></td>\n    <td>Cost&nbsp;centers</td>\n    <td>Line item</td>\n  </tr>\n  <tr>\n      <td>Departments</td>\n    <td>Line item</td>\n  </tr>\n  <tr>\n    <td>Analysis&nbsp;codes</td>\n    <td>Transaction</td>\n  </tr>\n  <tr>\n    <td rowspan=3><b>Sage 50</b></td>\n    <td>Departments</td>\n    <td>Line item</td>\n  </tr>\n  <tr>\n     <td>Costcodes</td>\n    <td>Line item</td>\n  </tr>\n  <tr>\n    <td>Projects</td>\n    <td>Line item</td>\n  </tr>\n  <tr>\n    <td><b>Sage Intacct</b></td>\n    <td>Dimensions</td>\n    <td>Line item</td>\n  </tr>\n  <tr>\n    <td><b>Xero</b></td>\n    <td>Tracking&nbsp;categories</td>\n    <td>Line item</td>\n  </tr>\n</tbody>\n</table>\n\n> **Example use case**\n>\n> Monitor the budget for your annual conference using a tracking category called 'AnnualConference2020' with the **type** set to **Costing**.\n\nIf a tracking category has a parent category, the ID of that parent category is displayed. There is also a `hasChildren` field that shows whether there are child subcategories nested beneath. ",
  "type": "object",
  "allOf": [
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The identifier for the item, unique per tracking category.",
          "nullable": true
        },
        "name": {
          "type": "string",
          "description": "The name of the tracking category.",
          "nullable": true
        },
        "status": {
          "$ref": "#/components/schemas/AccountingTrackingCategory/definitions/status"
        },
        "parentId": {
          "type": "string",
          "description": "The identifier for this item's immediate parent.",
          "nullable": true
        },
        "hasChildren": {
          "type": "boolean",
          "description": "Boolean value indicating whether this category has SubCategories."
        },
        "metadata": {
          "$ref": "#/components/schemas/Metadata"
        }
      }
    },
    {
      "$ref": "#/components/schemas/CommerceOrder/allOf/3"
    }
  ],
  "definitions": {
    "trackingCategoryRef": {
      "required": [
        "id"
      ],
      "type": "object",
      "description": "References a category against which the item is tracked.",
      "deprecated": true,
      "properties": {
        "id": {
          "minLength": 1,
          "type": "string",
          "description": "Unique identifier to the tracking category."
        },
        "name": {
          "type": "string",
          "nullable": true,
          "description": "Name of tracking category."
        }
      }
    },
    "status": {
      "title": "Tracking category status",
      "type": "string",
      "description": "Current state of the tracking category.",
      "enum": [
        "Unknown",
        "Active",
        "Archived"
      ]
    }
  },
  "examples": [
    {
      "id": "string",
      "name": "string",
      "status": "Unknown",
      "parentId": "string",
      "hasChildren": true,
      "modifiedDate": "2022-10-23T00:00:00Z",
      "sourceModifiedDate": "2022-10-23T00:00:00Z"
    }
  ]
}