Los dos modos de remisión
VERI*FACTU voluntario y respuesta a requerimiento (con firma XAdES-BES envolvente) cubiertos desde una única API.
Emite, anula y consulta facturas españolas contra la AEAT — con cadena de huellas, generación del QR, mTLS y el validador completo de las 23 reglas incluidos.
bun add verifactu-sdk
# o
npm i verifactu-sdkimport { VerifactuClient, Environment } from 'verifactu-sdk';
import { readFileSync } from 'node:fs';
const client = new VerifactuClient({
environment: Environment.Preproduction,
mode: 'verifactu',
certificate: { pfx: readFileSync('./cert.pfx'), passphrase: process.env.CERT_PASS! },
taxpayer: { nif: 'B12345678', legalName: 'My Company SL' },
billingSystem: {
producerName: 'My Company SL',
nif: 'B12345678',
systemId: 'JC',
systemName: 'My App',
version: '1.0.0',
installationNumber: '0001',
onlyVerifactu: 'S',
multipleTaxpayer: 'N',
hasMultipleTaxpayers: 'N',
},
});
const response = await client.registerInvoice({
invoiceId: { issuerNif: 'B12345678', seriesNumber: 'A/2026/0001', issueDate: '2026-05-20' },
invoiceType: 'F1',
recipients: [{ nif: '12345678Z', legalName: 'Customer SL' }],
breakdown: [
{ tax: '01', regimeKey: '01', operationQualification: 'S1', taxRate: '21', taxBase: '100.00', taxAmount: '21.00' },
],
totalTaxAmount: '21.00',
totalAmount: '121.00',
description: 'Servicios de consultoría',
});
console.log(response.csv, response.envelopeState);