Declarar Fácil · Schema

HistoricalModeloInput

FinanceAccountingTaxAutomationArtificial Intelligence

Properties

Name Type Description
modelo string
year integer
quarter integer
sourceType string UPLOADED_FORM when read from a filed form, MANUAL_ENTRY when typed from the user's notes
casillas object Every box printed on the form, keyed by its printed two- or three-digit number ('01', '71', '110', '120'). Monetary amounts in EUR; rate boxes in percent. Omitted keys preserve existing values, null c
nif stringnull
apellidosNombre stringnull
numeroJustificante stringnull AEAT receipt number exactly as printed; does not itself mark a filing as verified
sourceDocumentUrl stringnull
filed boolean Explicit assertion that this source was filed with AEAT. Separate from internal verified status. Omitted means unknown.
datosExtraidos objectnull Original extraction retained for provenance; does not populate boxes automatically. Replay casillas explicitly to repair an earlier import.
period string 349 only: 1T..4T or 01..12. May use quarter for quarterly forms.
operacionesIntracomunitarias array
totalOperaciones integernull
importeTotalOperaciones numbernull
rectificaciones array
ivaDevengado numbernull Modelo 303: total IVA devengado (box 27)
ivaDeducible numbernull Modelo 303: total IVA deducible (box 45)
ivaResultado numbernull Modelo 303: result (box 71)
source_file stringnull
View JSON Schema on GitHub

JSON Schema

declararfacil-com-historical-modelo-input-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/declararfacil-com/json-schema/declararfacil-com-historical-modelo-input-schema.json",
  "title": "HistoricalModeloInput",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/declararfacil-com-openapi.json#/components/schemas/HistoricalModeloInput",
  "type": "object",
  "required": [
    "modelo",
    "year"
  ],
  "properties": {
    "modelo": {
      "type": "string",
      "enum": [
        "303",
        "130",
        "349"
      ]
    },
    "year": {
      "type": "integer"
    },
    "quarter": {
      "type": "integer",
      "minimum": 1,
      "maximum": 4
    },
    "sourceType": {
      "type": "string",
      "enum": [
        "UPLOADED_FORM",
        "MANUAL_ENTRY"
      ],
      "default": "UPLOADED_FORM",
      "description": "UPLOADED_FORM when read from a filed form, MANUAL_ENTRY when typed from the user's notes"
    },
    "casillas": {
      "type": "object",
      "description": "Every box printed on the form, keyed by its printed two- or three-digit number ('01', '71', '110', '120'). Monetary amounts in EUR; rate boxes in percent. Omitted keys preserve existing values, null clears, zero is stored. 130 boxes are cumulative. Aggregate aliases must agree with the same submitted box",
      "additionalProperties": {
        "type": [
          "number",
          "null"
        ]
      }
    },
    "nif": {
      "type": [
        "string",
        "null"
      ]
    },
    "apellidosNombre": {
      "type": [
        "string",
        "null"
      ]
    },
    "numeroJustificante": {
      "type": [
        "string",
        "null"
      ],
      "description": "AEAT receipt number exactly as printed; does not itself mark a filing as verified"
    },
    "sourceDocumentUrl": {
      "type": [
        "string",
        "null"
      ]
    },
    "filed": {
      "type": "boolean",
      "description": "Explicit assertion that this source was filed with AEAT. Separate from internal verified status. Omitted means unknown."
    },
    "datosExtraidos": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": true,
      "description": "Original extraction retained for provenance; does not populate boxes automatically. Replay casillas explicitly to repair an earlier import."
    },
    "period": {
      "type": "string",
      "description": "349 only: 1T..4T or 01..12. May use quarter for quarterly forms."
    },
    "operacionesIntracomunitarias": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "pais",
          "vatIdEU",
          "nombreOperador",
          "clave",
          "baseImponible"
        ],
        "properties": {
          "pais": {
            "type": "string"
          },
          "vatIdEU": {
            "type": "string"
          },
          "nombreOperador": {
            "type": "string"
          },
          "clave": {
            "type": "string"
          },
          "baseImponible": {
            "type": "number"
          },
          "rectificaciones": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        }
      }
    },
    "totalOperaciones": {
      "type": [
        "integer",
        "null"
      ]
    },
    "importeTotalOperaciones": {
      "type": [
        "number",
        "null"
      ]
    },
    "rectificaciones": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "ivaDevengado": {
      "type": [
        "number",
        "null"
      ],
      "description": "Modelo 303: total IVA devengado (box 27)"
    },
    "ivaDeducible": {
      "type": [
        "number",
        "null"
      ],
      "description": "Modelo 303: total IVA deducible (box 45)"
    },
    "ivaResultado": {
      "type": [
        "number",
        "null"
      ],
      "description": "Modelo 303: result (box 71)"
    },
    "source_file": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/declararfacil-com-historical-modelo-input"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.