Classificació fiscal i exempcions per línia
E1–E6 i N1–N2 per línia, la retenció d'IRPF que resta, i la matriu tancada de parells legals d'IVA i recàrrec d'equivalència — els quatre camps que decideixen què diu el desglossament que arriba a l'AEAT.
Una línia de factura porta més informació fiscal que un tipus impositiu. Quatre camps opcionals decideixen com es classifica l'operació, si es repercuteix IVA o no, i quant paga realment el destinatari:
| Camp | Què fa |
|---|---|
exemption_reason | Declara la línia exempta (E1–E6) o no subjecta (N1, N2). |
regime_key | Declara el règim especial — vegeu Claus de règim. |
retention_rate | Retenció d'IRPF, restada de l'import a pagar. |
surcharge_rate | Recàrrec d'equivalència, sumat — i només en combinacions aparellades legalment. |
Tots quatre són opcionals i additius. Una factura que els omet tots es comporta exactament igual que abans que existissin, huella inclosa.
Quan aplica
Declara una causa d'exempció quan l'operació estigui exempta o no subjecta segons la Llei de l'IVA. Declara retenció quan facturis com a professional o arrendis un local de negoci. Declara recàrrec quan el teu client sigui un minorista en règim de recàrrec d'equivalència.
La distinció entre les dues famílies de codis és legal, no cosmètica
(BR-INV-032):
| Família | Codis | Base a la LIVA | Desglossament AEAT |
|---|---|---|---|
| Exempta | E1 art. 20 · E2 art. 21 · E3 art. 22 · E4 arts. 23 i 24 · E5 art. 25 · E6 altres | L'operació sí que està subjecta a l'IVA, i exempta. | Declara un codi d'operació exempta. Sense quota d'IVA. |
| No subjecta | N1 arts. 7, 14 i altres · N2 regles de localització | L'operació queda fora de l'àmbit de l'impost. | Declara una qualificació de no subjecció. |
El catàleg no conté cap codi S a propòsit. «Subjecta i no exempta» és el
valor per defecte, no una causa seleccionable, i la inversió del subjecte
passiu es modela a la capçalera de la factura, no per línia. Com que el règim
de capçalera és de només lectura a la v1, la inversió del subjecte passiu no es
pot declarar per l'API pública — vegeu
Clients internacionals.
Què envia l'API
Exempció i no subjecció
lines[].exemption_reason a
POST /v1/invoices i
PUT /v1/invoices/{id}.
Un valor fora del catàleg de vuit codis respon 422 amb allowed_values.
curl -X POST https://api.factuarea.com/v1/invoices \
-H "Authorization: Bearer fact_live_3pXnR2VbY7TcA9eFmN5z8KqW" \
-H "Content-Type: application/json" \
-d '{
"client_id": "0197a2a8-4cf0-7a31-9a5e-3f2b8c1d6e42",
"series_id": "019e5584-7a72-7038-a8f6-561ed180b699",
"issued_on": "2026-06-01",
"due_on": "2026-07-01",
"lines": [
{ "description": "Exportación de maquinaria", "quantity": 1, "unit_price": 100, "tax_rate": 0, "exemption_reason": "E2" },
{ "description": "Servicio de instalación", "quantity": 1, "unit_price": 50, "tax_rate": 21 }
]
}'El desglossament de l'AEAT agrupa pel parell (tipus impositiu, causa d'exempció), així que una factura mixta produeix un grup per combinació i cada grup quadra pel seu compte. Les línies que comparteixen tots dos valors s'agreguen en un sol grup.
Una línia que omet el camp cau a la qualificació derivada de la capçalera de la factura. Com que una factura creada per la v1 té sempre el règim general de capçalera, aquest valor per defecte és «subjecta i no exempta» — i per això una línia exempta ho ha de dir de manera explícita.
La retenció d'IRPF resta
lines[].retention_rate és un percentatge de 0 a 100, opcionalment acompanyat de
lines[].retention_rate_id, una referència a una retenció del teu catàleg. La
fórmula canònica del total és:
total = subtotal + IVA − retenció + recàrrec d'equivalènciaLa retenció és diners que el client es queda i ingressa a l'Administració
tributària en nom del professional, així que redueix l'import a pagar
(BR-INV-033):
{
"lines": [
{ "description": "Servicios de consultoría", "quantity": 1, "unit_price": 1000, "tax_rate": 21, "retention_rate": 15 }
]
}Aquella línia factura 1000, repercuteix 210 d'IVA, reté 150, i el client paga 1060.
Si envies alhora retention_rate i retention_rate_id, han de coincidir. Una
discrepància és un 422 que anomena tots dos percentatges, en lloc d'una decisió
silenciosa sobre quin guanya.
Alguns tipus de retenció s'emmagatzemen amb signe negatiu — una convenció visual
heretada que significa «això es reté». El càlcul pren el valor absolut i la
resta està cablejada a la fórmula mateixa, així que el signe no canvia mai el
resultat (BR-TAX-008). El catàleg fiscal públic publica
sempre aquests tipus en positiu.
La matriu del recàrrec d'equivalència és tancada
lines[].surcharge_rate no és un número lliure. Tota línia amb recàrrec per
damunt de zero es valida contra l'aparellament legal amb el seu tipus d'IVA
(BR-INV-034):
| Tipus d'IVA | Recàrrec legal |
|---|---|
| 21 % | 5,2 % |
| 10 % | 1,4 % |
| 4 % | 0,5 % |
| 0 % | 0 % |
Una combinació il·legal —21 % d'IVA amb un recàrrec de l'1,4 %, per exemple—
respon 422 amb els parells legals a allowed_values. La comparació és per valor
arrodonit a dos decimals, així que 5.2 i 5.20 són el mateix parell.
Les operacions sota aquest règim solen portar a més regime_key: "18".
Què retorna cada línia
L'objecte línia de factura retorna tax_rate, retention_rate, surcharge_rate,
discount_percent, el subtotal calculat, taxes i total, més els camps
fiscals: regime_key, exemption_reason, indirect_tax_regime i
aeat_tax_code.
Els dos últims són un snapshot fiscal congelat, escrit en construir la línia
i mai recalculat (BR-TAX-023). Una factura emesa no canvia el
seu règim indirecte perquè l'empresa traslladi després el seu domicili fiscal, i
les línies històriques anteriors al snapshot es queden buides en lloc de
reomplir-se amb les dades d'avui.
D'on surten els valors per defecte
Quan omets un tipus, el resol una única cadena del backend compartida per totes
les superfícies —tauler, API pública, eines d'agent, importadors, factures
recurrents— en ordre estricte de prioritat (BR-TAX-025):
Valors per defecte del client. El client desa tipus, no referències, i cada tipus es resol a un impost concret filtrat pel règim indirecte de l'emissor: un 7 % per defecte d'un client en una empresa canària resol a IGIC al 7 %, no a un IVA peninsular.
Ajustos de l'empresa, inclosa la suggerència derivada de la zona AEAT de l'empresa.
El catàleg global.
La cadena és de millor esforç i no retorna mai cap error per un valor per
defecte irresoluble: degrada a l'esglaó següent. Si el client està marcat com a
subjecte al recàrrec d'equivalència i el tipus d'IVA resolt té un recàrrec
legalment vinculat, aquest recàrrec s'injecta als valors per defecte
(BR-TAX-022).
Consulta-la directament amb
GET /v1/taxes/defaults/{docType}
quan vulguis ensenyar als teus usuaris el que s'aplicarà abans que ho confirmin.
Què surt al PDF
Canvien dues coses al document imprès.
El bloc de totals reflecteix la fórmula de dalt: la retenció apareix com a
resta i el recàrrec d'equivalència com a suma, així que l'import a pagar difereix
de subtotal + IVA.
Les mencions legals. Quan la factura porta una causa d'exempció a nivell de
document, la seva frase legal —citant l'article de la LIVA— s'afegeix com a
primera menció legal de la factura (BR-TAX-024). Aquesta causa
és un camp de capçalera, un per factura, i és de només lectura per l'API
pública: l'objecte factura exposa exemption_reason i legal_mentions, però
cap operació de la v1 no els fixa. Una factura creada per la v1 no imprimeix, per
tant, cap frase automàtica d'exempció; posa el text a notes si el document ho
necessita.
El camp de línia exemption_reason_text (fins a 255 caràcters) existeix amb el
mateix propòsit a nivell de línia, i és només de presentació — no té cap efecte
fiscal.
Què arriba a l'AEAT
Una qualificació per grup de desglossament. Una línia que declara un codi E
produeix una entrada d'operació exempta amb aquest codi literal i sense quota
repercutida; una línia que declara un codi N produeix una qualificació de no
subjecció. Una línia que no declara res hereta la qualificació derivada de la
capçalera (BR-VFC-029).
La clau d'agrupació és el parell (tipus impositiu, causa d'exempció), que és el
que permet a una factura mixta passar la validació de l'AEAT: cada grup declara la
seva pròpia base, el seu propi tipus i la seva pròpia quota, i dins del grup es
compleix base × tipus = quota.
La retenció no apareix al desglossament VeriFactu — no és IVA. Es declara a les declaracions de retencions i redueix el total de la factura.
El recàrrec d'equivalència només es propaga a les línies subjectes i no exemptes; les línies exemptes no porten ni IVA ni recàrrec.
Traçabilitat
Derivat de les regles de domini del backend de Factuarea:
BR-INV-032— el catàleg tancatE1–E6/N1–N2, el valor derivat de la capçalera, l'agrupació per (tipus, causa) i la invariant de huella idèntica.BR-INV-033— la retenció d'IRPF per línia al contracte v1 i la comprovació de coherència entre el tipus i l'impost referenciat.BR-INV-034— la matriu legal tancada de parells d'IVA i recàrrec.BR-TAX-008— la retenció emmagatzemada amb signe però calculada en valor absolut.BR-TAX-022— el vincle legal d'un tipus d'IVA amb el seu recàrrec d'equivalència.BR-TAX-023— el snapshot fiscal immutable per línia.BR-TAX-024— la causa d'exempció a nivell de document i la menció legal automàtica.BR-TAX-025— la cadena client → empresa → catàleg global de valors fiscals per defecte.BR-VFC-029— com es deriva la qualificació quan la línia no declara cap causa.