Appearance
Exportación SICORE - Retenciones de Ganancias
Módulo: Compras → CtaCte Tipo: Feature / Process Estado: ✅ Implementado Normativa: RG AFIP 2233/2007 (SICORE) + RG AFIP 5423/2023 (Código 119) Última actualización: 2026-03-27
Descripción
SICORE (Sistema de Control de Retenciones) es el sistema de ARCA para que los agentes de retención declaren e informen las retenciones practicadas. El sistema Bautista, como agente de retención de Ganancias, debe generar los archivos de importación para SICORE en el formato estándar Versión 9.0.
La exportación genera dos archivos de texto de posición fija comprimidos en un ZIP, que se importan en la aplicación SICORE de ARCA:
| Archivo | Descripción | Formato de referencia |
|---|---|---|
retenciones.txt | Detalle de cada retención practicada | sicore-retenciones-formato.pdf |
sujetos_retenidos.txt | Datos de los proveedores retenidos | sicore-sujeto-retenido-formato.pdf |
Formatos SICORE v9.0
Archivo 1: Retenciones (retenciones.txt)
Registro de ancho fijo de 145 posiciones por línea.
| Pos. Desde | Pos. Hasta | Long. | Tipo | Campo |
|---|---|---|---|---|
| 1 | 2 | 2 | Entero | Código de comprobante |
| 3 | 12 | 10 | Fecha DD/MM/AAAA | Fecha de emisión del comprobante |
| 13 | 28 | 16 | Texto | Número del comprobante |
| 29 | 44 | 16 | Decimal | Importe del comprobante |
| 45 | 48 | 4 | Entero | Código de impuesto |
| 49 | 51 | 3 | Entero | Código de régimen |
| 52 | 52 | 1 | Entero | Código de operación |
| 53 | 66 | 14 | Decimal | Base de cálculo |
| 67 | 76 | 10 | Fecha DD/MM/AAAA | Fecha de emisión de la retención |
| 77 | 78 | 2 | Entero | Código de condición |
| 79 | 79 | 1 | Entero | Retención a sujetos suspendidos según |
| 80 | 93 | 14 | Decimal | Importe de la retención |
| 94 | 99 | 6 | Decimal | Porcentaje de exclusión |
| 100 | 109 | 10 | Fecha DD/MM/AAAA | Fecha publicación/fin de vigencia |
| 110 | 111 | 2 | Entero | Tipo de documento del retenido |
| 112 | 131 | 20 | Texto | Número de documento del retenido |
| 132 | 145 | 14 | Entero | Número certificado original |
Archivo 2: Sujetos Retenidos (sujetos_retenidos.txt)
Registro de ancho fijo de 83 posiciones por línea.
| Pos. Desde | Pos. Hasta | Long. | Tipo | Campo |
|---|---|---|---|---|
| 1 | 11 | 11 | Texto | Número de documento del retenido |
| 12 | 31 | 20 | Texto | Razón social |
| 32 | 51 | 20 | Texto | Domicilio fiscal |
| 52 | 71 | 20 | Texto | Localidad |
| 72 | 73 | 2 | Entero | Provincia |
| 74 | 81 | 8 | Texto | Código postal |
| 82 | 83 | 2 | Entero | Tipo de documento del retenido |
Mapeo de Datos del Sistema → SICORE
Archivo Retenciones
| Campo SICORE | Fuente en Bautista | Valor / Regla |
|---|---|---|
| Código de comprobante | Fijo | 06 = Orden de pago (código ARCA fijo para retenciones de ganancias) |
| Fecha emisión comprobante | ordcte.fecha de la orden de pago | Fecha de la orden de pago (DD/MM/AAAA) |
| Número del comprobante | empres.nrosuc (4 dígitos) + ordcte.nrocomp (8 dígitos) | Sin separador, 16 chars: XXXXXXXXXXXX — sucursal con ceros izquierda (4) + nro orden con ceros izquierda (8) |
| Importe del comprobante | ordcte.debe de la orden de pago | Importe total de la orden de pago, decimal 16 chars |
| Código de impuesto | Fijo | 0217 = Impuesto a las Ganancias |
| Código de régimen | congan.codgan | 119 para RG 5423/2023 |
| Código de operación | Fijo | 1 = Retención |
| Base de cálculo | ⚠️ Pendiente P-10 | Ver datos-faltantes.md |
| Fecha emisión retención | ordcte.fecha | Fecha de la orden de pago (DD/MM/AAAA) |
| Código de condición | cpdprov.insgana | 01=Inscripto ('S'), 02=No Inscripto ('N') |
| Ret. a sujetos suspendidos | Fijo | 0 |
| Importe de la retención | Monto del movimiento en ordcte (detgan.id_mov_ret) | Decimal 14 chars |
| Porcentaje de exclusión | Fijo | 000000 |
| Fecha publicación/fin vigencia | Fijo | 10 espacios |
| Tipo de documento del retenido | cpdprov.ccui (prefijo) | Dinámico: 86 si prefijo 20/23/24/27 (CUIL), 80 en cualquier otro caso (CUIT) |
| Número de documento del retenido | cpdprov.ccui | CUIT sin guiones, tipo Texto: alineado izquierda con espacios, 20 chars. Ej: 20-12345678-9 → 20123456789 |
| Número certificado original | detgan.numret | Entero 14 chars, ceros izquierda |
Archivo Sujetos Retenidos
| Campo SICORE | Fuente en Bautista | Regla |
|---|---|---|
| Número de documento del retenido | cpdprov.ccui | CUIT sin guiones, 11 chars |
| Razón social | cpdprov.cnom | Truncar/rellenar a 20 chars |
| Domicilio fiscal | cpdprov.cdom1 | Truncar/rellenar a 20 chars |
| Localidad | localidades.nombre via cpdprov.id_localidad → localidades.id_loc | Truncar/rellenar a 20 chars — ⚠️ cpdprov.cloc es legacy vacío |
| Provincia | provincia.codigo_arca via localidades.id_prov → provincia.cpro | 2 chars |
| Código postal | localidades.cod_post via cpdprov.id_localidad → localidades.id_loc | 8 chars — ⚠️ cpdprov.cpos es legacy vacío |
| Tipo de documento del retenido | cpdprov.ccui (prefijo) | Dinámico: 86 si prefijo 20/23/24/27 (CUIL), 80 en cualquier otro caso (CUIT) |
Tablas Involucradas
detgan → Una línea en retenciones.txt por cada registro
├── codgan → congan → Código de régimen ARCA (ej: 119)
├── id_orden → ordcte → Fecha de la retención, código proveedor (zf)
└── id_mov_ret → ordcte → Monto de la retención
ordcte_subdicom (N:M) → Vincula ordcte ↔ subdicom (usada en LATERAL por proveedor)
└── id_subdicom → subdicom → Número, fecha, imptot, tipcom del comprobante
subdicom
└── tipcom → comprob → Código ARCA del tipo de comprobante
comprob → Tipos de comprobante
├── id → ID interno del sistema
├── codigo → Código ARCA (usado en el TXT)
└── tipo = 'D' → Filtra comprobantes de Débito (Facturas, ND) en el LATERAL
cpdprov → Una línea en sujetos_retenidos.txt por proveedor único
├── insgana → Inscripto (01) o No Inscripto (02)
└── id_localidad → localidades → Localidad y código postal del proveedor
├── nombre → campo localidad (NOT cpdprov.cloc — legacy vacío)
├── cod_post → código postal (NOT cpdprov.cpos — legacy vacío)
└── id_prov → provincia → código_arca de la provincia
empres → CUIT del agente de retención (para nombre ZIP)
acugan → Acumulados mensuales (contexto del período)Filtros de la Exportación
| Filtro | Descripción | Obligatorio |
|---|---|---|
| Período (Mes/Año) | Mes y año de las retenciones (fecha de ordcte) | Sí |
La exportación siempre consolida todas las sucursales — no existe selector de modo ni filtro por sucursal. El backend itera todos los schemas con tabla
detgany genera un único ZIP con los datos de todas las sucursales. El modo Prueba no aplica a esta exportación (retenciones son siempre datos reales declarados ante ARCA).
Integración en el Sistema
Ubicación en Menú
Compras
└── Utilidades
├── Exportación Libro IVA Digital (ya existe, id=6011)
└── Exportación SICORE Retenciones ← NUEVAPermiso Propuesto
php
['id' => 6023, 'codigo' => 'COMPRAS_UTILS_EXP-SICORE',
'nombre' => 'Exportación SICORE Retenciones',
'descripcion' => 'Generación de archivos SICORE para informar retenciones de ganancias a ARCA',
'nivel' => 3, 'id_padre' => 6004]El permiso tiene
id_padre=6004(confirmado enPermisos.php).
Guard de Módulos
Solo disponible cuando están habilitados:
isComprasEnabled()—modulo_comprasisCtaCteEnabled()—modulo_ctacteisTesoreriaEnabled()—modulo_tesoreria
Implementación
Ver documento detallado: ./exportacion-sicore-process.md
Ver especificación técnica del formato: ./sicore-formato-tecnico.md
El ítem del sidebar no tiene href — abre un modal React (SicoreRetencionesForm) directamente desde ComprasSidebarApp.tsx vía customHandler['sicore-compras'].
Referencias Normativas
- RG AFIP 2233/2007: Creación y uso del sistema SICORE
- RG AFIP 5423/2023: Código de régimen 119, Ganancias
- Formato SICORE v9.0: PDFs en esta carpeta
Sistema Bautista ERP - Módulo Compras