feat(cfdi): agrega C.P. receptor, regimen receptor, no_identificacion, tipo_relacion y CFDIs relacionados al visualizador

Backend:
- Migracion 044: codigo_postal_receptor VARCHAR(5) + indice
- sat-parser: extrae DomicilioFiscalReceptor
- sat.service: persiste codigo_postal_receptor en INSERT/UPDATE
- cfdi.service: incluye codigo_postal_receptor en CFDI_SELECT
- shared/types: codigoPostalReceptor en interfaz Cfdi

Frontend:
- cfdi-invoice: tarjeta receptor con C.P. y regimen (con descripciones)
- cfdi-invoice: seccion CFDI Relacionado (tipo + UUIDs)
- cfdi-invoice: columna No. Identificacion en tabla de conceptos
- cfdi-viewer-modal: mapea noIdentificacion desde DB y XML
This commit is contained in:
Horux Dev
2026-05-16 14:45:00 +00:00
parent 0bde43a309
commit bda0a4e212
8 changed files with 142 additions and 6 deletions

View File

@@ -61,6 +61,7 @@ interface CfdiParsed {
regimenFiscalEmisor: string | null;
regimenFiscalReceptor: string | null;
codigoPostalReceptor: string | null;
// CfdiRelacionados a nivel raíz del comprobante (CFDI 4.0).
// `cfdiTipoRelacion` — clave SAT (01..07). NULL si no hay relación.
// `cfdisRelacionados` — UUIDs pipe-separated.
@@ -541,6 +542,7 @@ export function parseXml(xmlContent: string, downloadType: 'emitidos' | 'recibid
pac: timbreData.pac,
regimenFiscalEmisor: emisor['@_RegimenFiscal'] || null,
regimenFiscalReceptor: receptor['@_RegimenFiscalReceptor'] || receptor['@_RegimenFiscal'] || null,
codigoPostalReceptor: receptor['@_DomicilioFiscalReceptor'] || null,
cfdiTipoRelacion: relacionesData.tipoRelacion,
cfdisRelacionados: relacionesData.uuids,
// Impuestos comprobante