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)


GET/ar/einvoice/last-voucher

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

GET
/ar/einvoice/last-voucher
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

200/404
Success/Not Found
{
    "PtoVta": 1,
    "CbteTipo": 6,
    "CbteNro": 242426,
  }'

POST/ar/einvoice/create-voucher

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

POST
/ar/einvoice/create-voucher
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

200
Success
{
    "Cuit": 20111111112,
    "PtoVta": 1,
    "CbteTipo": 6,
    "FchProceso": 20230301,
    "CantReg": 1,
    "Cantidad": 1
  }'

GET/ar/einvoice/get-voucher

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

GET
/ar/einvoice/get-voucher
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

200/404
Success/Not Found
    {
      "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"
    }'

GET/ar/einvoice/voucher-types

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

GET
/ar/einvoice/voucher-types
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' 

GET/ar/einvoice/concept-types

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

GET
/ar/einvoice/concept-types
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' 

GET/ar/einvoice/document-types

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

GET
/ar/einvoice/document-types
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' 

GET/ar/einvoice/rates

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

GET
/ar/einvoice/rates
curl 
  --url https://sandbox-api.flick.network/ar/einvoice/rates \
  --header 'x-flick-auth-key: {token}' \
   --header 'cuit: {cuit}' \
  --header 'Content-Type: application/json' 

GET/ar/einvoice/currencies

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

GET
/ar/einvoice/currencies
curl 
  --url https://sandbox-api.flick.network/ar/einvoice/currencies \
  --header 'x-flick-auth-key: {token}' \
   --header 'cuit: {cuit}' \
  --header 'Content-Type: application/json' 

GET/ar/einvoice/options-types

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

GET
/ar/einvoice/options-types
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' 

GET/ar/einvoice/tax-types

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

GET
/ar/einvoice/tax-types
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'