Saltearse al contenido

@nodecfdi/cfdi-expresiones

Esta librería contiene objetos de ayuda para crear expresiones de CFDI 3.2, CFDI 3.3, CFDI 4.0, RET 2.0 y RET 1.0 de acuerdo a la información técnica del SAT en el Anexo 20.

Librería inspirada por la versión para php https://github.com/phpcfdi/cfdi-expresiones

Estas expresiones se utilizan principalmente para dos motivos:

  1. Generar el código QR de una representación impresa de un CFDI o RET.
  2. Consultar el WebService del SAT de estado de un CFDI.

Ejemplo de expresión para CFDI 3.3 && CFDI 4.0:

https://verificacfdi.facturaelectronica.sat.gob.mx/default.aspx?id=CEE4BE01-ADFA-4DEB-8421-ADD60F0BEDAC&re=POT9207213D6&rr=DIM8701081LA&tt=2010.01&fe=/OAgdg==

Ejemplo de expresión para CFDI 3.2:

?re=AAA010101AAA&rr=COSC8001137NA&tt=0000001234.567800&id=CEE4BE01-ADFA-4DEB-8421-ADD60F0BEDAC

Ejemplo de expresión para RET 1.0:

?re=XAXX010101000&nr=12345678901234567890&tt=1234567890.123456&id=ad662d33-6934-459c-a128-BDf0393f0f44

Ejemplo de expresión para RET 2.0:

https://prodretencionverificacion.clouda.sat.gob.mx/?id=ad662d33-6934-459c-a128-BDf0393f0f44&re=XAXX010101000&nr=12345678901234567890&tt=1234567890.12&fe=/OAgdg==

Primeros pasos

Instalación

Para comenzar a utilizar la libreria lo primero que hay que hacer es instalarla, corre el siguiente comando en tu terminal:

Ventana de terminal
npm i @nodecfdi/cfdi-expresiones --save

Con esto ya tendremos la libreria instalada y lista para ser usada.

Uso básico

import { readFileSync } from 'fs';
import { DiscoverExtractor } from '@nodecfdi/cfdi-expresiones';
import { newDocumentContent } from '@nodecfdi/cfdi-core';
// creamos el extractor
const extractor = new DiscoverExtractor();
// Accedemos al contenido en nuestro archivo XML
const content = readFileSync('archivo-cfdi.xml').toString();
// generamos el documento con ayuda de @nodecfdi/cfdi-core
const document = newDocumentContent(content);
// obtenemos la expresión
const expression = extractor.extract(document);
// y también podemos obtener los valores inviduales
const values = extractor.obtain(document);