Saltar al contenido
Velora

Velora Blog

ARCA/AFIP para desarrolladores

Guías técnicas verificadas sobre errores de WSFEv1, WSAA y CAEA. Cada artículo incluye causa raíz, solución paso a paso y fuentes primarias de ARCA.

  1. ¿Qué es el error 10016 de ARCA y cómo resolverlo?

    El error 10016 de WSFEv1 ("El número o fecha del comprobante no se corresponde con el próximo a autorizar") ocurre porque ARCA exige numeración estrictamente secuencial. La solución es llamar a FECompUltimoAutorizado inmediatamente antes de emitir, tomar ese número, sumarle 1, y usar esa fecha o una posterior.

    12 de junio de 2026
  2. ¿Por qué ARCA me da error 600 y cómo lo soluciono?

    El error 600 ("ValidaciónDeToken: No validó la firma digital") aparece cuando el Token de Acceso pedido a WSAA en homologación se usa contra el endpoint de producción, o viceversa. La solución es asegurarse de que el ambiente del WSAA, el certificado y el endpoint de WSFEv1 sean los tres del mismo entorno.

    12 de junio de 2026
  3. ¿Cómo emitir una factura C de monotributista desde Node.js con ARCA?

    Un monotributista usa WSFEv1 con CbteTipo = 11 (Factura C). El punto de venta debe ser de tipo "Factura Electrónica – WebService". No se incluye ningún objeto IVA (error 10071 si se incluye). El flujo es: autenticar con WSAA → getLastVoucher(ptoVta, 11) → createVoucher sin IVA → guardar CAE retornado.

    12 de junio de 2026
  4. ¿Cómo funciona el Access Ticket de WSAA y por qué vence a las 12 horas?

    WSAA emite un Ticket de Acceso (TA) con token + sign válido por 12 horas. Cada TA es específico para un CUIT + servicio (WSFEv1, WSFEXv1, etc.). La implementación correcta es cachear el TA en disco/DB, verificar si sigue vigente antes de cada llamada al webservice de negocio, y renovarlo solo cuando expira.

    12 de junio de 2026
  5. ¿Por qué el certificado de homologación no funciona en producción (y viceversa)?

    ARCA emite certificados separados para testing y producción. Usar el certificado de homologación contra el endpoint de producción genera errores como el 600 o ns1:cms.cert.untrusted. El certificado además debe estar explícitamente vinculado al servicio WSFEv1 en la plataforma de ARCA.

    12 de junio de 2026
  6. ¿Qué es el error 10242 "CondicionIVAReceptor obligatorio" y cómo se resuelve?

    El error 10242 dispara en dos situaciones: campo ausente ("El campo Condicion IVA receptor es obligatorio") o valor inválido ("El campo Condicion IVA receptor no es un valor valido"). Ambas son consecuencia de la RG 5616/2024, vigente desde abril 2025. Para Factura B a consumidor final se usa el valor 5; para Responsable Monotributo 6; para RI 1.

    12 de junio de 2026
  7. ¿Cómo manejar la contingencia de ARCA? ¿Qué pasa cuando el servidor cae?

    Desde junio 2026 (RG 5782/2025), el CAEA (Código de Autorización Electrónico Anticipado) es el mecanismo oficial de contingencia cuando ARCA no responde. Se solicita una vez por quincena, se usa para emitir offline, y se informa a ARCA dentro de los 8 días corridos posteriores al cierre de la quincena.

    12 de junio de 2026
  8. ¿Cuál es la diferencia entre Factura A, B y C en ARCA? ¿Cómo determina el sistema cuál emitir?

    El tipo de factura depende de la condición fiscal del emisor y del receptor. Responsable Inscripto → RI: Factura A (IVA discriminado). RI → Consumidor Final o Monotributista: Factura B. Monotributista o Exento → cualquier receptor: Factura C. ARCA define el tipo mediante el código CbteTipo en WSFEv1.

    12 de junio de 2026
  9. ¿Cómo configurar el punto de venta en ARCA para facturación electrónica por WebService?

    El punto de venta debe darse de alta en ARCA con el tipo correcto: "RECE para aplicativo WebService" para Responsables Inscriptos, "Factura Electrónica – WebService" para Monotributistas. Usar el tipo incorrecto genera el error 10005 ("El punto de venta informado debe estar dado de alta y ser del tipo RECE").

    12 de junio de 2026
  10. ¿Cómo manejar la idempotencia en WSFEv1? ¿Qué pasa si el request se corta a mitad?

    WSFEv1 NO tiene idempotencia nativa. Si el request de FECAESolicitar se corta, no se sabe si ARCA procesó el comprobante. La solución es usar FECompConsultar(PtoVta, CbteTipo, CbteNro) antes de reintentar: si ya existe con CAE, la emisión fue exitosa; si no existe, reintentar con el mismo número.

    12 de junio de 2026
  11. ¿Cómo validar un CUIT en vivo contra ARCA desde código?

    ARCA expone el Web Service de Padrón (ws_sr_padron_a13) que valida un CUIT, retorna razón social, condición IVA, domicilio fiscal y estado de actividad. Para validar solo el dígito verificador alcanza con el algoritmo módulo 11, sin llamada al WS. El WS de padrón tiene throttling agresivo: cachear con TTL de 24 horas mínimo.

    12 de junio de 2026
  12. ¿Qué cambió en ARCA respecto de AFIP para los desarrolladores? ¿Hay que migrar endpoints?

    El cambio de AFIP a ARCA (Decreto 953/2024) afecta principalmente dominios web y branding, pero los endpoints de producción de WSFEv1 siguen siendo servicios1.afip.gov.ar. Los cambios críticos para devs son normativos: RG 5616 agrega CondicionIVAReceptorId y RG 5782 limita el CAEA a contingencia.

    12 de junio de 2026
  13. ¿Cómo emitir una FCE (Factura de Crédito Electrónica MiPyMEs) y qué errores son típicos?

    La FCE requiere: DocTipo = 80 (CUIT obligatorio, no DNI), solo 1 comprobante por request (error 10003), fecha dentro del rango N-5 a N+1, y es obligatorio informar CBU o alias del receptor. Los CbteTipo son 201 (FCE A), 206 (FCE B) y 211 (FCE C).

    12 de junio de 2026
  14. ¿Por qué ARCA dice que mi CUIT no está autorizado a emitir comprobantes (error 10000)?

    El error 10000 ("La CUIT informada no se encuentra autorizada a emitir comprobantes") aparece cuando el CUIT no está habilitado en ARCA. Causas: CUIT inactivo, sin actividad dada de alta, deuda impositiva que traba la emisión tipo A, o el servicio WSFEv1 no fue vinculado al certificado.

    12 de junio de 2026
  15. ¿Cómo sincronizar el reloj del servidor para evitar errores de timestamp en WSAA?

    WSAA valida que el timestamp del TRA esté dentro de un rango razonable del tiempo del servidor de ARCA. Un servidor con reloj desincronizado genera errores de autenticación. La solución es usar NTP sincronizando contra time.afip.gov.ar, el servidor oficial de tiempo de ARCA.

    12 de junio de 2026
  16. ¿Qué uso para emitir factura electrónica en Argentina desde Node.js: afip.js, pyafipws o AfipSDK?

    Las tres opciones existen y funcionan, pero apuntan a perfiles distintos. AfipSDK es una API REST que abstrae SOAP, WSAA y CAE — integración en minutos desde cualquier lenguaje, incluyendo n8n y Make. afip.js expone WSFE directamente en Node.js. pyafipws es la solución Python más completa y madura para proyectos propios.

    12 de junio de 2026
  17. ¿Cómo valido un CUIT/CUIL en Node.js o Python? (algoritmo módulo 11)

    El CUIT tiene 11 dígitos: el verificador (posición 11) se calcula multiplicando los primeros 10 dígitos por los pesos [5,4,3,2,7,6,5,4,3,2], sumando, aplicando módulo 11 y restando de 11. Si el resultado es 11 el verificador es 0; si es 10 el CUIT es inválido. CUIT y CUIL comparten el mismo algoritmo.

    12 de junio de 2026
  18. ¿Qué significan los status y status_detail de MercadoPago y cómo los manejo en mi backend?

    Un pago en MercadoPago tiene 5 estados: approved, pending, in_process, rejected, cancelled. El campo status_detail da el motivo específico. cc_rejected_insufficient_amount viene del banco (fondos); cc_rejected_high_risk es bloqueo antifraude de MP. Cada caso requiere una acción diferente en el backend.

    12 de junio de 2026
  19. ¿Cómo verifico la firma de un webhook de MercadoPago (x-signature)?

    MercadoPago firma sus webhooks con HMAC-SHA256 en el header x-signature. El formato es ts=<timestamp>,v1=<hash>. Hay que construir el manifest id:<data.id>;request-id:<x-request-id>;ts:<ts>; y compararlo con el hash usando tu secret de webhook. Tenés 22 segundos para responder 200.

    12 de junio de 2026
  20. ¿Cuál es la diferencia entre QR estático y QR dinámico de MercadoPago para punto de venta?

    QR estático es un código fijo reutilizable — el cliente ingresa el monto manualmente. QR dinámico es único por transacción — el POS envía la orden a MP vía API y se genera un QR de un solo uso. El modelo híbrido combina ambos para tener log automático de cada transacción.

    12 de junio de 2026
  21. ¿Cómo configuro el sandbox de MercadoPago y por qué mis credenciales de prueba no funcionan en producción?

    Sandbox y producción en MercadoPago son entornos completamente separados con credenciales distintas: Public Key y Access Token de prueba solo funcionan en modo test. Si ponés credenciales de producción en modo test o vice versa, la API devuelve error. Nunca mezcles los pares.

    12 de junio de 2026
  22. ¿Cómo concilio pagos de MercadoPago con mi sistema contable vía API?

    MercadoPago ofrece reportes vía API: Todas las Transacciones (cada movimiento), Liquidaciones (dinero acreditado disponible), y Ventas con Split (marketplaces). Podés configurar generación automática y entrega a un SFTP. No es necesario exportar manualmente desde el panel.

    12 de junio de 2026
  23. ¿Cómo creo un link de pago con MercadoPago desde Node.js o curl?

    Un link de pago en MercadoPago se crea como una preferencia vía POST a https://api.mercadopago.com/checkout/preferences. La respuesta incluye init_point (producción) y sandbox_init_point (pruebas). Solo necesitás tu Access Token.

    12 de junio de 2026
  24. ¿Cómo valido un CBU o CVU en Argentina? ¿Cuál es el algoritmo?

    El CBU tiene 22 dígitos en dos bloques con dígitos verificadores calculados con suma ponderada módulo 10. El CVU también tiene 22 dígitos y siempre empieza con prefijo 0000053. CBU y CVU son intercambiables para transferencias desde el punto de vista del usuario.

    12 de junio de 2026
  25. ¿Cómo funciona el token de WSAA de ARCA y cómo lo cacheo correctamente?

    El WSAA emite un Token de Acceso (TA) válido 12 horas para un servicio específico. Para obtenerlo: firmás un TRA (XML) con tu certificado privado y lo mandás al endpoint SOAP de WSAA. El TA tiene generationTime y expirationTime. Cachealo en disco o DB, no lo pidas en cada request.

    12 de junio de 2026
  26. ¿Cómo doy de alta un punto de venta para Web Services en ARCA (ex AFIP)?

    El alta se hace desde el portal de ARCA con clave fiscal nivel 3: Administración de puntos de venta y domicilios → A/B/M de puntos de venta → Agregar. El número de PdV es de 4-5 dígitos. Hay que elegir el sistema Factura electrónica web services para integraciones programáticas.

    12 de junio de 2026
  27. ¿Cómo delego el acceso a los Web Services de ARCA a un tercero (desarrollador o estudio contable)?

    El titular del CUIT debe ir a ARCA → Administrador de Relaciones → Nueva Relación → seleccionar el servicio (ej. wsfe). Pone el CUIT del representante (el dev o estudio) y confirma. El representante ingresa con SU clave fiscal y acepta la designación. Hasta que no acepte, no tiene acceso.

    12 de junio de 2026
  28. ¿AfipSDK o TusFacturasAPP? ¿Cuándo conviene cada uno para facturar en Argentina?

    AfipSDK es una API REST con SDKs para 10+ lenguajes y nodos oficiales para n8n/Make — ideal para software factories, SaaS y agentes AI. TusFacturasAPP tiene respaldo contable y soporte más cercano a estudios y PYMEs. AfipSDK tiene plan free hasta 1k requests; TusFacturasAPP es paid desde el inicio.

    12 de junio de 2026
  29. ¿Cómo formato un monto en pesos argentinos (ARS) correctamente para mostrar al usuario?

    En Argentina el separador decimal es la coma y el separador de miles es el punto: $1.234.567,89 es el formato estándar. En JavaScript: new Intl.NumberFormat('es-AR', { style: 'currency', currency: 'ARS' }).format(monto) genera el formato correcto automáticamente.

    12 de junio de 2026
  30. ¿Cuál es la diferencia entre homologación y producción en los Web Services de ARCA?

    Homologación (testing) y producción son entornos completamente separados con endpoints distintos, certificados distintos y CUITs de prueba. En homologación podés emitir facturas de prueba sin consecuencias fiscales. Los CAE de homologación NO son válidos fiscalmente.

    12 de junio de 2026
  31. WSAA error "Firma inválida o algoritmo no soportado" (cms.sign.invalid) desde Node.js

    AFIP rechaza el login con faultcode ns1:cms.sign.invalid cuando el CMS/PKCS#7 está firmado DETACHED. El WSAA exige firma ATTACHED (contenido embebido, SHA-256). Con node-forge, setear p7.content antes de llamar p7.sign() — nunca pasar {detached:true}. Eso resuelve el error completamente.

    12 de junio de 2026
  32. "dh key too small" al conectar con AFIP WSFE desde Node 18+ / OpenSSL 3

    Node 18+ usa OpenSSL 3 con SECLEVEL 1 por defecto, que rechaza claves Diffie-Hellman menores a 1024 bits. servicios1.afip.gov.ar usa una clave DH débil → EPROTO write EPROTO tls_process_ske_dhe:dh key too small. Fix: agregar @SECLEVEL=0 al cipher string o bajar minDHSize.

    12 de junio de 2026
  33. Error 11002 ARCA: "El punto de venta no se encuentra habilitado" en WSFEv1

    Error 11002 significa que el punto de venta no existe en ARCA como tipo "Web Services". Hay que darlo de alta en fes.afip.gob.ar: A/B/M de Puntos de Venta → Agregar → Sistema = Factura Electrónica Web Services (para Monotributo) o la variante RI equivalente. Sin eso, FECAESolicitar siempre rechaza.

    12 de junio de 2026
  34. Error 10245 ARCA: CondicionIVAReceptor obligatorio desde RG 5616 (01/09/2026)

    ARCA observación 10245 advierte que CondicionIvaReceptorId será obligatorio a partir del 01/09/2026 (RG 5616). Hoy es opcional; desde esa fecha FECAESolicitar rechaza si falta. Valores principales: 1=Responsable Inscripto, 4=Exento, 5=Consumidor Final, 6=Monotributo. Hay que agregar el campo al payload.

    12 de junio de 2026
  35. afip.ts vs @afipsdk/afip.js — ¿cuál usar para facturar AFIP desde Node.js?

    La diferencia clave es la arquitectura: @afipsdk/afip.js es una SDK que usa afipsdk.com como intermediario SaaS (tus facturas pasan por sus servidores). afip.ts (ralcorta/arcasdk) es self-hosted — firma y llama directamente a los endpoints SOAP de ARCA sin pasar por terceros. Para fiscal de producción sin dependencia externa, afip.ts/arcasdk es la opción.

    12 de junio de 2026