API de factura electrónica de AFIP

Como usarla paso a paso

avatar
Ivan Muñoz mar 17, 2024 - Ultima edicion oct 11, 2024
API

API de factura electrónica de AFIP

El primer paso para crear una factura electrónica de AFIP es obtener el Código de Autorización Electrónico o CAE.

Esto lo vamos a hacer utilizando el API de factura electrónica de Afip SDK, que nos permite conectarnos a los web services de AFIP sin complicarnos con el uso de SOAP y la autenticación.

Obtener la autorización

Lo primero que tenemos que hacer es obtener el “Token Authorization”, que sería la autorización en AFIP.

Para usar los web services de AFIP necesitamos un certificado y key, pero Afip SDK nos permite utilizar el CUIT 20409378472 en modo testing para integrarnos rápidamente.

Debemos ejecutar una solicitud POST al endpoint:

https://app.afipsdk.com/api/v1/afip/auth
{
    "environment": "dev",
    "tax_id": "20409378472",
    "wsid": "wsfe"
}

Como respuesta nos devolverá

{
    "expiration": "2024-03-13T00:42:59.845Z",
    "token": "PD94bWwgd...",
    "sign": "kEaCwSs36hpe..."
}

Aquí tenemos el token y el sign que nos dio AFIP para usar el web service. No es necesario que lo guardemos, Afip SDK se encarga de esto por nosotros. Debemos solicitarlo antes de cada llamada a los métodos del web service.

Crear la factura

Vamos a crear una Factura B por un importe de $121

Debemos ejecutar una solicitud POST al endpoint

https://app.afipsdk.com/api/v1/afip/requests
{
    "environment": "dev",
    "method": "FECAESolicitar",
    "wsid": "wsfe",
    "params": {
        "Auth" : { 
            "Token": "{{token}}",
            "Sign": "{{sign}}",
            "Cuit": "20409378472"
        },
        "FeCAEReq" : {
            "FeCabReq" : {
                "CantReg" 	: 1,
                "PtoVta" 	: 1,
                "CbteTipo" 	: 6
            },
            "FeDetReq" : { 
                "FECAEDetRequest" : {
                    "Concepto" : 1,
                    "DocTipo" : 99,
                    "DocNro" : 0,
                    "CbteDesde" : 1,
                    "CbteHasta" : 1,
                    "CbteFch" : 20240317,
                    "ImpTotal" : 121,
                    "ImpTotConc" : 0,
                    "ImpNeto" : 100,
                    "ImpOpEx" : 0,
                    "ImpIVA" : 21,
                    "ImpTrib" : 0,
                    "MonId" : "PES",
                    "MonCotiz" : 1,
                    "Iva" : { 
                        "AlicIva": [{
                                "Id" : 5,
                                "BaseImp" : 100,
                                "Importe" : 21
                        }]
                    }
                }
            }
        }
    }
}

Debemos reemplazar {{token}} y {{sign}} con los que obtuvimos anteriormente.

En la respuesta, nos devolverá el CAE y su vencimiento:

{
...
  "CAE": "12345678987654",
  "CAEFchVto": "20240327"
...
}

Eso es todo, ya tenemos el CAE correspondiente a la factura que acabamos de crear a través del API de factura electrónica de Afip SDK.

Lo único que nos queda es pasar a modo producción. Para más información de cómo hacerlo, pueden dirigirse a la documentación de la librería: https://docs.afipsdk.com/