Tax Templates · Schema

Tax Document

A structured template for organizing tax documents, financial disclosures, and supporting schedules used in tax filing workflows.

DocumentationFinanceTaxTemplatesCompliance

Properties

Name Type Description
document_type string Type of tax document
tax_year integer Tax year this document covers
issuer object
recipient object
amounts object Financial amounts reported on this document
boxes array Named box/line items on the form
dates object Relevant dates
corrections object Correction information if this is an amended document
metadata object
View JSON Schema on GitHub

JSON Schema

tax-document-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/tax-templates/schemas/tax-document",
  "title": "Tax Document",
  "description": "A structured template for organizing tax documents, financial disclosures, and supporting schedules used in tax filing workflows.",
  "type": "object",
  "required": ["document_type", "tax_year"],
  "properties": {
    "document_type": {
      "type": "string",
      "description": "Type of tax document",
      "enum": [
        "W-2", "1099-NEC", "1099-MISC", "1099-INT", "1099-DIV", "1099-B",
        "1098", "1098-T", "K-1", "Schedule-A", "Schedule-B", "Schedule-C",
        "Schedule-D", "Schedule-E", "Schedule-SE", "FATCA-8938", "FBAR",
        "corporate-return", "partnership-return", "trust-return"
      ]
    },
    "tax_year": {
      "type": "integer",
      "description": "Tax year this document covers",
      "minimum": 2000,
      "maximum": 2100
    },
    "issuer": {
      "$ref": "#/$defs/Entity"
    },
    "recipient": {
      "$ref": "#/$defs/Entity"
    },
    "amounts": {
      "type": "object",
      "description": "Financial amounts reported on this document",
      "additionalProperties": {
        "type": "number",
        "description": "Box or line item amount"
      }
    },
    "boxes": {
      "type": "array",
      "description": "Named box/line items on the form",
      "items": {
        "$ref": "#/$defs/FormBox"
      }
    },
    "dates": {
      "type": "object",
      "description": "Relevant dates",
      "properties": {
        "issue_date": {"type": "string", "format": "date"},
        "period_start": {"type": "string", "format": "date"},
        "period_end": {"type": "string", "format": "date"},
        "due_date": {"type": "string", "format": "date"}
      }
    },
    "corrections": {
      "type": "object",
      "description": "Correction information if this is an amended document",
      "properties": {
        "is_corrected": {"type": "boolean"},
        "original_document_id": {"type": "string"},
        "correction_reason": {"type": "string"}
      }
    },
    "metadata": {
      "type": "object",
      "properties": {
        "document_id": {"type": "string", "description": "Unique document identifier"},
        "created_at": {"type": "string", "format": "date-time"},
        "source_system": {"type": "string", "description": "System that generated this document"},
        "verified": {"type": "boolean", "description": "Whether amounts have been verified"}
      }
    }
  },
  "$defs": {
    "Entity": {
      "type": "object",
      "description": "An entity (person or organization) associated with the tax document",
      "required": ["name"],
      "properties": {
        "name": {"type": "string", "description": "Legal name"},
        "tin": {"type": "string", "description": "Taxpayer identification number"},
        "tin_type": {
          "type": "string",
          "enum": ["SSN", "EIN", "ITIN", "GIIN"],
          "description": "TIN type"
        },
        "address": {
          "type": "object",
          "properties": {
            "street": {"type": "string"},
            "city": {"type": "string"},
            "state": {"type": "string"},
            "zip": {"type": "string"},
            "country": {"type": "string", "default": "US"}
          }
        },
        "account_number": {"type": "string", "description": "Account number if applicable"}
      }
    },
    "FormBox": {
      "type": "object",
      "description": "A numbered box or line item on a tax form",
      "required": ["box_number", "label"],
      "properties": {
        "box_number": {"type": "string", "description": "Box or line number (e.g., '1', '2a', '12a')"},
        "label": {"type": "string", "description": "Description of the box"},
        "amount": {"type": "number", "description": "Dollar amount"},
        "code": {"type": "string", "description": "Code if applicable (e.g., W-2 Box 12 codes)"},
        "notes": {"type": "string", "description": "Additional notes"}
      }
    }
  }
}