{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/quickbooks/json-schema/quickbooks-termresponse-schema.json",
  "title": "termresponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/quickbooks-term-api-openapi.yml#/components/schemas/termresponse",
  "type": "object",
  "properties": {
    "SyncToken": {
      "type": "string",
      "description": "Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.",
      "x-intuit-required": "Required for update"
    },
    "DayOfMonthDue": {
      "type": "integer",
      "description": "Payment must be received by this day of the month. Used only if DueDays is not specified. Required if DueDays not present"
    },
    "Name": {
      "type": "string",
      "description": "User recognizable name for the term. For example, Net 30.",
      "x-intuit-required": "Required",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "DiscountDayOfMonth": {
      "type": "object",
      "x-intuit-type": "Positive Integer",
      "description": "Discount applies if paid before this day of month. Required if DueDays not present"
    },
    "DiscountPercent": {
      "type": "number",
      "description": "Discount percentage available against an amount if paid within the days specified by DiscountDays.",
      "x-intuit-required": "Optional"
    },
    "DiscountDays": {
      "type": "integer",
      "description": "Discount applies if paid within this number of days. Used only when DueDays is specified.",
      "x-intuit-required": "Optional"
    },
    "DueNextMonthDays": {
      "type": "object",
      "x-intuit-type": "Positive Integer",
      "description": "Payment due next month if issued that many days before the DayOfMonthDue. Required if DueDays not present."
    },
    "DueDays": {
      "type": "integer",
      "description": "Number of days from delivery of goods or services until the payment is due. Required if DayOfMonthDue not present"
    },
    "Active": {
      "type": "boolean",
      "description": "If true, this entity is currently enabled for use by QuickBooks.",
      "x-intuit-required": "Optional",
      "x-intuit-default": "true",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "Type": {
      "type": "string",
      "description": "Type of the Sales Term. Valid values:\nSTANDARD--Used if DueDays is not null.\nDATE_DRIVEN--Used if DueDays is null.",
      "x-intuit-required": "Optional"
    },
    "Id": {
      "type": "string",
      "description": "Unique identifier for this object.",
      "x-intuit-required": "Required for update",
      "x-intuit-filterable": true
    },
    "MetaData": {
      "allOf": [
        {
          "$ref": "#/$defs/modificationmetadata"
        }
      ],
      "description": "Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.",
      "x-intuit-required": "Optional"
    }
  },
  "required": [
    "Name"
  ],
  "$defs": {
    "modificationmetadata": {
      "type": "object",
      "title": "modificationmetadata",
      "properties": {
        "CreateTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time the entity was created in the source domain.",
          "x-intuit-filterable": true,
          "x-intuit-sortable": true
        },
        "LastUpdatedTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time the entity was last updated in the source domain.",
          "x-intuit-filterable": true,
          "x-intuit-sortable": true
        }
      }
    }
  }
}