# @cfdi/xsd

> Validacion de CFDI contra esquemas XSD oficiales del SAT

Latest version **4.0.19** (published 2026-07-22) · MIT license · 0 weekly downloads

## Install

```sh
npm install @cfdi/xsd
pnpm add @cfdi/xsd
yarn add @cfdi/xsd
bun add @cfdi/xsd
```

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 4.0.19 |
| Published | 2026-07-22 |
| First published | 2023-04-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=22 |
| Dependencies | 2 |
| Unpacked size | 309.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 26 |
| Author | Amir Misael Marin Coh |
| Maintainers | alym |
| Keywords | cfdi, sat, xsd, validacion, esquema, schema, xml, factura electronica, mexico, cfdi 4.0, node, typescript |

## Links

- npm: https://www.npmjs.com/package/@cfdi/xsd
- Repository: https://github.com/MisaelMa/node-cfdi
- Homepage: https://cfdi.recreando.dev
- Issues: https://github.com/MisaelMa/node-cfdi/issues
- npm.io page: https://npm.io/package/@cfdi/xsd

## Dependencies (2)

- [ajv](https://npm.io/package/ajv.md) ^8.12.0
- [xml-js](https://npm.io/package/xml-js.md) ^1.6.11

## Alternatives

- [babylon](https://npm.io/package/babylon.md) — 5.1M weekly downloads
- [csscolorparser](https://npm.io/package/csscolorparser.md) — 3.7M weekly downloads
- [expr-eval-fork](https://npm.io/package/expr-eval-fork.md) — 1.5M weekly downloads
- [@leeoniya/ufuzzy](https://npm.io/package/@leeoniya/ufuzzy.md) — 247.7K weekly downloads
- [xml-parser](https://npm.io/package/xml-parser.md) — 78.4K weekly downloads

## Recent versions

- 4.0.19 (latest) — 2026-07-22
- 4.0.17 (legacy) — 2026-04-25
- 4.0.17-beta.0 (beta) — 2026-04-22
- 4.0.17-alpha.6 (dev) — 2026-04-22
- 4.0.18 — 2026-04-25
- 4.0.17-dev.6 — 2026-04-10
- 4.0.17-dev.5 — 2026-04-08
- 4.0.17-dev.3 — 2026-04-07
- 4.0.17-dev.2 — 2026-04-07
- 4.0.17-dev.1 — 2026-04-07
- 4.0.16 — 2024-11-11
- 4.0.15 — 2024-11-08
- 4.0.14 — 2024-11-08
- 4.0.14-beta.4 — 2024-10-24
- 4.0.14-beta.3 — 2024-10-14
- … 19 more at https://npm.io/package/@cfdi/xsd/versions

## README

# CFDI - Comprobantes Fiscales Digitales por Internet

Ecosistema completo de paquetes Node.js/TypeScript para la generación, validación, firma y procesamiento de CFDI en México.

## Paquetes

### Core Fiscal

| Paquete                                          | Descripcion                                              |
| ------------------------------------------------ | -------------------------------------------------------- |
| [@cfdi/xml](packages/cfdi/xml)                   | Generacion y sellado de XML CFDI 4.0                     |
| [@cfdi/complementos](packages/cfdi/complementos) | Complementos fiscales (pagos, nomina, carta porte, etc.) |
| [@cfdi/elements](packages/cfdi/elements)         | Elementos estructurales del comprobante                  |
| [@cfdi/types](packages/cfdi/types)               | Definiciones de tipos TypeScript para CFDI               |
| [@cfdi/catalogos](packages/cfdi/catalogos)       | Catalogos del SAT (formas de pago, regimenes, etc.)      |

### Validacion

| Paquete                              | Descripcion                           |
| ------------------------------------ | ------------------------------------- |
| [@cfdi/xsd](packages/cfdi/xsd)       | Validacion XSD con JSON Schema        |
| [@cfdi/schema](packages/cfdi/schema) | Procesamiento de esquemas XSD del SAT |

### Identidades y Certificados

| Paquete                                | Descripcion                                         |
| -------------------------------------- | --------------------------------------------------- |
| [@cfdi/csd](packages/cfdi/csd)         | Manejo de Certificados de Sello Digital (.cer/.key) |
| [@cfdi/csf](packages/cfdi/csf)         | Lectura de Constancia de Situacion Fiscal (PDF)     |
| [@cfdi/rfc](packages/cfdi/rfc)         | Validacion de RFC                                   |
| [@renapo/curp](packages/renapo/curp)   | Validacion y consulta de CURP                       |
| [@sat/auth](packages/sat/auth)         | Autenticacion con webservices del SAT (FIEL)        |
| [@sat/recursos](packages/sat/recursos) | Descarga de recursos XSD/XSLT del SAT               |

### Transformacion

| Paquete                                        | Descripcion                   |
| ---------------------------------------------- | ----------------------------- |
| [@cfdi/2json](packages/cfdi/xml2json)          | Conversion de XML CFDI a JSON |
| [@cfdi/transform](packages/cfdi/transform)     | Transformacion de datos CFDI  |
| [@cfdi/expresiones](packages/cfdi/expresiones) | Expresiones impresas del CFDI |

### PDF

| Paquete                                | Descripcion                                    |
| -------------------------------------- | ---------------------------------------------- |
| [@cfdi/designs](packages/cfdi/designs) | Disenos y plantillas PDF para facturas         |
| [@cfdi/pdf](packages/cfdi/pdf)         | Opciones de generacion PDF                     |
| [@cfdi/utils](packages/cfdi/utils)     | Utilidades (numeros a letras, logos, archivos) |

### CLI Tools

| Paquete                                 | Descripcion                          |
| --------------------------------------- | ------------------------------------ |
| [@clir/openssl](packages/clir/openssl)  | Wrapper de OpenSSL para certificados |
| [@saxon-he/cli](packages/clir/saxon-he) | Wrapper de Saxon-HE para XSLT/XPath  |

## Requisitos del sistema

- **Node.js** >= 22
- **Java JDK** (para Saxon-HE)
- **OpenSSL** (para operaciones con certificados)
- **Saxon-HE** >= 9.9 (para cadena original)

### Instalacion de dependencias del sistema

```bash
# Java JDK
sudo apt install default-jre default-jdk

# OpenSSL
# Debian/Ubuntu
sudo apt-get install openssl
# CentOS/Red Hat
yum install openssl
# macOS
brew install openssl

# Saxon-HE
# Ver: https://github.com/MisaelMa/saxon-he
```

## Inicio rapido

```bash
# Instalar Rush y pnpm
npm install -g @microsoft/rush
npm install -g pnpm

# Clonar e instalar
git clone https://github.com/MisaelMa/cfdi.git
cd cfdi
rush install

# Compilar todos los paquetes
rush build

# Ejecutar tests
rush test:ci
```

## Uso basico

```bash
npm install @cfdi/xml @cfdi/csd
```

```typescript
import { CFDI } from '@cfdi/xml';

const cfdi = new CFDI({ xslt: 'path/to/cadenaoriginal.xslt' });

cfdi.certificar('path/to/certificado.cer');
cfdi.setEmisor({
  Rfc: 'AAA010101AAA',
  Nombre: 'Empresa SA',
  RegimenFiscal: '601',
});
cfdi.setReceptor({
  Rfc: 'XAXX010101000',
  Nombre: 'Publico General',
  UsoCFDI: 'S01',
});
cfdi.addConcepto({
  ClaveProdServ: '01010101',
  Cantidad: '1',
  ClaveUnidad: 'ACT',
  Descripcion: 'Servicio profesional',
  ValorUnitario: '1000.00',
  Importe: '1000.00',
});

await cfdi.sellar('path/to/llave.key', 'password');
const xml = cfdi.getXmlCdfi();
```

## Licencia

[MIT](LICENSE) - Amir Misael Marin Coh

---
_Source: https://npm.io/package/@cfdi/xsd · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
