{
  "$defs": {
    "Combo": {
      "description": "Combo represents the tax combination of a category code and rate key.",
      "properties": {
        "cat": {
          "$ref": "https://gobl.org/draft-0/cbc/code",
          "description": "Tax category code from those available inside a region.",
          "title": "Category"
        },
        "ext": {
          "$ref": "https://gobl.org/draft-0/tax/extensions",
          "description": "Local codes that apply for a given rate or percentage that need to be identified and validated.",
          "title": "Ext"
        },
        "percent": {
          "$ref": "https://gobl.org/draft-0/num/percentage",
          "calculated": true,
          "description": "Percent defines the percentage set manually or determined from the rate key (calculated if rate present).",
          "title": "Percent"
        },
        "rate": {
          "$ref": "https://gobl.org/draft-0/cbc/key",
          "description": "Rate within a category to apply.",
          "title": "Rate"
        },
        "surcharge": {
          "$ref": "https://gobl.org/draft-0/num/percentage",
          "calculated": true,
          "description": "Some countries require an additional surcharge (calculated if rate present).",
          "title": "Surcharge"
        }
      },
      "required": [
        "cat"
      ],
      "type": "object"
    },
    "Set": {
      "description": "Set defines a list of tax categories and their rates to be used alongside taxable items.",
      "items": {
        "$ref": "#/$defs/Combo"
      },
      "type": "array"
    }
  },
  "$id": "https://gobl.org/draft-0/tax/set",
  "$ref": "#/$defs/Set",
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}