## id
doc_liquidacio_iva

## nom
Liquidació d'IVA (Model 303) — comportaments i casos concrets

## descripcio
Consulta aquest document quan calgui explicar amb precisió com funciona per dins la liquidació
d'IVA, què fa exactament "Guardar" abans de presentar-la, com es presenta de veritat a l'AEAT, o
casos concrets com per què s'ha pogut crear dues liquidacions pel mateix trimestre. No és
l'explicació general, que cobreix `flux_liquidacio_iva`.

## contingut
### Què s'inclou en escanejar un període

En triar l'any i el període (o un rang de dates), l'aplicació busca totes les línies fiscals d'IVA
de factures **ja validades** dins d'aquell rang **que encara no formin part de cap altra
liquidació**. Un cop una factura ha quedat inclosa en una liquidació ja desada, no torna a
aparèixer en escanejar un altre període — així s'evita que la mateixa factura es liquidi dues
vegades.

### "Guardar" ja genera l'assentament comptable — no cal cap pas de "finalitzar" a part

És un dels comportaments més importants a tenir clar: **no hi ha cap botó separat de "finalitzar" o
"tancar" la liquidació**. En el moment mateix de prémer "Guardar" —encara que només sigui per
desar-la com a esborrany i revisar-la més tard, sense haver-la presentat— FiskAppCloud ja
**genera l'assentament comptable complet** (IVA suportat, IVA repercutit, i la línia d'Hisenda
Pública pel resultat net). Si es torna a obrir la liquidació i es torna a desar, l'assentament es
recalcula i se substitueix pel nou resultat.

Això vol dir que **desar una liquidació "per veure com queda" ja té efecte comptable real**, no és
un simple esborrany invisible per a la comptabilitat. Si es descobreix un error abans de presentar,
cal eliminar la liquidació (vegeu més avall) i tornar-la a fer, no simplement "no presentar-la" i
prou.

### Com es presenta de veritat a l'AEAT

El Model 303 és l'únic, entre els que gestiona aquesta pantalla i la de Liquidacions IRPF, que es
pot **presentar directament des de FiskAppCloud**, sense sortir de l'aplicació:

1. **Validar**: es contacta amb el servei de validació de l'AEAT (l'anomenat "ValiDos"), que retorna
   avisos si en detecta, i un esborrany del PDF de la declaració. Aquest pas també comprova que
   l'empresa tingui un certificat digital vigent (no caducat) — si no, no deixa continuar.
2. **Enviar**: es fa la presentació real, autenticada amb el certificat digital de l'empresa. La
   resposta de l'AEAT (justificant, codi de verificació segur —CSV—, PDF) queda desada a la
   liquidació a l'acte.
3. Alternativament, si la declaració s'ha presentat per un altre mitjà (per exemple, directament a
   la seu electrònica de l'AEAT), es pot **importar el fitxer de resposta** que retorna l'AEAT
   perquè FiskAppCloud quedi igualment sincronitzada amb el resultat real.

També hi ha una opció per consultar directament a l'AEAT quines declaracions ja s'han presentat.

### Eliminar una liquidació: reversible, però amb salvaguardes si ja és "crítica"

Es pot eliminar sempre — desfà l'assentament comptable, allibera totes les factures perquè
tornin a estar disponibles per a una liquidació futura, i esborra els fitxers (PDF/justificant)
associats.

**Si la liquidació ja està bloquejada o ja s'ha presentat** (és a dir, és "crítica"), eliminar-la
exigeix dues coses addicionals: escriure un motiu de com a mínim 10 caràcters, i tornar a introduir
la contrasenya del propi usuari. Totes dues dades, junt amb qui i quan ho ha fet, queden
registrades en un registre d'auditoria intern encadenat (cada entrada porta un resum criptogràfic
de l'anterior), pensat perquè no es pugui alterar ni esborrar amb posterioritat.

### Protecció contra presentar dues vegades el mateix trimestre

Quan es crea una liquidació **nova** i es tria l'Any o el Període, l'aplicació consulta en directe
l'AEAT (no la seva pròpia base de dades) per veure si ja hi ha una declaració presentada per aquell
mateix Exercici+Període — **fins i tot si es va presentar per un altre camí, fora de
FiskAppCloud**. Si en troba una, mostra la data, el CSV i el justificant de la que ja hi ha, amaga
el botó de presentar i el de generar el fitxer, i indica que cal fer una liquidació rectificativa.
**Aquesta mateixa comprovació es torna a repetir al servidor, just abans d'enviar la declaració de
veritat** — així que encara que s'arribi a l'enviament sense haver passat abans per la pantalla
normal (per exemple, per una finestra de temps entre triar el període i prémer "Presentar"), queda
igualment blocat en aquell últim instant.

Val la pena saber que **l'AEAT en si mateixa tampoc admet mai una declaració duplicada** — sempre
exigeix que la segona sigui una rectificativa. La comprovació de FiskAppCloud, doncs, no evita cap
risc real de doble presentació (l'AEAT ja ho impedeix pel seu compte); el que aconsegueix és evitar
fer una trucada real i autenticada (amb el certificat digital de l'empresa) que ja se sap per
endavant que fallarà, i mostrar un missatge clar en comptes d'un error cru de l'AEAT.

**El que aquesta comprovació no cobreix, i és intencionat**: no impedeix crear o desar liquidacions
**locals sense presentar** pel mateix període. Això és necessari perquè hi ha un cas d'ús legítim:
si una declaració ja es va presentar fora de FiskAppCloud, l'única manera de deixar-ne constància
aquí és desant-la manualment (amb "Guardar sense enviar") o important el fitxer de resposta real de
l'AEAT (`ImportarModel303`) — cap de les dues coses hauria de quedar bloquejada només perquè
l'AEAT ja en tingui una de registrada. El risc residual (menor) és que algú creï, per error i sense
cap intenció de reconciliar res, dos esborranys normals pel mateix període — i com que cada
"Guardar" ja genera assentament comptable, això sí que podria arribar a generar assentaments
duplicats o contradictoris si no es netegen a temps.

### Compensacions d'exercicis anteriors

Si el trimestre anterior no té cap liquidació de Model 303 ja feta a FiskAppCloud, l'aplicació no
pot recuperar-ne automàticament l'import a compensar pendent — ho avisa explícitament en aquest
cas, en lloc de donar un resultat silenciosament incomplet.
