CrearComprobanteConAdServe

Los campos obligatorios están resaltados en negrita.
Descripción

Crea un comprobante electrónico legal, lo envía al destinatario en caso de indicarlo, adjunto en formato PDF.
Dentro de los datos requeridos, se encuentran los del receptor del comprobante, también nombrado como “Cliente”. Además enviará el AdServer mediante Handit.

Funcionalidad interna
Alta Automática de Clientes:

Al recibir una petición para crear un comprobante, Facturante.com verifica si el Cliente ya existe.

  • En caso de no existir (se trata del primer comprobante que se quiere generar para dicho receptor) el sistema lo crea en el momento.
  • En caso de tratarse de un cliente existente, se actualizarán todos sus datos.

Los clientes son identificados unívocamente por el campo NroDocumento

IMPORTANTE: En caso que el cliente destino sea consumidor final, NO es requerido su documento real. Para esos casos, de no tener el DNI real, se sugiere utilizar el IDCliente del sistema propietario de la Empresa (suponiendo que este dato sea unívoco).
Autenticación

Dentro del objeto “request” se encuentra el objeto “Autenticacion” el cual contiene propiedades para el usuario, contraseña y empresa.

La validación del usuario se comprueba controlando la existencia del mismo, la contraseña utilizada y la coincidencia de la empresa reportada contra la empresa en la que figura el usuario en la base de datos de Facturante.com.

Validaciones
  • Los importes del comprobante deben ser adecuados sumando el total de la factura.
  • Items: el comprobante debe contener al menos un item.
  • HanditAdServeItem: Si en el request se incluyen HanditAdServeItems, la empresa debe estar configurada como 'Activa' y debe tener un ID de empresa para trabajar con HanditAdServe.
Nombre Campo Tipo Propósito
Parámetros de entrada
Autenticacion
Usuario nvarchar(400) Nombre del usuario
Hash varchar(50) Password
Empresa Int Identificador de la empresa a la que pertenece el usuario (Es brindado por LinkSide)
Datos cliente (TAG: Cliente)
CodigoPostal Nchar(10)  
CondicionPago nvarchar(50) Valores Posibles:
  • 1= Contado
  • 2= Cuenta Corriente
  • 3= Tarjeta de Debito
  • 4= Tarjeta de Credito
  • 5= Cheque
  • 6= Ticket
  • 7= Otro
  • 8= MercadoPago
  • 9= Cobro Digital
  • 10= DineroMail
  • 11= Decidir
  • 12= Todo Pago
Contacto nvarchar(2000) Nombre de la persona a contactar
DireccionFiscal nvarchar(250) Dirección fiscal
EnviarComprobante Boolean True: por defecto se envía el comprobante por email al cliente
Localidad nvarchar(50) Nombre de la localidad
MailContacto nvarchar(150) Dirección de mail de Contacto
MailFacturacion nvarchar(150) Dirección de mail de Facturación
NroDocumento Nvarchar(13) En caso que el cliente sea consumidor final. No se requiere el dni real (SUGERENCIA: como se necesita un dato univoco, se sugiere ingresar el IDCliente de su sistema para respetar esta constraint)
PercibeIIBB Boolean True: Si la empresa emisora es Agente de Retención de ARBA
PercibeIVA Boolean True: Si la empresa emisora es Agente de Retención de IVA
Provincia nvarchar(50) Nombre de la provincia
RazonSocial varchar(500) Nombre de la persona física o jurídica del cliente a emitir el comprobante(receptor del comprobante)
Telefono nvarchar(100) Teléfono de contacto
TipoDocumento varchar(50) Valores Posibles:
  • 1: DNI
  • 2: CDI
  • 3: LC
  • 4: LE
  • 5: Pasaporte
  • 6: CUIT
  • 7: CUIL
  • 9: CI Extranjera
  • 10: En trámite
  • 11: Acta nacimiento
  • 12: CI Bs. As. RNP
  • 13: Sin identificar/venta global diaria
  • 14: Certificado de Migración
  • 15: Usado por Anses para Padrón
TratamientoImpositivo nvarchar(50) Situación frente al IVA. Valores posibles:
  • 1: MONOTRIBUTISTA
  • 2: RESPONSABLE INSCRIPTO
  • 3: CONSUMIDOR FINAL
  • 4: IVA EXENTO
  • 5: IVA NO RESPONSABLE
  • 7: IVA NO ALCANZADO
Encabezado del Comprobante (TAG: Encabezado)
Bienes Bit Seleccione en función de los tipos de items que incluye el comprobante. Valores Posibles:
  • 1: Bienes
  • 2: Servicios
  • 3: Productos y Servicios.
Ej: si contiene 2 servicios y 1 producto, entonces coloque "3"
CodigoPagoElectronico nvarchar(50) En caso de requerir un código de barras especial. NO USAR.
CondicionVenta Int Valores posibles:
  • 1= Contado
  • 2= Cuenta Corriente
  • 3= Tarjeta de Debito
  • 4= Tarjeta de Credito
  • 5= Cheque
  • 6= Ticket
  • 7= Otro
  • 8= MercadoPago
  • 9= Cobro Digital
  • 10= DineroMail
  • 11= Decidir
  • 12= Todo Pago
Legalmente son estos dos valores posibles.
EnviarComprobante Boolean True: envía el comprobante emitido por email (independientemente del default del cliente)
FechaHora Datetime Fecha y hora de emisión del comprobante
FechaServDesde Datetime Fecha de inicio del periodo del servicio facturado.
Es obligatorio si campo Bienes="2" o "3"
FechaServHasta Datetime Fecha de fin del periodo del servicio facturado.
Es obligatorio si campo Bienes="2" o "3"
FechaVtoPago Datetime Fecha de vencimiento del pago
ImporteImpuestosInternos Money Si existiera para el emisor un requerimiento de impuestos extras. Se incluye el importe correspondiente en este campo. Por defecto = 0
ImportePercepcionesMunic Money Si existiera para el emisor un requerimiento de impuestos extras. Se incluye el importe correspondiente en este campo. Por defecto = 0
Moneda int Código de Moneda correspondiente.
Valores Posibles:
  • 2: PESOS Argentinos
  • 3: DOLAR Estadounidense
Observaciones varchar(max) Texto que se incorpora el pie del comprobante
OrdenCompra varchar(50) Campo informativo, para uso optativo del emisor. Se agrega en la factura
PercepcionIIBB numeric(18,3) Importe correspondiente al % aplicado en concepto de percepción de ARBA al cliente - SOLO Si la empresa emisora es Agente de Retención de ARBA. Por defecto = 0
PercepcionIVA numeric(18,3) Importe correspondiente al % aplicado en concepto de percepción de IVA al cliente - SOLO Si la empresa emisora es Agente de Retención de IVA. Por defecto = 0
PorcentajeIIBB numeric(18,3) Utilizada si la empresa emisora es agente de retención de ARBA. Alícuota definida por ARBA aplicada en la percepción de IIBB. Default = 0
Prefijo nvarchar(10) Siempre completar con ceros adelante del número si es menor a 4 digitos. Ej: 0004
Remito varchar(50) Campo informativo, para uso optativo del emisor. Se agrega en la factura
SubTotal Money Deprecado. No tenido en cuenta.
SubTotalExcento numeric(18,3) Deprecado. No tenido en cuenta.
SubTotalNoAlcanzado numeric(18,3) Deprecado. No tenido en cuenta.
TipoComprobante nvarchar(3) Tipo comprobante a emitir. Solo se debe indicar las siglas. Valores Posibles:
  • FA: FACTURA A
  • FA SUJ RET: OPERACIÓN SUJETA A RETENCIÓN
  • NCA: NOTA DE CREDITO A
  • NDA: NOTA DE DEBITO A
  • RA: RECIBO A
  • FB: FACTURA B
  • FB8001: FACTURA B a RI con Informe 8001
  • NCB: NOTA DE CREDITO B
  • NCB8001: NOTA DE CREDITO B a RI con Informe 8001
  • NDB: NOTA DE DEBITO B
  • RB: RECIBO B
  • FC: FACTURA C
  • NCC: NOTA DE CREDITO C
  • NDC: NOTA DE DEBITO C
  • RC: RECIBO C
  • FM: FACTURA M
  • NCM: NOTA DE CREDITO M
  • NDM: NOTA DE DEBITO M
  • RM: RECIBO M
  • PF: PROFORMA
TipoDeCambio numeric(18,3) Factor de conversión a la moneda seleccionada. Para PESOS Arg = 1
Total numeric(18,3) Deprecado. No tenido en cuenta.
TotalConDescuento numeric(18,3) Deprecado. No tenido en cuenta.
TotalNeto numeric(18,3) Deprecado. No tenido en cuenta.
z_ProvinciaPercepcion nvarchar(50) Nombre de la provincia donde se aplica la percepción
WebHook
Url nvarchar(4000) Url a la que Facturante enviará por POST el campo DetalleComprobante (xml) luego que reciba la respuesta de AFIP (debe incluir el protocolo, por ejemplo: https://myapp.com/webhook?id=1234)
Headers Lista de headers http que Facturante incluirá en la llamada al Url. Pada cada header deberá especificar su nombre y valor
Listado de Ítems
Bonificacion numeric(18,2) Porcentaje de bonificación al item en particular. Minimo = 0 (Ej: si desea bonificar un 20%, debemos ingresar 20)
Cantidad numeric(18,2) Cantidad de ese item. Mínimo = 1
Codigo nvarchar(20) Codigo del item (lo determina el emisor)
Detalle nvarchar(5000) Descripción del item
Gravado Boolean Defecto False
IVA numeric(18,2) Alícuota de IVA a aplicar para ese ítem. Valores posibles:
  • 10,5
  • 21
  • 27
  • 2,5
  • 5
  • 0 (Para indicar "Exento" ó "No gravado". De acuerdo al valor del campo Gravado se interpretará a qué tipo corresponde.)
PrecioUnitario numeric(18,2) Precio unitario del ítem (Neto en caso de RI, final en caso de Monotributista en tipo FB)
Total numeric(18,2) Deprecado. No tenido en cuenta.
Listado de ítems HanditAdServe
Descripcion nvarchar(100) Descripción del ítem Handit
Precio numeric(18,2) Precio del ítem
UrlImagen nvarchar(max) Url de la Imagen del ítem Handit
UrlRedirect nvarchar(max) Url del Redirect del ítem Handit
CodigoSeguimiento nvarchar(50) Código de seguimiento del ítem Handit
FechaExpira datetime Fecha Expiración del ítem Handit
UrlAlternativa nvarchar(max) Url alternativa del ítem Handit
Codigo nvarchar(20) Código del ítem Handit
Parámetros de salida
Estado Int Ver Respuestas
Mensaje varchar(1000) Mensaje que describe el resultado de la operación. Tanto para casos exitosos como para fallidos.
Respuestas
IdComprobante int Identificador unívoco del comprobante a emitir.
ERRORES DE VALIDACION DE Facturante.com
Código Descripción
0 (SinDetalle) Sin Detalles
1 (ObjAutenticacionNull) El objeto Autenticación no pudo ser creado con los datos recibidos
2 (ObjItemsNull) El objeto Items no pudo ser creado con los datos recibidos
3 (ObjClienteNull) El objeto cliente no pudo ser creado con los datos recibidos
4 (UsuarioInvalido) Usuario incorrecto
5 (NroDocumentoNull) El número de documento debe tener un valor
6 (DireccionFiscalNull) El campo DireccionFiscal debe tener valor
7 (RazonSocialNull) El campo RazonSocial debe tener valor
8 (PrefijoNull) El campo Prefijo debe tener valor
9 (TipoComprobanteNull) El campo TipoComprobante debe tener valor
10 (DetalleItemNull) El campo Detalle del item {0} debe tener valor
11 (PVInvalido) El Punto de Venta con prefijo [{0}] no es válida para el emisor
12 (TipoComprobanteInvalido) El tipo de comprobante [{0}] no es válido para el emisor
13 (CondicionVentaInvalido) El valor [{0}] para condición de venta no es válido
14 (FechaAbonoInvalida) La fecha de inicio del abono no puede ser posterior a la de fin
15 (SinItems) Debe cargar al menos un item en el comprobante y //El comprobante no tiene items asociados
16 (SinCreditos) No tiene créditos disponibles para generar comprobantes
17 (FechaComprobanteInvalida) Ya existe un comprobante con fecha posterior a la fecha indicada
18 (MontoTotalInvalido) Monto total del comprobante [{0}] no concuerda con monto acumulado de total neto, percepciones e impuestos [{1}]
19 (MontoNetoInvalido) Monto neto del comprobante [{0}] no concuerda con monto total de iva base imponible [{1}]
20 (TipoCambioInvalido) El tipo de cambio (cotización) debe ser mayor a cero
21 (MontoTotalItemInvalido) Monto total del item [{0}] no concuerda con monto acumulado de total neto, bonificaciones e impuestos del item [{1}]
22 (ComprobanteInvalido) Comprobante inexistente
24 (DetalleItemLargo) El campo Detalle del item {0} no debe superar los 250 caracteres
25 (NroDocumentoCero) Para Facturas B el Nro. Documento debe ser mayor a 0
32 (Handit_AdServeActivo) HanditAdServe inactivo para la empresa
33 (Handit_CantidadMaximaItemsSuperada) Cantidad Máxima de HanditAdServe Items superada
34 (Handit_EmpresaNoConfigurada) HanditAdServe no configurado para la empresa
35 (Handit_ObjItemsNull) El HanditAdServeItem {0} debe tener valor
36 (Handit_CampoItemInvalido) El campo del HanditAdServeItem {0} es inválido
37 (Handit_CampoItemLargo) El campo del HanditAdServeItem {0} no debe superar los 100 caracteres
500 (ErrorInterno) Error interno.
501 (ErrorInternoSinTalonario) Error interno. No se ha encontrado un talonario para el tipo de comprobante que desea emitir

Requests XML de Ejemplos:

(*)Si el campo NroDocumento no tiene forma de CUIT (11 digitos) o no existe en el padrón de AFIP, emite factura B a consumidor final. Si lo encuentra en el padrón, emite la factura que corresponda.