Libreria FEARCA_lib

Documentacion en la que encontraras el paso a paso para implementar la libreria FEARCA_lib.

Simplificando la vida de los desarrolladores de Visual FoxPro.

WSFEV1

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