Skip to main content

Proposals & Invoices · Article 5.2

Líneas, el motor de IVA y qué determina su tipo

Cada línea es `{descripción, cantidad, precio, tipo}`. Clozo calcula el subtotal neto y luego aplica una de siete reglas de IVA basadas en su régimen fiscal, el país del cliente y si el cliente es B2B o B2C.

La cuadrícula de líneas es donde escribe el trabajo y las matemáticas ocurren automáticamente. Cada fila contribuye a un único subtotal neto al final de la tabla. Por encima de ese subtotal, el motor de IVA representa una de siete reglas — tipo estándar nacional, inversión del sujeto pasivo, OSS, Kleinunternehmer (DE), KOR (NL), franquicia (ES), forfettario (IT), o «no registrado en el IVA» — y añade un único importe de IVA. El total bruto aparece debajo. Ese bruto es lo que debe el cliente; ese bruto fluye a las facturas de anticipo y final.

Step by step

  1. Añada una fila.

    Haga clic en + Añadir línea en el paso 3 del asistente. Escriba una descripción, establezca la cantidad (predeterminado 1), el precio y elija por hora o precio fijo en el menú desplegable de tipo.

  2. Repita según sea necesario.

    Arrastre las filas por el controlador de la izquierda para reordenarlas. El total se recalcula en tiempo real debajo.

  3. Confirme el bloque de IVA.

    Debajo del subtotal, verá el tipo y la regla (p. ej., 21% (nacional) o 0% (inversión del sujeto pasivo — B2B UE)). Si la regla parece incorrecta, el problema está en el origen: su régimen (/settings/profile) o el registro del cliente (/clients/{id}).

  4. Verifique el total bruto.

    La línea «Total (IVA incl.)» al final es lo que debe su cliente. Compruébela antes de hacer clic en el paso 4 del asistente.

Why this works this way

Por qué el IVA se aplica a nivel de propuesta, no por línea. El Art. 226 de la Directiva del IVA de la UE exige que cada factura revele el tipo utilizado y el importe del IVA por tipo. En la práctica del autónomo, todas las líneas de una sola factura suelen compartir un tipo (no vende bienes de tipo mixto como un supermercado). Clozo lo aplica: una propuesta, una regla de IVA, un tipo. Si genuinamente necesita tipos mixtos (p. ej., consultoría al 21% más regalías de ebook a tipo reducido en España), divida en dos propuestas.

Las siete reglas de IVA y cuándo se activa cada una (de apps/vat/engine.py:calculate_vat):

ReglaSe activa cuandoEfecto en el PDF
domesticMismo país que usted, B2B o B2CTipo nacional estándar (p. ej., 19% DE, 21% ES, 20% FR, 21% NL, 22% IT, 23% PL)
reverse_chargeCliente en otro país de la UE, B2B con NIF-IVA VIES válido0% IVA, nota legal añadida: «Inversión del sujeto pasivo — el IVA debe ser declarado por el destinatario» (traducida por localización)
ossCliente en otro país de la UE, B2C, usted se ha adherido al OSSTipo nacional del cliente (p. ej., empresa DE que factura a consumidor B2C francés = 20% tipo FR)
non_euCliente fuera de la UE0% IVA — exportación de servicios
not_registeredNo tiene un NIF-IVA en el archivo0%, sin nota de IVA (está por debajo del umbral o aún no se ha registrado)
kleinunternehmer (DE)Su régimen fiscal = kleinunternehmer0%, nota legal: «Gemäß § 19 UStG wird keine Umsatzsteuer berechnet (Kleinunternehmerregelung)»
kor (NL) / franquicia (ES) / forfettario (IT)El campo de régimen fiscal establecido en uno de estos0%, nota legal específica del régimen en el idioma local

Crítico: la trampa del doble IVA del §14c UStG. Si es un Kleinunternehmer alemán y accidentalmente imprime una línea de IVA en una factura (anulación manual, copiar y pegar de una plantilla), la ley fiscal alemana trata eso como un cargo vinculante — debe el IVA indicado al Finanzamt aunque no lo deba según el régimen. El motor de Clozo se niega a añadir una línea de IVA cuando el régimen es kleinunternehmer, por lo que esta trampa está cerrada por defecto. La misma lógica se aplica a NL KOR y ES franquicia.

Anulación manual (vat_rate_override): hay una salida de emergencia en el formulario de creación de propuesta — vat_rate_override acepta un entero de 0 a 27 para forzar un tipo. Úsela solo cuando el motor genuinamente no puede inferir correctamente (p. ej., un revendedor con régimen del margen). Cuando se establece, el vat_breakdown de la propuesta registra el indicador de anulación para auditoría; el PDF sigue cumpliendo con la normativa de la UE porque la nota legal se genera desde la anulación, no parafraseada.

Troubleshooting

Keep reading

Líneas, el motor de IVA y qué determina su tipo · Help · Clozo