Referencia API AFIP ARCA
Integra tu sistema con AFIP. API de factura electrónica fácil con TusFacturasAPP.
Last updated
Integra tu sistema con AFIP. API de factura electrónica fácil con TusFacturasAPP.
Last updated
La API de TusFacturasAPP te permite interactuar de forma directa con los web services de ARCA de manera fácil y rápida.
Llamaremos "comprobante" a todo documento digital, ya sea factura, nota de crédito, nota de débito, pedido, presupuesto y remito tanto de ventas como de compras.
Con la API para ARCA de TusFacturasAPP podes enviar la información de maneras diferentes:
: Recibis la respuesta al instante, pero está sujeta al funcionamiento de los servicios de AFIP/ARCA.
: Donde envias un request y éste queda en una cola de procesamiento. A medida que se factura recibis un hook de respuesta.
: Donde envías un lote a facturar y recibis la respuesta al instante, pero está sujeta al funcionamiento de los servicios de AFIP/ARCA.
Charset: UTF-8
usertoken
string
Tus credenciales de acceso
apitoken
string
Tus credenciales de acceso
apikey
string
Tus credenciales de acceso
comprobante
object
Estructura de "comprobante" según se informa a continuación
cliente
object
Estructura de "Cliente", según se informa a continuación
Información de ejemplo, solo para visualizar su estructura general.
Sea cual sea la modalidad que utilices para facturar y por cada comprobante que emitas, obtendrás los mismos campos, con los datos que necesitas para almacenar en tu sistema.
Ejemplo de respuesta de un comprobante enviado en la modalidad individual e instantánea, la cual te devuelve la información del comprobante emitido.
Ejemplo de respuesta de un comprobante enviado en la modalidad individual y asincrónica, donde no sabes a priori cuál será el número del comprobante asignado. Solo podes corroborar que se ingresó a la cola exitosamente.
En caso de detectar error, la variable "error" contendrá una "S" y "errores" una lista con todos los errores encontrados
Para ver las ventas emitidas desde la plataforma web, ingresa a Menú > Facturación > Mis ventas. Para ver las ventas programadas pendientes de emisión desde la plataforma web, ingresa a Menú > Facturación > Ventas programadas.
Desde allí, podrás visualizar y gestionar todos los comprobantes emitidos de forma rápida y sencilla.
¿Cómo corroborar que un comprobante se emitió correctamente en ARCA?
Conoce el detalle de los parámetros a enviar dentro del bloque: "comprobante"
fecha
REQUERIDO
Campo fecha. Formato esperado: dd/mm/aaaa. Ejemplo: 13/05/2018. Si usas el metodo asincrónico, la fecha será el día que queres que se emita. Una vez emitido un comprobante (factura, nota de crédito o débito) en AFIP/ARCA con una fecha determinada, no podrás emitir otro comprobante del mismo punto de venta con una fecha anterior. Esta restricción es impuesta por AFIP/ARCA y no puede ser modificada, incluso mediante la emisión de notas de crédito o débito.
tipo
REQUERIDO
operacion
REQUERIDO
Campo alfanumérico. Longitud 1 caracter. Indica si envia una factura de venta (V) o de compra (C). Valores Permitidos: V, C Ejemplo: V
idioma
REQUERIDO
Campo numérico. Longitud 1 caracter. Indica el idioma en que se imprimira el PDF del comprobante. Valores Permitidos: 1 = Español, 2= Ingles
punto_venta
REQUERIDO
Campo numérico entero. Longitud máxima 5 digitos.
moneda
REQUERIDO
cotizacion
REQUERIDO
Número decimal con 3 lugares decimales. Representa el valor en pesos argentinos de una moneda extranjera. Se obtiene en tiempo real a través de nuestra API de cotización AFIP. Ejemplo: 15.20. Solo aplicable a monedas distintas al peso argentino.
numero
OPCIONAL
El numero del comprobante a generar. Campo numérico entero. Longitud máxima 8 digitos. La numeración será validada internamente previa generación del comprobante contra AFIP. Si el nro de comprobante NO es enviado, traeremos la próxima numeración . Ejemplo: 4567
vencimiento
REQUERIDO
Campo fecha, formato esperado: dd/mm/aaaa.
periodo_facturado_desde
REQUERIDO
Campo fecha. Formato esperado: dd/mm/aaaa. Opcional solo para quienes facturen productos y asi lo indiquen en la configuración de su CUIT+punto de venta. Obligatorio para quienes facturen Servicios o Productos y Servicios.
periodo_facturado_hasta
REQUERIDO
Campo fecha. Formato esperado: dd/mm/aaaa. Opcional solo para quienes facturen productos y así lo indiquen en la configuración de su CUIT+punto de venta.Obligatorio para quienes facturen Servicios o Productos y Servicios.
rubro
REQUERIDO
Campo alfanumérico que no sale impreso en el pdf. Se utiliza para los reportes que brinda nuestra plataforma web y no es requerido por AFIP. Longitud máxima 255 caracteres. Indica el rubro al cual pertenecerá el comprobante.
rubro_grupo_contable
REQUERIDO
Campo alfanumérico que no sale impreso en el pdf. Se utiliza para los reportes que brinda nuestra plataforma web y no es requerido por AFIP/ARCA. Longitud máxima 255 caracteres. Indica el grupo contable al que pertenece el rubro.
abono
OPCIONAL (Solo disponible para ventas)
Campo alfabético, longitud máxima 1 caracter. Valores permitidos S (si) o N (no). Indica si el comprobante a generar es un abono recurrente.
abono_frecuencia
REQUERIDO SOLO SI ENVIA ABONO
Campo numerico sin decimales. Indica la frecuencia en meses con la que debe generarse la recurrencia del abono.
abono_hasta
REQUERIDO SOLO SI ENVIA ABONO
Campo fecha (mm/yyyy). Longitud maxima 7. Indica el mes y año hasta el cual debe generarse el abono recurrente.
abono_actualiza_precios
REQUERIDO SOLO SI ENVIA ABONO
Campo alfabético, longitud máxima 1 caracter. Valores permitidos S (si) o N (no). Indica si cada vez que se genera el abono, se actualiza los precios de los productos contra el precio actual de la lista de precios.
detalle
REQUERIDO
fex
REQUERIDO PARA COMPROBANTES E
bonificacion
OPCIONAL
Campo numérico positivo con 2 decimales. separador de decimales: punto. Indica el valor aplicado en concepto de bonificación sin IVA Ejemplo: 12.67. Tener en cuenta para el cálculo que la bonificación se aplica sobre el primer subtotal SIN IVA y se lo gravará con el importe de IVA que le corresponda.
leyenda_gral
OPCIONAL
Campo alfanumérico. Longitud máxima 500 caracteres. Contenido opcional. Es una leyenda general que saldrá impresa en el bloque central, al final del último producto.
Si queres que parte del texto salga en una linea nueva, agrega: #@# , si queres enviar el "%", en su lugar envía: #&#.
Ejemplo: Aplica plan 12 cuotas, con un 10#&# de interes.
comentario
OPCIONAL
Campo alfanumerico, opcional. Longitud máxima: 255 caracteres. Éste campo no saldrá impreso en la factura.
tributos
SOLO SI APLICA
Objeto JSON, con la lista de percepciones y otros impuestos, según se detalla su estructura a continuación.
impuestos_internos
OPCIONAL
Indica el valor monetario correspondiente a los impuestos internos. Campo numérico positivo con 2 decimales. separador de decimales: punto. Ejemplo: 42.67
impuestos_internos_base
OPCIONAL
La base imponible sobre la cual se calcularon los impuestos internos. Campo numérico positivo con 2 decimales. separador de decimales: punto. Ejemplo: 42.67
impuestos_internos_alicuota
OPCIONAL
La alícuota sobre la cual se calculo la percepción. Campo numérico positivo con 2 decimales. separador de decimales: punto. Ejemplo: 42.67
total
REQUERIDO
Campo numérico positivo con 2 decimales. separador de decimales: punto. Indica el valor monetario de la sumatoria de conceptos incluyendo IVA e impuestos. Ejemplo: 12452.67
comprobantes_asociados
SOLO PARA NC O ND
rg_especiales
SOLO SI APLICA ALGUNA RG
external_reference
SOLO PARA VENTAS ASINCRÓNICAS
Dato alfanumérico de hasta 255 caracteres (solo se permiten letras, números, guión bajo y guión medio), que se utiliza para referenciar a éste comprobante, dentro de tu sistema. Es opcional, salvo que utilices los métodos de envió a la cola de procesamiento. No se realiza validación de éste campo, para verificar que el mismo no exista.
tags
OPCIONAL
Objeto JSON, según estructura que se detalla a continuación.
datos_informativos
OPCIONAL
Objeto JSON, según estructura que se detalla a continuación.
Para poder generar el comprobante debes enviar un detalle de todos los datos según se informa a continuación. Si vas a enviar una venta, debes enviar el bloque "cliente", en cambio si vas a enviar una compra para almacenar en nuestra plataforma, debes enviar el bloque "proveedor".
En caso de enviar una compra, el nombre del bloque debe cambiar a "proveedor" en lugar de "cliente"
documento_tipo
REQUERIDO
Valores Permitidos: CUIT , DNI, PASAPORTE, OTRO Ejemplo: DNI
documento_nro
REQUERIDO
Campo numérico, sin puntos ni guiones. Ejemplo: 30111222334
razon_social
REQUERIDO
Campo alfanumérico. Longitud máxima 255 caracteres. Ejemplo: Pirulo S.A
email
OPCIONAL
Campo alfanumérico. Longitud máxima 255 caracteres. Máximo 15 direcciones separadas por coma. Ejemplo: tusfacturas@vousys.com
domicilio
REQUERIDO
Campo alfanumérico. Longitud máxima 255 caracteres. Ejemplo: Av. Santa Fe 123
provincia
REQUERIDO
envia_por_mail
REQUERIDO
Indica Si/No para el envio del comprobante por e-mail. Valores Permitidos: S , N Ejemplo: S
condicion_pago
REQUERIDO
Ejemplo: 211 .
condicion_pago_otra
OPCIONAL
Campo alfanumérico. Longitud máxima 100 caracteres. Ejemplo: Cobrado en ventanilla.
condicion_iva
REQUERIDO
condicion_iva_operacion
OPCIONAL
Éste campo entra en vigencia a partir del 15/04/2025 mediante la RG 5616/2024 de AFIP/ARCA. Deberá consignarse la condición frente al IVA en que se realiza la operación. De no enviarse éste campo se enviará lo que se especifique en el campo "condicion_iva".
codigo
REQUERIDO
Campo alfanúmerico de hasta 50 caracteres para referenciar a ese cliente. Éste dato debería ser único dentro de tu plataforma pero TusFacturasAPP no realiza dicha verificación. Si existiera +1 con el mismo código podrías sufrir problemas al actualizar los datos. Ejemplo: "CLI2394"
rg5329
REQUERIDO
Valores posibles: "S" o "N".
reclama_deuda
OPCIONAL
reclama_deuda_dias
OPCIONAL
En caso de haber habilitado el recordatorio de pago atrasado, se debe indicar cuantos dias pasados la fecha de vencimiento del comprobante se desea comenzar a recordar el pago adeudado. Se espera recibir un valor numerico indicando el número de días)
reclama_deuda_repite_dias
OPCIONAL
En caso de haber habilitado del recordatorio de pago atrasado, se debe indicar la frecuencia de cada cuantos dias se desea volver a recordar. Se espera recibir un valor numérico, indicando el número de días.
El detalle de conceptos se compone de una lista de cada uno de los productos o servicios que vas a facturar. Cada producto o servicio único que incluyas en tu cmoprobante se considera un concepto diferente. Por ejemplo, si vendes 10 unidades de un producto, solo contarían como un concepto. El límite máximo de conceptos por comprobante es de 130.
La estructura de la lista de conceptos a enviar es la siguiente:
Los campos que debes enviar en cada concepto de la lista del bloque "detalle" son los siguientes:
cantidad
REQUERIDO
Campo numérico positivo con 2 decimales. Separador de decimales: punto. Ejemplo: 1.50
afecta_stock
REQUERIDO
Campo alfanumérico de 1 posición. Valores posibles: "S" (si), "N" (no) Ejemplo: S
producto
REQUERIDO
Según estructura de producto que se detalla a continuación.
leyenda
OPCIONAL
Campo alfanumérico. Longitud máxima 1000 caracteres. Contenido opcional. Será una descripción que acompañe al producto. Ejemplo: Blanca, cepillada
bonificacion_porcentaje
OPCIONAL
Si se ha aplicado un porcentaje de descuento sobre éste concepto, debe ser enviado. Es un campo númerico positivo con 2 decimales. El separador de decimales esperado es el punto. Ej: 25
incluir_lista_precios_venta
REQUERIDO SOLO PARA COMPRAS
Valores esperados: "S" o "N"
Ej: "S"
Cada producto o servicio que envies sera almacenado en la lista de precios que se mantiene en nuestra plataforma, ademas de generar el comprobante requerido. A continuación podrás conocer que datos debes enviar:
Detalle de los campos a enviar:
descripcion
REQUERIDO
Campo alfanumérico. Longitud máxima 255 caracteres y mínima de 4 caracteres. Ejemplo: Papa blanca
unidad_bulto
REQUERIDO
Campo numérico entero requerido. Indica la cantidad de unidades que componen un bulto. Valor minimo esperado: 1 Ejemplo: 12
lista_precios
REQUERIDO
Campo alfanumérico. Longitud mínima de 4 caracteres y máxima 255 caracteres. Nombre de la lista de precios a la cual pertenece. No saldrá impreso en la factura pero es requerido. Ejemplo: Verdura Orgánica
codigo
REQUERIDO
Campo alfanúmerico de hasta 50 caracteres para referenciar a ese producto. Éste dato debería ser único dentro de tu plataforma pero TusFacturasAPP no realiza dicha verificación. Si existiera +1 con el mismo código podrías sufrir problemas al actualizar los datos. Ejemplo: ABX780
precio_unitario_sin_iva
REQUERIDO
Campo numérico positivo con 2 decimales. separador de decimales: punto Ejemplo: 645.67
alicuota
REQUERIDO
Indica la alícuota de IVA con la que grava ese producto. Valores Permitidos:
27, 21 , 10.5 , 0 , -1 ( para exento), -2 (no gravados) Ejemplo: 10.5
unidad_medida
REQUERIDO
actualiza_precio
REQUERIDO
Indica si se actualiza el precio del producto y sus datos adicionales (como ser la unidad de medida, código, unidades por bulto y otros datos adicionales), tomando como valor de referencia,la información enviada en el comprobante. Campo Alfabético, de 1 carácter. Valores permitidos: S (si) N (no). Ejemplo: S
impuestos_internos_alicuota
OPCIONAL
La alícuota que se cobra en concepto de impuestos internos para éste producto. Campo numérico positivo, con 2 decimales. ej: 10.5
rg5329
REQUERIDO
Este campo te permite indicar si tu producto percibe la percepción IVA RG5329.
Valores posibles: "S" o "N".
Si envias el valor en "S", debes enviar el campo "actualiza_precio" tambien en "S".
Cuando requieras enviar percepciones de IVA o percepciones de Ingresos Brutos (IIBB) deberás enviar dentro del bloque "comprobante", un array con la siguiente estructura:
Ejemplo:
tipo
REQUERIDO
regimen
REQUERIDO
base_imponible
REQUERIDO
Campo numérico positivo con hasta 2 decimales, donde se indica la base imponible sobre la cual se aplica la percepción.
alicuota
REQUERIDO
Campo numérico con hasta 2 decimales, donde se indica la alícuota de dicha percepción
total
REQUERIDO
Campo numérico positivo de hasta 2 decimales, con el importe total de la percepción a aplicar.
id
REQUERIDO
valor
REQUERIDO
Campo alfanumérico.
Si quisieras reflejar junto al envío del comprobante, el pago parcial o total del mismo, debes enviar un bloque, dentro del comprobante, llamado "pagos" con la estructura como se detalla a continuación. Éste bloque es opcional.
Los pagos que informes, se usan solo para la gestión interna de nuestra plataforma y tu cliente no lo verá reflejado en el PDF del comprobante que emitiste, ya que el único objetivo que tiene éste bloque es nutrir la cuenta corriente de tu cliente, con el pago realizado.
formas_pago
REQUERIDO
array con multiples items, según estructura que se detalla a continuación
total
REQUERIDO
Campo numérico positivo con 2 decimales. separador de decimales: punto Ejemplo: 645.67
descripcion
REQUERIDO
El nombre del medio de pago elegido para cancelar el comprobante. 255 caracteres max. En caso que el medio de pago, no exista en nuestra plataforma, será dado de alta automáticamente.
importe
REQUERIDO
Campo numérico positivo con 2 decimales. separador de decimales: punto Ejemplo: 645.67
Si quisieras enviar tags para agregar a tus comprobantes, a modo de etiqueta informativa, debes enviar un array con el nombre de cada una de éstas.
Cada tag, debe ser un campo alfanumérico de hasta 255 caracteres y puedes enviar hasta 50 tags por comprobante.
Dentro de este bloque deberá enviarse según corresponda, la información requerida por AFIP/ARCA en carácter informativo. Éstos datos no tienen ninguna relevancia dentro de la gestión de TusFacturasAPP.
OPCIONAL
Éste dato entra en vigencia el 15/04/2025 según la RG5616/2024 y deberá enviarse "N" para indicar "No informa" o "S" para indicar "Si".
Este ejemplo de JSON te muestra todas las opciones disponibles para personalizar tus comprobantes. Tene en cuenta que no todos los campos son obligatorios y dependerán del tipo de comprobante que quieras emitir. Consulta la de cada tipo de comprobante para obtener más información.
Las notas de débito y crédito requieren que envies obligatoriamente los comprobantes asociados (o su período asociado). Conocé más
Para evitar inconsistencias en la validación de las sumatorias, sugerimos redondear a 2 decimales los valores y aplicar el redondeo con "Round half even". Te dejamos un link para que puedas probar online éste redondeo:
Las URL de los micrositios solo te serán devueltas con datos, si los mismos se encuentran habilitados en tu cuenta. Para configurarlo, ingresá a nuestra plataforma web, menú > mi espacio de trabajo > mis micrositios. Conocé más de los micrositios .
Aquellos comprobantes que hayan impactado en AFIP, no podrán ser eliminados. Sólo pueden ser anulados contablemente generando una .
En AFIP/ARCA podrás encontrar ésta información usando el servicio de consulta llamado "Mis Comprobantes" que encontrarás accediendo con tu CUIT y clave fiscal. Tambien podes hacer la y consultarlos manualmente.
Campo alfabético según
Campo alfanumérico de 3 Digitos según .
Lista de conceptos a facturar. , según estructura que se detalla a continuación
Solo para comprobantes de tipo E. Objeto JSON, según estructura detallada en:
Lista de comprobantes asociados. Requerido únicamente para NC o ND de tipo A,B,C,M. Según estructura que se detalla a continuación
Lista de datos adicionales requeridos por AFIP, según la RG a la que aplique el comprobante. Según estructura que se detalla a continuación
Campo numérico según . Ejemplo: 2
Campo numérico según . Si envias la condición de pago "Otra" (214) se debe enviar obligatoriamente el campo condicion_pago_otra " con la descripción de dicha condición.
Campo numérico que indica la condición de iva, según Valores Permitidos: CF, RI, M, E Ejemplo: RI
Este campo te permite indicar si tu cliente es pasible de .
Indica SI/No para el envio del al cliente. Opciones validas: "S" o "N"
Si queres enviar un comprobante a un consumidor final, sin especificar su nombre y DNI, consulta la siguiente documentación de ""
Te recomendamos utilizar el método de antes de emitir facturas, ya que el CUIT de tu cliente podría no estar activo, lo que podría generar inconvenientes con el fisco.
Si estas enviando una compra, podes indicar que éste producto que compraste, se incorpore como un producto mas a los de tu lista de precios de venta. De esa manera podrás tanto por la API como por la plataforma web.
Si el comprobante que envías, es de tipo A o B, los productos o servicios que envíes a facturar, deben ser enviados siempre SIN IVA, porque el IVA se calcula del lado de nuestra plataforma en base al campo "alicuota" que envías. Conocé más de los tipos de comprobantes,
Campo numérico que indica la unidad de medida, según Ejemplo: 7
Conocé cuando aplicar la RG5329
Los comprobantes asociados son requeridos a la hora de emitir una Nota de crédito o nota de débito. Encontrá la estructura e información de éste bloque desde la sección:
Campo numérico, según tabla de referencia
Campo numérico, según tabla de referencia:
Si la empresa, opera bajo alguna RG particular, se deberá enviar un array con los datos adicionales, según se especifican en la .
Ten en cuenta que solo podrás aplicar a un solo , por cada comprobante que emitas.
Campo númerico. Valores esperados según Tabla de referencia:
En caso de enviarse con el valor "S", la moneda enviada debe ser diferente al Peso Argentino y la cotización debe ser la oficial provista por AFIP/ARCA desde
En caso que requieras asistencia o tengas alguna duda relacionada con tu plan API DEV, envíanos un mensaje a api@tusfacturas.app o por el chat que tenemos disponible en la web .
Ir a
Ir a
Ir a
Ir a
Ir a