Introducción
Interfaz que implementa el Web Service de Facturación Electrónica (WSFE) de ARCA, permitiendo la autorización de comprobantes fiscales A, B y C para el régimen general. Esta interfaz sigue las especificaciones técnicas detalladas en el manual "manual-wsfe-ARCA-COMPG-v4-0.pdf".
Nota: Este servicio no incluye el envío de detalles de artículos en los comprobantes.
Propiedades
Nombre | Tipo de dato | Descripción |
---|---|---|
ErrorCode | Integer | Código de error de la última operación: • ErrorCode = 0: Operación exitosa • ErrorCode = -1: Error local • ErrorCode > 0: Error de ARCA |
ErrorDesc | String | Descripción del error: • Si ErrorCode = 0, ErrorDesc = "" • Si ErrorCode > 0, contiene el mensaje de error de ARCA |
URL | String | URL del servicio de autenticación |
CUIT | Double | CUIT del emisor del comprobante |
XMLRequest | String | (no implementado) Contenido XML del mensaje enviado a ARCA |
XMLResponse | String | (no implementado) Contenido XML de la respuesta de ARCA |
SFLastCMP | Integer | Último comprobante autorizado, obtenido con SFRecuperaLastCMP |
SFCAE | String | CAE obtenido tras ejecutar Autorizar |
SFVencimiento | String | Fecha de vencimiento del CAE en formato AAAAMMDD |
SFResultado | String | Resultado de la autorización: A = APROBADO R = RECHAZADO P = PARCIAL El estado parcial aplica en autorizaciones de lotes |
SFCmpConsultarCAE | String | CAE obtenido con SFCmpConsultar |
SFCmpConsultarVencimiento | String | Vencimiento del CAE obtenido con SFCmpConsultar |
CmpConsultarCbte | Cbte | Objeto Cbte con la información del comprobante consultado |
Métodos
Cotización
Descripción: Obtiene la cotización de la moneda
Parámetros:
- MonId (String): Código de moneda
- Fch (String): Fecha de cotización (aaaammdd)
Resultado: Double
Ejemplo:
loWSFE.Cotizacion('PES', '20250315')
Login
Descripción: Autentica al usuario en el sistema de ARCA. (Opcional)
Parámetros:
- Certificado (String): Archivo certificado (.crt)
- ClavePrivada (String): Archivo de clave privada (.crt)
- URL (String): URL del servicio de autenticación
Resultado: Boolean
Ejemplo:
loWSFE.Login('certificado.crt', 'claveprivada.crt', 'https://authserver.arca.com.ar/wsfe/login')
AgregaFactura
Descripción: Configura los parámetros principales de un comprobante
Parámetros:
- Concepto (Integer): Tipo de concepto (1:productos, 2:servicios, 3:mixto, 4:otros)
- DocTipo (Integer): Tipo de documento del cliente
- DocNro (Integer): Número de documento
- Cbtedesde (Integer): Número inicial del comprobante
- Cbtehasta (Integer): Número final del comprobante
- CbteFch (String): Fecha del comprobante (aaaammdd)
- Imptotal (Double): Importe total
- ImpTotalConc (Double): Total no gravado
- ImpNeto (Double): Neto gravado
- ImpOpEx (Double): Monto exento
- FechaServDesde (String): Inicio del servicio (solo servicios)
- FechaServHasta (String): Fin del servicio (solo servicios)
- FechaVencPago (String): Vencimiento del pago (solo servicios)
- MonId (String): Código de moneda
- MonCotiz (Double): Cotización de la moneda
- CanMisMonExt (String): Si se cancela con la misma moneda del comprobante (S/N)
- CondicionDeIva (Integer): Condición de IVA del Receptor
Resultado: Boolean
Ejemplo:
loWSFE.AgregaFactura(1, 1, 1, 1, 1, '20250315', 100, 0, 100, 0, '', '', '', 'PES', 1, 'S', 0)
AgregaIVA
Descripción: Agrega detalles de IVA al comprobante
Parámetros:
- Id (Integer): Código de IVA
- BaseImp (Double): Base imponible
- Importe (Double): Monto de IVA (BaseImp * alicuota / 100)
Resultado: Boolean
Ejemplo:
loWSFE.AgregaIVA(1, 100, 21)
AgregaTributo
Descripción: Agrega detalles de otros tributos
Parámetros:
- Id (Integer): Código de tributo
- Desc (String): Descripción
- BaseImp (Double): Base imponible
- Alic (Double): Alicuota
- Importe (Double): Monto del tributo (BaseImp * Alic / 100)
Resultado: Boolean
Ejemplo:
loWSFE.AgregaTributo(1, 'Tributo de prueba', 100, 21, 21)
Autorizar
Descripción: Envía el comprobante a ARCA para su autorización
Parámetros:
- ptoVenta (Integer): Punto de Venta
- CbteTipo (Integer): Tipo de comprobante
Resultado: Boolean
Ejemplo:
loWSFE.Autorizar(1, 1)
RecuperaLastCMP
Descripción: Obtiene el último comprobante autorizado
Parámetros:
- PtoVta (Integer): Punto de Venta
- TipoComp (Integer): Tipo de comprobante
- cmp (Double): Número del último comprobante
Resultado: Boolean
Ejemplo:
loWSFE.RecuperaLastCMP(1, 1, 1)
AutorizarRespuesta
Descripción: Recupera la respuesta de una autorización
Parámetros:
- Indice (Integer): Índice del comprobante (0 si es único)
- CAE (String): Código de Autorización Electrónica
- Vencimiento (String): Vencimiento del CAE
- Resultado (String): A=APROBADO, R=RECHAZADO, C=APROBADO PARCIALMENTE
- Reproceso (String): S=SI, N=NO (indica si ya fue autorizado)
Resultado: Boolean
Ejemplo:
loWSFE.AutorizarRespuesta(0, '1234567890', '20250315', 'A', 'N')
Reset
Descripción: Reinicia las variables internas. Debe ejecutarse al inicio de cada proceso de autorización.
Resultado: Boolean
Ejemplo:
loWSFE.Reset()
CAEASolicitar
Descripción: Solicita un CAE Anticipado a ARCA
Parámetros:
- Periodo (String): Periodo del CAEA (aaaamm)
- Orden (String): Quincena 1 o 2
- CAE (String): CAE anticipado
- FchVigDesde (String): Inicio de vigencia (aaaammdd)
- FchVigHasta (String): Fin de vigencia (aaaammdd)
- FchTopeInf (String): Fecha límite para informar comprobantes
- FchProceso (String): Fecha de proceso (yyyymmddhhmiss)
Resultado: Boolean
Ejemplo:
loWSFE.CAEASolicitar('202503', '1', '1234567890', '20250315', '20250331', '20250315', '20250331')
AutorizarRespuestaObs
Descripción: Recupera observaciones del comprobante
Parámetros:
- Indice (Integer): Índice del comprobante en lote
Resultado: String
Ejemplo:
lcResult = loWSFE.AutorizarRespuestaObs(0)
? lcResult
CmpConsultar
Descripción: Consulta un comprobante autorizado
Parámetros:
- Tipo_cbte (Integer): Tipo de comprobante
- Punto_vta (Integer): Punto de venta
- cbt_nro (Double): Número de comprobante
- Cae (String): CAE
- Vencimiento (String): Vencimiento
Resultado: Boolean
Ejemplo:
IF loWSFE.CmpConsultar(1, 1, 1, '1234567890', '20250315')
? 'Comprobante consultado exitosamente'
ELSE
? 'Error al consultar el comprobante'
ENDIF
Dummy
Descripción: Verifica el estado de los servicios de ARCA
Parámetros:
- appserver (String): Estado del servicio de negocio
- authserver (Integer): Estado del servicio de autenticación
- dbserver (Double): Estado de la base de datos
Resultado: String
Ejemplo:
lcResult = loWSFE.Dummy()
? lcResult