AFIP E-Invoicing for Argentina: API References
Introducción
Bienvenido a la referencia completa de la API para nuestro sistema de Facturación Electrónica AFIP de Argentina. Esta documentación está diseñada para ayudarlo a integrarse perfectamente con nuestra plataforma y optimizar sus procesos de facturación, asegurando el cumplimiento de los requisitos regulatorios de Argentina.
Nuestra API de Facturación Electrónica proporciona una solución robusta y segura para gestionar facturas electrónicas en Argentina. Soporta todos los aspectos del ciclo de vida de la facturación, desde la creación y presentación hasta la validación y archivado. Con un enfoque en la sostenibilidad y la innovación, nuestra API ayuda a las empresas a optimizar sus operaciones financieras mientras cumplen con los últimos estándares de facturación electrónica establecidos por la AFIP (Administración Federal de Ingresos Públicos).
Autenticación y encabezados obligatorios
Para acceder a los diversos endpoints dentro de la API de Flick, es esencial autenticar sus solicitudes. En esta guía, profundizaremos en los detalles del proceso de autenticación. Actualmente, Flick proporciona un único método de autenticación para sus solicitudes API, que es OAuth2 con un token.
La API de Flick recomienda utilizar OAuth2 para la autenticación. Para establecer una conexión con OAuth2, necesitará un token de acceso, que se encuentra convenientemente en su tablero de Flick bajo Integraciones.
Para las cabeceras de la API, son obligatorios dos elementos:
x-flick-auth-key: {token}
- El token de acceso.cuit: 20111111112
- El CUIT del usuario.
La documentación sobre cómo obtener y compartir el certificado y el contenido de la llave privada con Flick se encuentra al final de esta sección (si es necesario)
Obtener número del último comprobante creado
Necesitamos utilizar esta solicitud GET para obtener el último número de Voucher. Necesitamos pasar los parámetros del punto de venta y el tipo de comprobante que queremos obtener.
Mensaje de solicitud
- Name
PtoVta
- Type
- int: mandatory
- Description
Punto de venta
- Name
CbteTipo
- Type
- int: mandatory
- Description
Tipo de comprobante
Mensaje de respuesta
- Name
CbteNro
- Type
- long
- Description
Tipo de comprobante
Sample Request
curl
--url https://sandbox-api.flick.network/ar/einvoice/last-voucher \
--header 'x-flick-auth-key: {token}' \
--header 'cuit: {cuit}' \
--header 'Content-Type: application/json' \
--data '
{
"PtoVta": 1,
"CbteTipo": 6,
}'
Sample Response
{
"PtoVta": 1,
"CbteTipo": 6,
"CbteNro": 242426,
}'
Crear y asignar CAE a un comprobante
Este punto final se utiliza para crear un nuevo comprobante
Mensaje de solicitud
{
"CantReg": 1, // Cantidad de comprobantes a registrar
"PtoVta": 1, // Punto de venta
"CbteTipo": 6, // Tipo de comprobante (ver tipos disponibles)
"Concepto": 1, // Concepto del Comprobante: (1)Productos, (2)Servicios, (3)Productos y Servicios
"DocTipo": 99, // Tipo de documento del comprador (99 consumidor final, ver tipos disponibles)
"DocNro": 0, // Número de documento del comprador (0 consumidor final)
"CbteDesde": 1, // Número de comprobante o numero del primer comprobante en caso de ser mas de uno
"CbteHasta": 1, // Número de comprobante o numero del último comprobante en caso de ser mas de uno
"CbteFch": 20230301, // (Opcional) Fecha del comprobante (yyyymmdd) o fecha actual si es nulo
"ImpTotal": 121, // Importe total del comprobante
"ImpTotConc": 0, // Importe neto no gravado
"ImpNeto": 100, // Importe neto gravado
"ImpOpEx": 0, // Importe exento de IVA
"ImpIVA": 21, //Importe total de IVA
"ImpTrib": 0, //Importe total de tributos
"MonId": "PES", //Tipo de moneda usada en el comprobante (ver tipos disponibles)('PES' para pesos argentinos)
"MonCotiz": 1, // Cotización de la moneda usada (1 para pesos argentinos)
"Iva": [
// (Opcional) Alícuotas asociadas al comprobante
{
"Id": 5, // Id del tipo de IVA (5 para 21%)(ver tipos disponibles)
"BaseImp": 100, // Base imponible
"Importe": 21, // Importe
},
],
}
Sample Request
curl
--url https://sandbox-api.flick.network/ar/einvoice/create-voucher \
--header 'x-flick-auth-key: {token}' \
--header 'cuit: {cuit}' \
--header 'Content-Type: application/json' \
--data '
{
"CantReg": 1,
"PtoVta": 1,
"CbteTipo": 6,
"Concepto": 1,
"DocTipo": 99,
"DocNro": 0,
"CbteDesde": 1,
"CbteHasta": 1,
"CbteFch": 20230301,
"ImpTotal": 121,
"ImpTotConc": 0,
"ImpNeto": 100,
"ImpOpEx": 0,
"ImpIVA": 21,
"ImpTrib": 0,
"MonId": "PES",
"MonCotiz": 1,
"Iva": [
{
"Id": 5,
"BaseImp": 100,
"Importe": 21,
},
],
}'
Sample Response
{
"Cuit": 20111111112,
"PtoVta": 1,
"CbteTipo": 6,
"FchProceso": 20230301,
"CantReg": 1,
"Cantidad": 1
}'
Obtener información de un comprobante
Necesitamos utilizar esta solicitud GET para obtener el último número de Voucher. Necesitamos pasar los parámetros del punto de venta y el tipo de comprobante que queremos obtener.
Mensaje de solicitud
- Name
CbteTipo
- Type
- int: mandatory
- Description
Tipo de Comprobante
- Name
CbteNro
- Type
- int: mandatory
- Description
Número de comprobante
- Name
PtoVta
- Type
- int: mandatory
- Description
Punto de venta
Sample Request
curl
--url https://sandbox-api.flick.network/ar/einvoice/get-voucher \
--header 'x-flick-auth-key: {token}' \
--header 'cuit: {cuit}' \
--header 'Content-Type: application/json' \
--data '
{
"PtoVta": 1,
"CbteNro": 1,
"CbteTipo": 6,
}'
Sample Response
{
"Concepto": 1,
"DocTipo": 80,
"DocNro": 12345678901,
"CbteDesde": 12345,
"CbteHasta": 12346,
"CbteFch": "2024-08-05",
"ImpTotal": 1000.50,
"ImpTotConc": 500.00,
"ImpNeto": 700.00,
"ImpOpEx": 0.00,
"ImpTrib": 50.00,
"ImpIVA": 150.50,
"FchServDesde": "2024-08-01",
"FchServHasta": "2024-08-04",
"FchVtoPago": "2024-08-10",
"MonId": "PES",
"MonCotiz": 1.00,
"TipoCbteAsoc": 1,
"PtoVtaCbteAsoc": 1,
"NroCbteAsoc": 12345678,
"TributoId": 1,
"TributoDesc": "IVA",
"TributoBaseImp": 700.00,
"TributoAlic": 21.00,
"TributoImporte": 147.00,
"AlicIvaId": 1,
"AlicIvaBaseImp": 700.00,
"AlicIvaImporte": 147.00,
"OpcionalId": "001",
"OpcionalValor": "Sample Value",
"CompradorDocTipo": 96,
"CompradorDocNro": 23456789012,
"CompradorPorcentaje": 50.00,
"Resultado": "Success",
"CodAutorizacion": "ABC123XYZ",
"EmisionTipo": "A",
"FchVto": "2024-08-10",
"FchProceso": "2024-08-05",
"ObservacionCode": 200,
"ObservacionMsg": "No errors",
"PtoVta": 1,
"CbteTipo": 1,
"ErrorCode": 0,
"ErrorMsg": "No errors",
"EventCode": 0,
"EventMsg": "No events"
}'
Obtener tipos de comprobantes disponibles
Este endpoint está diseñado para obtener una lista completa de los tipos de comprobantes disponibles, permitiéndole consultar todos los tipos de documentos de facturación que puede utilizar en el sistema.
Mensaje de respuesta
- Name
Id
- Type
- Int
- Description
Código de comprobante
- Name
Desc
- Type
- String
- Description
Descripción
- Name
FchDesde
- Type
- String
- Description
Fecha de vigencia desde
- Name
FchHasta
- Type
- String
- Description
Fecha de vigencia hasta
Sample Request
curl
--url https://sandbox-api.flick.network/ar/einvoice/voucher-types \
--header 'x-flick-auth-key: {token}' \
--header 'cuit: {cuit}' \
--header 'Content-Type: application/json'
Obtener tipos de conceptos disponibles
Este endpoint está diseñado para obtener una lista completa de los tipos de conceptos disponibles, permitiéndole consultar todos los conceptos que puede utilizar en el sistema para clasificar y categorizar las facturas.
Mensaje de respuesta
- Name
Id
- Type
- Int
- Description
Código de concepto
- Name
Desc
- Type
- String
- Description
Descripción
- Name
FchDesde
- Type
- String
- Description
Fecha de vigencia desde
- Name
FchHasta
- Type
- String
- Description
Fecha de vigencia hasta
Sample Request
curl
--url https://sandbox-api.flick.network/ar/einvoice/concept-types \
--header 'x-flick-auth-key: {token}' \
--header 'cuit: {cuit}' \
--header 'Content-Type: application/json'
Obtener tipos de documentos disponibles
Este endpoint está diseñado para obtener una lista completa de los tipos de documentos disponibles, permitiéndole consultar todos los documentos que puede utilizar en el sistema para la gestión y registro de sus transacciones.
Mensaje de respuesta
- Name
Id
- Type
- Int
- Description
Código de tipo de documento
- Name
Desc
- Type
- String
- Description
Descripción
- Name
FchDesde
- Type
- String
- Description
Fecha de vigencia desde
- Name
FchHasta
- Type
- String
- Description
Fecha de vigencia hasta
Sample Request
curl
--url https://sandbox-api.flick.network/ar/einvoice/document-types \
--header 'x-flick-auth-key: {token}' \
--header 'cuit: {cuit}' \
--header 'Content-Type: application/json'
Obtener tipos de alícuotas disponibles
Este endpoint está diseñado para obtener una lista completa de las alícuotas disponibles, permitiéndole consultar todas las alícuotas que puede utilizar en el sistema para calcular los impuestos aplicables en sus transacciones.
Mensaje de respuesta
- Name
Id
- Type
- Int
- Description
Tipo de IVA
- Name
Desc
- Type
- String
- Description
Descripción
- Name
FchDesde
- Type
- String
- Description
Fecha de vigencia desde
- Name
FchHasta
- Type
- String
- Description
Fecha de vigencia hasta
Sample Request
curl
--url https://sandbox-api.flick.network/ar/einvoice/rates \
--header 'x-flick-auth-key: {token}' \
--header 'cuit: {cuit}' \
--header 'Content-Type: application/json'
Obtener tipos de monedas disponibles
Este endpoint está diseñado para obtener una lista completa de los tipos de monedas disponibles, permitiéndole consultar todas las monedas que puede utilizar en el sistema para manejar y registrar transacciones en diferentes divisas.
Mensaje de respuesta
- Name
Id
- Type
- Int
- Description
Código de moneda
- Name
Desc
- Type
- String
- Description
Descripción
- Name
FchDesde
- Type
- String
- Description
Fecha de vigencia desde
- Name
FchHasta
- Type
- String
- Description
Fecha de vigencia hasta
Sample Request
curl
--url https://sandbox-api.flick.network/ar/einvoice/currencies \
--header 'x-flick-auth-key: {token}' \
--header 'cuit: {cuit}' \
--header 'Content-Type: application/json'
Obtener tipos de opciones disponibles para el comprobante
Este endpoint está diseñado para obtener una lista completa de los tipos de opciones disponibles para el comprobante, permitiéndole consultar todas las opciones configurables que puede utilizar en el sistema para personalizar y adaptar los comprobantes a sus necesidades específicas.
Mensaje de respuesta
- Name
Id
- Type
- Int
- Description
Identificador de campo opcional
- Name
Desc
- Type
- String
- Description
Descripción
- Name
FchDesde
- Type
- String
- Description
Fecha de vigencia desde
- Name
FchHasta
- Type
- String
- Description
Fecha de vigencia hasta
Sample Request
curl
--url https://sandbox-api.flick.network/ar/einvoice/options-types \
--header 'x-flick-auth-key: {token}' \
--header 'cuit: {cuit}' \
--header 'Content-Type: application/json'
Obtener tipos de tributos disponibles
Este endpoint está diseñado para obtener una lista completa de los tipos de tributos disponibles, permitiéndole consultar todos los tributos que puede utilizar en el sistema para aplicar y gestionar los impuestos correspondientes en sus transacciones.
Mensaje de respuesta
- Name
Id
- Type
- Int
- Description
Código de Tributo
- Name
Desc
- Type
- String
- Description
Descripción
- Name
FchDesde
- Type
- String
- Description
Fecha de vigencia desde
- Name
FchHasta
- Type
- String
- Description
Fecha de vigencia hasta
Sample Request
curl
--url https://sandbox-api.flick.network/ar/einvoice/tax-types \
--header 'x-flick-auth-key: {token}' \
--header 'cuit: {cuit}' \
--header 'Content-Type: application/json'