Skip to content
/ qrafip Public

script en Php para la generacion del código QR para comprobantes electrónicos

Notifications You must be signed in to change notification settings

aledc7/qrafip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 

Repository files navigation

QR AFIP

aledc.tk aledc.tk

Generación del Código QR para AFIP Argentina

aledc.com License GitHub release Dependencies

La Administración Federal de Ingresos Públicos dispuso la implementación obligatoria de un código de respuesta rápida “QR” en los comprobantes electrónicos. El código “QR” podrá ser escaneado por una cámara estándar de un dispositivo celular, tablet o similar con acceso a internet y brindará información sobre el comprobante y el emisor del mismo.

Esta medida alcanza a todos los contribuyentes y/o responsables cuya autorización de emisión de comprobantes electrónicos, se haya tramitado en los términos del “Régimen de Emisión de Comprobantes Electrónicos” establecido por la Resolución General N° 4.291.

Ejemplo funcionando en PHP para integrar a sus Sistemas.

El siguiente código de PHP usa la librería https://github.com/endroid/qr-code la cual se puede descargar con Composer.


Instalacion

Existen dos maneras de instalar, la primera es descargando la carpeta con el mini proyecto funcionando.

Sencillamente descargar el Proyecto , descomprimir el zip, y poner esa carpeta en un server Apache y ya estará funcionando, solo restara reemplazar los datos de ejemplo con las variables de tu sistema para que se genere dinamicamente el QR.


La segunda manera de instalar es esutilizando Composer:

Instalar con Composer:

    • Crear una nueva carpeta y con tu editor de código favorito
    • Dentro de la Carpeta recién creada ejecutar composer en la terminal, para descargar las dependencias:
composer require endroid/qr-code
    • Crear un archivo index.php y pegar el siguiente código:
<?php

// NOTA:  Este es un ejemplo para generar el código QR para las facturas de AFIP Argentina
// que se solicita en la nueva normativa del 2021.
// Solo resta integrarlo en el sistema que vos tengas.

// Para consultas profesionales podes contactarme en ing.alejandrodecastro@gmail.com


header("content-type: image/png");

require "vendor/autoload.php";

use Endroid\QrCode\QrCode;

// genero los datos para AFIP
$url = 'https://www.afip.gob.ar/fe/qr/'; // URL que pide AFIP que se ponga en el QR. 
$datos_cmp_base_64 = json_encode([ 
    "ver" => 1,                         // Numérico 1 digito -  OBLIGATORIO – versión del formato de los datos del comprobante	1
    "fecha" => "2020-10-13",            // full-date (RFC3339) - OBLIGATORIO – Fecha de emisión del comprobante
    "cuit" => (int) 30000000007,        // Numérico 11 dígitos -  OBLIGATORIO – Cuit del Emisor del comprobante  
    "ptoVta" => (int) 10,               // Numérico hasta 5 digitos - OBLIGATORIO – Punto de venta utilizado para emitir el comprobante
    "tipoCmp" => (int) 1,               // Numérico hasta 3 dígitos - OBLIGATORIO – tipo de comprobante (según Tablas del sistema. Ver abajo )
    "nroCmp" => (int) 94,               // Numérico hasta 8 dígitos - OBLIGATORIO – Número del comprobante
    "importe" => (float) 12100,         // Decimal hasta 13 enteros y 2 decimales - OBLIGATORIO – Importe Total del comprobante (en la moneda en la que fue emitido)
    "moneda" => "PES",                  // 3 caracteres - OBLIGATORIO – Moneda del comprobante (según Tablas del sistema. Ver Abajo )
    "ctz" => (float) 1,                 // Decimal hasta 13 enteros y 6 decimales - OBLIGATORIO – Cotización en pesos argentinos de la moneda utilizada (1 cuando la moneda sea pesos)
    "tipoDocRec" =>  80 ,               // Numérico hasta 2 dígitos - DE CORRESPONDER – Código del Tipo de documento del receptor (según Tablas del sistema )
    "nroDocRec" =>  20000000001,        // Numérico hasta 20 dígitos - DE CORRESPONDER – Número de documento del receptor correspondiente al tipo de documento indicado
    "tipoCodAut" => "E",                // string - OBLIGATORIO – “A” para comprobante autorizado por CAEA, “E” para comprobante autorizado por CAE
    "codAut" => (int) 70417054367476    // Numérico 14 dígitos -  OBLIGATORIOCódigo de autorización otorgado por AFIP para el comprobante
]); 

$datos_cmp_base_64 = base64_encode($datos_cmp_base_64); 
$to_qr = $url.'?p='.$datos_cmp_base_64;




$qrcode = new QrCode($to_qr);

echo $qrcode->writeString();

die();




?>

Eso sería todo, de esta manera podras integrar la generación de este código QR a tu Sistema de Facturación

About

script en Php para la generacion del código QR para comprobantes electrónicos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages