-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c067563
commit 7e21b8b
Showing
2 changed files
with
54 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
--- | ||
title: "Crear QR de AFIP en NodeJS" | ||
description: "Con pocas líneas de código" | ||
pubDate: "Oct 24 2024" | ||
cover: "/images/blog/nodejs-create-qr.png" | ||
category: "Javascript" | ||
--- | ||
|
||
Luego de [obtener el CAE](/blog/crear-factura-electronica-de-afip-en-nodejs/) vamos a generar el QR de AFIP para nuestro comprobante. | ||
|
||
## Preparamos el QR | ||
|
||
Para generar el QR vamos a utilizar [node-qrcode](https://github.com/soldair/node-qrcode) | ||
|
||
```bash | ||
npm install qrcode | ||
``` | ||
|
||
Y generamos el codigo QR | ||
|
||
```js | ||
const QRCode = require('qrcode'); | ||
|
||
(async () => { | ||
// Datos para el QR (Respetar si es string o numero) | ||
const QRCodeData = { | ||
'ver': 1, // Versión del formato de los datos (1 por defecto) | ||
'fecha': '2017-10-25', // Fecha de emisión del comprobante | ||
'cuit': 12345678912, // Cuit del Emisor del comprobante | ||
'ptoVta': 1, // Punto de venta utilizado para emitir el comprobante | ||
'tipoCmp': 6, // Tipo de comprobante | ||
'nroCmp': 32, // Tipo de comprobante | ||
'importe': 150, // Importe Total del comprobante (en la moneda en la que fue emitido) | ||
'moneda': 'ARS', // Moneda del comprobante | ||
'ctz': 1, // Cotización en pesos argentinos de la moneda utilizada | ||
'tipoDocRec': 80, // Código del Tipo de documento del receptor | ||
'nroDocRec': 12345678912, // Número de documento del receptor | ||
'tipoCodAut': 'E', // “A” para comprobante autorizado por CAEA, “E” para comprobante autorizado por CAE | ||
'codAut': 12345678912345 // CAE o CAEA, segun corresponda | ||
}; | ||
|
||
|
||
// Preparamos el texto para el qr en base a https://www.afip.gob.ar/fe/qr/documentos/QRespecificaciones.pdf | ||
const QRCodeText = 'https://www.afip.gob.ar/fe/qr/?p=' + btoa(JSON.stringify(QRCodeData)); | ||
|
||
console.log(await QRCode.toDataURL(QRCodeText)); // Podemos obtenerlo como URL | ||
await QRCode.toFile('qr-afip.png', QRCodeText); // o podemos guardarlo como un archivo | ||
})(); | ||
``` | ||
|
||
![QR de AFIP](/images/blog/qr-afip.png) | ||
|
||
|
||
Ya tenemos el QR listo para nuestro comprobante. Ahora podemos [crear el PDF](/blog/crear-pdf-de-afip-en-nodejs/) |