Consulta el catàleg fiscal
Retorna, en un sol document, el coneixement fiscal espanyol que necessites per construir un formulari de facturació conforme: règims d'imposició indirecta (IVA, IGIC, IPSI) amb els seus tipus legals i el seu codi L1 de VeriFactu, règims d'operació a escala de capçalera amb la menció legal que exigeix cadascun, causes d'exempció amb el seu codi AEAT, la seva menció legal i el seu article de la Llei de l'IVA, els tipus de retenció d'IRPF del sistema i la matriu tancada de parells legals d'IVA/recàrrec d'equivalència. Substitueix la taula hardcodeada que tota integració acaba mantenint a mà.
El catàleg no porta cap dada de l'empresa autenticada: dues empreses diferents reben cossos idèntics byte a byte per al mateix idioma, i retention_rates mai no inclou els impostos personalitzats que una empresa crea amb POST /v1/taxes. Els tipus de retenció es publiquen en POSITIU, així que aplica'ls com una deducció sobre la base imposable.
Aquest és el catàleg del que la plataforma admet, NO una llista normativa exhaustiva de tots els règims, exempcions o tipus de retenció que defineix la llei espanyola. Fes-lo servir per saber què pots enviar a aquesta API; no el llegeixis com a assessorament fiscal ni com a substitut de la legislació.
Cada entrada porta la seva label (i, als dos blocs normatius, la seva description) en espanyol, anglès i català alhora. Accept-Language només tria l'idioma que s'informa a primary_language; mai no filtra el payload, així que amb un document desat a la memòria cau n'hi ha prou per pintar un selector multiidioma. La resposta es pot desar a la memòria cau: porta ETag i un Cache-Control públic, i retornar el validador a If-None-Match respon un 304 sense cos. Dos idiomes produeixen dos ETag diferents, perquè l'idioma negociat viatja dins del cos.
A: header
Paràmetres de capçalera
Fixa la versió de l'API (YYYY-MM-DD, versionat per data estil Stripe) per a aquesta petició; omet-lo per usar la versió fixada de la clau, o l'última si no n'hi ha cap. Versió no suportada → 400 unsupported_api_version; mal formada → 400 parameter_invalid_format. La versió efectiva es reflecteix a la capçalera de resposta Factuarea-Version. Consulta la guia de Versioning.
dateOpera en nom d'una empresa filla (API key mestra de gestoria): passa el seu id públic (UUID v7) i la petició s'executa contra les dades d'aquella filla sense canviar l'scope, el tier ni l'environment de la clau (omet-lo per usar la pròpia empresa de la clau). UUID no vàlid → 400 parameter_invalid_uuid; id desconegut o no propi → 404 profile_not_found. Consulta la guia d'Acting on behalf.
uuidCos de la resposta
application/json
application/json
application/json
application/json
application/json
import { Factuarea } from "@factuarea/sdk";const factuarea = new Factuarea({ apiKey: process.env.FACTUAREA_API_KEY! });const result = await factuarea.taxCatalog.show();{
"data": {
"primary_language": "es",
"indirect_tax_regimes": [
{
"code": "iva",
"aeat_code": "01",
"valid_rates": [
0,
4,
10,
21
],
"general_rate": 21,
"aeat_zones": [
"peninsula"
],
"label": {
"es": "IVA — Impuesto sobre el Valor Añadido (Península y Baleares)",
"en": "IVA — Spanish value added tax (mainland Spain and the Balearic Islands)",
"ca": "IVA — Impost sobre el Valor Afegit (Península i Balears)"
}
},
{
"code": "igic",
"aeat_code": "03",
"valid_rates": [
0,
3,
5,
7,
9.5,
15,
20
],
"general_rate": 7,
"aeat_zones": [
"canarias"
],
"label": {
"es": "IGIC — Impuesto General Indirecto Canario (Canarias)",
"en": "IGIC — Canary Islands general indirect tax (Canary Islands)",
"ca": "IGIC — Impost General Indirecte Canari (Canàries)"
}
}
],
"operation_regimes": [
{
"code": "general",
"legal_mention": null,
"requires_zero_vat": false,
"label": {
"es": "Régimen general",
"en": "General regime",
"ca": "Règim general"
},
"description": {
"es": "Operación interior ordinaria: se repercute IVA al tipo que corresponda y la factura no necesita ninguna mención legal adicional.",
"en": "Ordinary domestic transaction: VAT is charged at the applicable rate and the invoice needs no additional legal wording.",
"ca": "Operació interior ordinària: es repercuteix IVA al tipus que correspongui i la factura no necessita cap menció legal addicional."
}
},
{
"code": "intracomunitaria",
"legal_mention": "Operación intracomunitaria sujeta y exenta - Art. 25 LIVA",
"requires_zero_vat": true,
"label": {
"es": "Entrega intracomunitaria",
"en": "Intra-Community supply",
"ca": "Lliurament intracomunitari"
},
"description": {
"es": "Entrega a un cliente de otro Estado miembro de la Unión Europea con NIF-IVA válido: la operación está sujeta y exenta, se factura sin cuota de IVA y la factura debe recoger la mención del artículo 25 de la Ley 37/1992.",
"en": "Supply to a customer in another EU Member State holding a valid VAT number: the transaction is taxable but exempt, it is invoiced with no VAT amount, and the invoice must carry the reference to article 25 of the Spanish VAT Act (Ley 37/1992).",
"ca": "Lliurament a un client d'un altre Estat membre de la Unió Europea amb NIF-IVA vàlid: l'operació està subjecta i exempta, es factura sense quota d'IVA i la factura ha de recollir la menció de l'article 25 de la Llei 37/1992."
}
}
],
"exemption_causes": [
{
"code": "exenta_art_25",
"calificacion_operacion": null,
"causa_exencion": "E5",
"clave_regimen": null,
"legal_mention": "Operación intracomunitaria sujeta y exenta conforme al artículo 25 de la Ley 37/1992.",
"article": "Art. 25 LIVA",
"line_level": true,
"label": {
"es": "Exenta — artículo 25 LIVA (entrega intracomunitaria)",
"en": "Exempt — article 25 LIVA (intra-Community supply)",
"ca": "Exempta — article 25 LIVA (lliurament intracomunitari)"
},
"description": {
"es": "Entrega de bienes con destino a otro Estado miembro, sujeta y exenta por el artículo 25 de la Ley 37/1992. Se factura sin repercutir cuota y ante la AEAT se declara con la causa de exención E5.",
"en": "Supply of goods dispatched to another EU Member State, taxable but exempt under article 25 of the Spanish VAT Act (Ley 37/1992). It is invoiced with no VAT amount and reported to AEAT with exemption reason E5.",
"ca": "Lliurament de béns amb destinació a un altre Estat membre, subjecte i exempt per l'article 25 de la Llei 37/1992. Es factura sense repercutir quota i davant l'AEAT es declara amb la causa d'exempció E5."
}
},
{
"code": "regimen_recargo_equivalencia_art_154",
"calificacion_operacion": null,
"causa_exencion": null,
"clave_regimen": "51",
"legal_mention": "Operación acogida al régimen especial del recargo de equivalencia (artículo 154 de la Ley 37/1992).",
"article": "Art. 154 LIVA",
"line_level": false,
"label": {
"es": "Régimen especial del recargo de equivalencia — artículo 154 LIVA",
"en": "Recargo de equivalencia regime — article 154 LIVA",
"ca": "Règim especial del recàrrec d'equivalència — article 154 LIVA"
},
"description": {
"es": "Operación acogida al régimen especial del recargo de equivalencia (artículo 154 de la Ley 37/1992), obligatorio para el comercio minorista: el emisor repercute al minorista un recargo además del IVA. Ante la AEAT se declara con la clave de régimen 51.",
"en": "Transaction under the \"recargo de equivalencia\" regime (article 154 of the Spanish VAT Act, Ley 37/1992), compulsory for retailers: the issuer charges the retailer a surcharge on top of the VAT. It is reported to AEAT with special regime key 51.",
"ca": "Operació acollida al règim especial del recàrrec d'equivalència (article 154 de la Llei 37/1992), obligatori per al comerç minorista: l'emissor repercuteix al minorista un recàrrec a més de l'IVA. Davant l'AEAT es declara amb la clau de règim 51."
}
}
],
"retention_rates": [
{
"code": "IRPF_15",
"rate": 15,
"applies_to": "sale",
"label": {
"es": "IRPF del 15 % — actividades profesionales (el tipo más habitual)",
"en": "15% IRPF — professional activities (the most common rate)",
"ca": "IRPF del 15 % — activitats professionals (el tipus més habitual)"
}
},
{
"code": "IRPF_P_15",
"rate": 15,
"applies_to": "purchase",
"label": {
"es": "IRPF del 15 % practicado al proveedor — actividades profesionales",
"en": "15% IRPF withheld from the supplier — professional activities",
"ca": "IRPF del 15 % practicat al proveïdor — activitats professionals"
}
}
],
"equivalence_surcharge_pairs": [
{
"vat": 21,
"surcharge": 5.2,
"label": {
"es": "IVA del 21 % con recargo de equivalencia del 5,2 %",
"en": "21% VAT with a 5.2% recargo de equivalencia",
"ca": "IVA del 21 % amb recàrrec d'equivalència del 5,2 %"
}
},
{
"vat": 0,
"surcharge": 0,
"label": {
"es": "IVA del 0 % sin recargo de equivalencia",
"en": "0% VAT with no recargo de equivalencia",
"ca": "IVA del 0 % sense recàrrec d'equivalència"
}
}
]
}
}{
"error": {
"type": "authentication_error",
"code": "missing_api_key",
"message": "No se ha proporcionado una API key válida en el header Authorization.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#missing_api_key",
"request_id": "req_01HKQS5N8VR7QXJ9K3T6BWPMZA"
}
}{
"error": {
"type": "authorization_error",
"code": "insufficient_scope",
"message": "Esta API key no tiene el scope requerido para esta operación.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#insufficient_scope",
"request_id": "req_01HKQS5NBC3P8M1KX4V7SLNHQD"
}
}{
"error": {
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Has excedido el rate limit de 60 peticiones por minuto. Reintenta tras 30 segundos.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#rate_limit_exceeded",
"request_id": "req_01HKQS5NKW1C6W9T4G5H0JBZVL"
}
}{
"error": {
"type": "api_error",
"code": "internal_error",
"message": "Ha ocurrido un error inesperado. Si persiste, contacta con soporte adjuntando el request_id.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#internal_error",
"request_id": "req_01HKQS5NLX2D7X0U5H6J1KCAWM"
}
}