Factura SDK

Introducción

Qué es Factura SDK, cómo funciona y qué necesitás para emitir comprobantes electrónicos en ARCA desde tu sistema.


¿Qué es Factura SDK?

Factura SDK es la solución de Afip SDK para emitir comprobantes electrónicos de punta a punta. Emite facturas, notas de crédito y notas de débito A, B y C con validez fiscal. Vos mandás los datos de la venta y Factura SDK se encarga del resto:

  • Se ocupa de los trámites en ARCA: crea el certificado con la clave fiscal, lista y crea los puntos de venta y acepta las delegaciones.
  • Autoriza el comprobante en ARCA y te devuelve el CAE, su vencimiento y el número asignado.
  • Genera el PDF del comprobante, con el código QR que exige ARCA, en una URL fija que podés compartir, y lo manda por email al receptor si se lo pedís.
  • Se ocupa del manejo de errores y reintentos en caso de que ARCA no este disponible.

Se integra desde cualquier lenguaje con una API REST y se administra desde el dashboard de Afip SDK.

Cómo funciona

  1. Creás un proyecto Factura SDK desde tu dashboard y un access token del ambiente en el que vas a trabajar.
  2. Das de alta los emisores: cada CUIT que va a facturar, con sus datos fiscales y su punto de venta.
  3. Le das a cada emisor un certificado: Factura SDK lo crea en ARCA con la clave fiscal, o subís el tuyo.
  4. Verificás el emisor: Factura SDK emite una factura de $1 y su nota de crédito para comprobar que todo está en orden, y el emisor queda activo.
  5. Configurás un webhook: la URL de tu sistema a la que Factura SDK avisa el resultado de cada comprobante.
  6. Emitís un comprobante y Factura SDK te envía el estado via Webhook. Admite Idempotencia.
  7. Compartís el PDF desde pdf_url, o dejás que Factura SDK se lo mande al receptor.

Para probar no hace falta nada de ARCA: con un access token de dev estás en un sandbox que simula el certificado, los trámites y la autorización, y devuelve un CAE de prueba.

Conceptos

Proyecto y access tokens

Un proyecto es tu espacio de trabajo: contiene sus propios emisores, certificados, webhooks y comprobantes. Para usar la API debes generar un Access Token en el ambiente que necesites:

Ambientes

AmbienteQué es
devSandbox, sin validez fiscal. Nada llega a ARCA: el certificado es simulado, los trámites terminan al instante y los comprobantes salen con un CAE de prueba.
prodProducción. Los certificados y los trámites son reales, y los comprobantes se autorizan en ARCA con validez fiscal.

Emisor

El emisor es el CUIT que factura. Tiene un punto de venta y un certificado, y emite solo cuando está verificado. Mas detalles en Emisores.

Certificado

ARCA exige firmar cada comprobante con un certificado digital. Con Factura SDK lo podes crear o subír el tuyo. Puede ser uno por cada emisor o uno solo si los emisores te delegaron para que actues en nombre de ellos. Mas detalles en Certificados.

Verificación

Antes de emitir, cada emisor se verifica: Factura SDK emite una factura de $1 a consumidor final y la nota de crédito que la anula. Si ARCA aprueba las dos, el emisor queda active. Esos dos comprobantes son reales (en el sandbox, simulados).

Comprobante

Los comprobantes se emiten llamando a nuestra API. Cuando emitís un comprobante con Factura SDK puede terminar con los estados approved, rejected o failed; mientras tanto está queued o processing. Por defecto la emisión es asíncrona: Factura SDK responde enseguida y el resultado llega por webhook. Con sync: true esperás el resultado en la misma respuesta. Mas detalles en Comprobantes.

Idempotencia

El header Idempotency-Key lo creas vos e identifica la venta en tu sistema: si repetís la solicitud con la misma clave, recibís el comprobante original en vez de emitir otro. Mandalo siempre: es lo que hace seguro reintentar.

Webhooks

Una URL de tu sistema a la que Factura SDK le manda un evento firmado cada vez que la emision de un comprobante finaliza. Es la forma de enterarte del resultado sin consultar. Mas detalles en Webhooks.

Qué necesitás

Para probar en dev:

  • Una cuenta en app.afipsdk.com con un proyecto de tipo Factura SDK y un access token de dev.

Para emitir en prod, por cada emisor:

Siguiente paso

Seguí con Primeros pasos para emitir tu primer comprobante en dev en unos minutos.