Modelo 303 IVA
Exportar contenido
Calcula automaticamente el Modelo 303 (declaracion trimestral de IVA) con datos de facturas emitidas y recibidas.
- Accede a la pestana “IVA” en Informes.
- Sub-pestana: “Modelo 303 (IVA)”.
- Selecciona el ano y trimestre especifico (Q1, Q2, Q3, Q4).
- Revisa las casillas calculadas automaticamente.
- Descarga el informe en PDF o Excel para presentacion.
Casillas del Modelo 303
Sección titulada «Casillas del Modelo 303»Seccion 1: IVA Devengado (Ventas)
| Casilla | Descripcion | Calculo |
|---|---|---|
| [01] | Base imponible al 21% | SUM(facturas emitidas con IVA 21%) |
| [02] | Cuota al 21% | Base [01] × 0.21 |
| [03] | Base imponible al 10% | SUM(facturas emitidas con IVA 10%) |
| [04] | Cuota al 10% | Base [03] × 0.10 |
| [05] | Base imponible al 4% | SUM(facturas emitidas con IVA 4%) |
| [06] | Cuota al 4% | Base [05] × 0.04 |
| [07] | Base imponible operaciones exentas | SUM(facturas con IVA 0%) |
Seccion 2: IVA Deducible (Compras)
| Casilla | Descripcion | Calculo |
|---|---|---|
| [28] | Base imponible gastos 21% | SUM(gastos con IVA 21%) |
| [29] | Cuota deducible 21% | Base [28] × 0.21 |
| [30] | Base imponible gastos 10% | SUM(gastos con IVA 10%) |
| [31] | Cuota deducible 10% | Base [30] × 0.10 |
Seccion 3: Resultado
| Casilla | Descripcion | Calculo |
|---|---|---|
| [46] | Total IVA devengado | [02] + [04] + [06] |
| [47] | Total IVA deducible | [29] + [31] |
| [69] | RESULTADO | [46] - [47] |
ALERTA: Resultado positivo = a ingresar. Resultado negativo = a compensar/devolver.
Detalles tecnicos — Modelo 303 IVA
Sección titulada «Detalles tecnicos — Modelo 303 IVA»Detalles técnicos
Componente: src/features/accounting/sub-modules/reporting/components/vat/VATReport.tsx
Calculo de bases por tipo de IVA:
const calculateVATBases = (invoices: Invoice[]) => { const bases = { iva_21: { base: 0, cuota: 0 }, iva_10: { base: 0, cuota: 0 }, iva_4: { base: 0, cuota: 0 }, iva_0: { base: 0, cuota: 0 }, };
invoices.forEach(inv => { if (inv.tax_rate === 21) { bases.iva_21.base += inv.subtotal; bases.iva_21.cuota += inv.tax_amount; } else if (inv.tax_rate === 10) { bases.iva_10.base += inv.subtotal; bases.iva_10.cuota += inv.tax_amount; } else if (inv.tax_rate === 4) { bases.iva_4.base += inv.subtotal; bases.iva_4.cuota += inv.tax_amount; } else { bases.iva_0.base += inv.subtotal; } });
return bases;};