Repository navigation
Homologacion fiscal
El workflow manual Homologación ARCA permite consultar servicios autorizados
y emitir una factura de prueba WSFE. Requiere main y la aprobación del entorno
homologacion. Todos los clientes de esta suite usan exclusivamente homologación;
el escenario de emisión rechaza un contexto de producción antes de resolver clientes.
Seleccionar mode=consultas, con services=wsfe. Se verifican catálogos, condiciones
IVA, capacidad de solicitudes y puntos de venta. El resumen de Actions muestra los
números de los puntos de venta y si son CAE o están bloqueados; no publica CUIT,
certificados, Token/Sign, CAE ni XML.
Para consultar la numeración, completar además point_of_sale y voucher_type:
6 para factura B o 11 para factura C. El resumen indica el último autorizado y
el siguiente candidato. Esa lectura no reserva un número: antes de emitir se vuelve
a comprobar la serie. Utilizar un punto de venta de pruebas dedicado y evitar otras
aplicaciones que emitan concurrentemente en la misma serie.
El selector services también admite estas consultas, separadas por comas y sin
espacios. Se necesita autorización del certificado para cada servicio:
| Selector | Consulta |
|---|---|
wsfex |
Monedas de exportación |
wsmtxca |
Monedas de facturación con detalle |
wscdc |
Modalidades de constatación |
wsfecred |
Tipos de retenciones |
padron-a4, padron-a5, padron-a10, padron-a13
|
Tres casos públicos: CUIT física, caso publicado como CUIL que hoy devuelve CUIT, y CUIT jurídica |
La ruta A5 corresponde a Constancia de inscripción. No se omiten fallos de permiso ni respuestas funcionalmente inválidas: la ejecución falla. Las consultas no crean autorizaciones WSASS ni conceden acceso a otros servicios. WSCPE conserva pruebas públicas Dummy; su escenario autenticado de negocio queda pendiente de datos y permisos.
La suite conserva tres casos representativos del listado público oficial de A4, consultado el 6 de octubre de 2026:
| Identificador público | Tipo de persona | Tipo de clave |
|---|---|---|
20188192514 |
FISICA |
CUIT |
20188027963 |
FISICA |
CUIT (publicado en el grupo CUIL) |
30202020204 |
JURIDICA |
CUIT |
Se mantienen en tests/NetArcaWs.IntegrationTests/PadronTestCases.cs, exclusivamente
para homologación. No se consulta la CUIT representada como dato de prueba ni se
usa ARCA_QUERY_CUIT. La autenticación continúa usando los secretos del entorno
protegido. Los datos públicos no conceden acceso a los servicios.
El catálogo oficial enlaza ese listado solo para A4. No encontramos un listado equivalente para Constancia, A10 o A13. El 6 de octubre de 2026 los tres casos seleccionados pasaron las doce consultas locales autenticadas (cuatro servicios), reutilizando tickets privados y aplicando el mismo validador de la suite: identidad, tipos, datos mínimos y ausencia de errores funcionales. Esto valida esos casos, no una base compartida.
La CUIT física anterior producía un error del servidor al calcular el identificador
AT en A4/Constancia. Se reemplazó por otra identidad del mismo listado. Los diez
identificadores publicados como CUIL no proporcionaron una respuesta CUIL válida
al contrastarlos: las respuestas obtenidas indicaron CUIT; hubo además un caso
inactivo en A13. Se conserva la procedencia mediante PublishedKeyType y la etiqueta
listado CUIL, pero el tipo esperado es el realmente observado, CUIT.
La cobertura autenticada de una respuesta CUIL sigue pendiente. Las pruebas
sintéticas mantienen la aceptación de CUIL y el rechazo de discrepancias de tipo;
no se flexibilizó el validador ni se modificaron los clientes SOAP. Una ejecución
verde de esta matriz no debe presentarse como validación real de CUIL.
Cada respuesta debe contener datos y coincidir exactamente en identificador,
tipoPersona y tipoClave. No se infiere el tipo por el prefijo del número.
Si un caso falla, se prueban los siguientes casos y padrones seleccionados; al final
la suite falla si hubo cualquier error. No se omiten casos inexistentes ni se
transforman errores SOAP en resultados aprobados. El resumen informa servicio,
categoría y resultado, sin nombres, domicilios, XML ni mensajes remotos.
Los fallos incluyen una categoría fija para distinguir la causa sin publicar el contenido de la respuesta:
| Categoría | Significado |
|---|---|
AlreadyAuthenticated |
WSAA rechazó un nuevo login con ese código (con o sin prefijo XML válido); no se recuperó el ticket anterior |
Authentication |
Otro error SOAP de WSAA |
PersonNotFound |
El padrón devolvió el mensaje conocido de persona inexistente |
SoapFault |
Otro error SOAP del servicio; no se interpreta como persona inexistente |
Transport, Timeout
|
Fallo HTTP/conectividad o tiempo agotado |
InvalidResponse |
XML o respuesta incompatibles con el contrato |
MissingPerson |
Falta el nodo de persona o datos generales |
FunctionalError |
Constancia devolvió errores funcionales |
InvalidPersonData |
La persona carece de los datos mínimos exigidos |
IdentityMismatch |
El identificador devuelto difiere del solicitado |
PersonTypeMismatch, KeyTypeMismatch
|
Difiere el tipo de persona o de clave esperado |
Unexpected |
Fallo no clasificado; requiere investigación adicional |
Solo se emiten estas etiquetas controladas; no se imprimen códigos o mensajes arbitrarios del servidor ni valores recibidos. Una categoría señala la primera comprobación fallida, no prueba que el resto de los campos sea correcto. La cancelación solicitada detiene la suite y no se confunde con un timeout.
Esta matriz cubre getPersona; no acredita las demás operaciones ni reglas de cada
padrón. Las comprobaciones locales usan respuestas sintéticas; la disponibilidad
real de estos casos se registra por ejecución en la issue de homologación.
Seleccionar mode=emision, services=wsfe, point_of_sale, voucher_type y
voucher_number. Los tres valores fiscales deben ser explícitos. El workflow no
elige automáticamente el siguiente número en cada ejecución.
El escenario usa una factura de bienes a consumidor final sin identificación individual (documento 99/0), condición IVA 5 y fecha argentina del día. Importe total: $121 PES, cotización 1. Para B: neto 100 e IVA 21, alícuota 5. Para C: neto 121, IVA cero y sin renglones de IVA. El tipo debe estar habilitado para la CUIT de homologación; no se intenta cambiar su condición tributaria.
El flujo verifica punto de venta activo y CAE, errores de ARCA y última numeración.
Si el número ya existe, exige coincidencia con los datos del escenario y comprueba
su autorización; no vuelve a emitir. Si no existe, solo admite el número inmediato
al último autorizado, solicita el CAE una vez con SafeInvoiceService y consulta
el comprobante para confirmar identidad, importes, IVA, fecha, moneda y código.
Si hay un resultado incierto, intenta reconciliar mediante consulta, sin repetir automáticamente la autorización. Una discrepancia, rechazo o incertidumbre restante hace fallar el ensayo. No cambiar de número para sortear una ejecución fallida: consultar primero la identidad enviada. La coincidencia de una factura existente se informa como tal, no como una nueva emisión. Un reintento en otro día no coincide con la fecha del escenario y se detiene.
El diario SQLite se crea en una carpeta temporal privada y se elimina al terminar. Sirve para comprobar persistencia y reconciliación dentro del ensayo; no es un diario durable entre ejecuciones de Actions. No se sube como artefacto ni se publica la respuesta fiscal. La numeración explícita y la consulta remota protegen los reintentos manuales; la concurrencia del workflow no coordina otros consumidores.
El ticket WSAA se reutiliza dentro del mismo proceso. No se conserva entre runs:
si WSAA responde coe.alreadyAuthenticated, respetar su período de retención
antes de solicitar otro. El manual WSAA, sección 10.6, indica 10 minutos en testing
y 2 en producción, modificables por ARCA sin aviso. Esto es distinto del vencimiento
del TA: si se conserva, reutilizarlo hasta su expirationTime. No usar
cachés públicos ni artefactos para transferir tickets.
Las pruebas offline simulan autorización, rechazo, errores y resultados inciertos. Solo una ejecución protegida exitosa aporta evidencia del circuito contra ARCA. Este escenario no cubre CAEA, exportación, FCE, notas de crédito, lotes, servicios ni todas las reglas fiscales. El alcance efectivamente ejecutado se registra en la issue de homologación.
Referencia de diseño: manual oficial WSFEv1 4.7, publicado en el catálogo de facturación ARCA.