Skip to content

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:

ArchivoDescripciónFormato de referencia
retenciones.txtDetalle de cada retención practicadasicore-retenciones-formato.pdf
sujetos_retenidos.txtDatos de los proveedores retenidossicore-sujeto-retenido-formato.pdf

Formatos SICORE v9.0

Archivo 1: Retenciones (retenciones.txt)

Registro de ancho fijo de 145 posiciones por línea.

Pos. DesdePos. HastaLong.TipoCampo
122EnteroCódigo de comprobante
31210Fecha DD/MM/AAAAFecha de emisión del comprobante
132816TextoNúmero del comprobante
294416DecimalImporte del comprobante
45484EnteroCódigo de impuesto
49513EnteroCódigo de régimen
52521EnteroCódigo de operación
536614DecimalBase de cálculo
677610Fecha DD/MM/AAAAFecha de emisión de la retención
77782EnteroCódigo de condición
79791EnteroRetención a sujetos suspendidos según
809314DecimalImporte de la retención
94996DecimalPorcentaje de exclusión
10010910Fecha DD/MM/AAAAFecha publicación/fin de vigencia
1101112EnteroTipo de documento del retenido
11213120TextoNúmero de documento del retenido
13214514EnteroNúmero certificado original

Archivo 2: Sujetos Retenidos (sujetos_retenidos.txt)

Registro de ancho fijo de 83 posiciones por línea.

Pos. DesdePos. HastaLong.TipoCampo
11111TextoNúmero de documento del retenido
123120TextoRazón social
325120TextoDomicilio fiscal
527120TextoLocalidad
72732EnteroProvincia
74818TextoCódigo postal
82832EnteroTipo de documento del retenido

Mapeo de Datos del Sistema → SICORE

Archivo Retenciones

Campo SICOREFuente en BautistaValor / Regla
Código de comprobanteFijo06 = Orden de pago (código ARCA fijo para retenciones de ganancias)
Fecha emisión comprobanteordcte.fecha de la orden de pagoFecha de la orden de pago (DD/MM/AAAA)
Número del comprobanteempres.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 comprobanteordcte.debe de la orden de pagoImporte total de la orden de pago, decimal 16 chars
Código de impuestoFijo0217 = Impuesto a las Ganancias
Código de régimencongan.codgan119 para RG 5423/2023
Código de operaciónFijo1 = Retención
Base de cálculo⚠️ Pendiente P-10Ver datos-faltantes.md
Fecha emisión retenciónordcte.fechaFecha de la orden de pago (DD/MM/AAAA)
Código de condicióncpdprov.insgana01=Inscripto ('S'), 02=No Inscripto ('N')
Ret. a sujetos suspendidosFijo0
Importe de la retenciónMonto del movimiento en ordcte (detgan.id_mov_ret)Decimal 14 chars
Porcentaje de exclusiónFijo000000
Fecha publicación/fin vigenciaFijo10 espacios
Tipo de documento del retenidocpdprov.ccui (prefijo)Dinámico: 86 si prefijo 20/23/24/27 (CUIL), 80 en cualquier otro caso (CUIT)
Número de documento del retenidocpdprov.ccuiCUIT sin guiones, tipo Texto: alineado izquierda con espacios, 20 chars. Ej: 20-12345678-920123456789
Número certificado originaldetgan.numretEntero 14 chars, ceros izquierda

Archivo Sujetos Retenidos

Campo SICOREFuente en BautistaRegla
Número de documento del retenidocpdprov.ccuiCUIT sin guiones, 11 chars
Razón socialcpdprov.cnomTruncar/rellenar a 20 chars
Domicilio fiscalcpdprov.cdom1Truncar/rellenar a 20 chars
Localidadlocalidades.nombre via cpdprov.id_localidad → localidades.id_locTruncar/rellenar a 20 chars — ⚠️ cpdprov.cloc es legacy vacío
Provinciaprovincia.codigo_arca via localidades.id_prov → provincia.cpro2 chars
Código postallocalidades.cod_post via cpdprov.id_localidad → localidades.id_loc8 chars — ⚠️ cpdprov.cpos es legacy vacío
Tipo de documento del retenidocpdprov.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

FiltroDescripciónObligatorio
Período (Mes/Año)Mes y año de las retenciones (fecha de ordcte)

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 detgan y 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  ← NUEVA

Permiso 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 en Permisos.php).

Guard de Módulos

Solo disponible cuando están habilitados:

  • isComprasEnabled()modulo_compras
  • isCtaCteEnabled()modulo_ctacte
  • isTesoreriaEnabled()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