2.3 KiB
2.3 KiB
Proforma Tax Config
Objetivo
Persistir la configuracion fiscal de cabecera de una proforma sin confundirla con los impuestos realmente calculados desde lineas valoradas.
Alcance
tax_regime_codesigue representando el regimen fiscal generaltax_configrepresenta los controles fiscales de cabecera usados por la UItaxessigue representando solo desglose fiscal materializadototalssigue representando solo importes calculados desde lineas valoradas
Campos persistidos en proformas
tax_modedefault_iva_codeuses_equivalence_surchargedefault_rec_codeuses_retentiondefault_retention_code
Contrato publico
GET /proformas/:id debe devolver:
{
tax_regime: {
code: string;
name: string;
description: string;
} | null;
tax_config: {
tax_mode: "single" | "per_line";
default_iva_code: string | null;
uses_equivalence_surcharge: boolean;
default_rec_code: string | null;
uses_retention: boolean;
default_retention_code: string | null;
};
}
POST /proformas y PATCH /proformas/:id pueden aceptar tax_config como bloque independiente de items.
Regla funcional
- una proforma puede existir con
items = [] - en ese caso
taxes = [] - en ese caso todos los totales monetarios deben quedar a
0 - la UI debe hidratar los controles de fiscalidad desde
tax_config, no desdetaxes
Resolucion de defaults en create
Los defaults del cliente solo se usan al crear la proforma y el resultado se persiste.
Fallback actual:
tax_mode:single- IVA por defecto:
iva_21 - recargo de equivalencia: desactivado salvo indicacion explicita
- retencion: desactivada salvo indicacion explicita
- codigo de retencion por defecto si
uses_retention = true:retention_15
Si el cliente cambia despues de crear la proforma:
- no se reconstruye
tax_configdesde el cliente actual - la proforma conserva su
tax_configpersistido
Regla de update
tax_config se actualiza de forma parcial y se mergea sobre la configuracion persistida actual.
No debe reconstruirse desde:
taxes- el cliente actual
- defaults implícitos de frontend
No incluido
- nueva tabla para configuracion fiscal
- recalculo fiscal fuera del flujo normal de lineas
- cambios de Verifacti
- cobros o vencimientos vivos
- rectificativas