Package Exports
- factus-js
Readme
factus-js
SDK TypeScript/JavaScript para la API de Factus — facturación electrónica en Colombia ante la DIAN.
Documentación completa: https://factusjs.vercel.app
Características
- Todos los endpoints de la API de Factus: facturas, notas crédito, documentos soporte, notas de ajuste, recepción RADIAN, rangos de numeración, catálogos y más.
- Autenticación OAuth2 automática con refresh de token.
- Tipado completo con TypeScript — autocompletado, payloads y respuestas tipados.
- Constantes DIAN tipadas: medios de pago, formas de pago, tipos de documento, tributos, etc.
- Compatible con cualquier runtime JavaScript: Node.js, Deno, Bun.
- Cero dependencias externas.
Instalación
# npm
npm install factus-js
# yarn
yarn add factus-js
# pnpm
pnpm add factus-js
# bun
bun add factus-jsUso básico
import { FactusClient } from "factus-js";
const factus = new FactusClient({
clientId: process.env.FACTUS_CLIENT_ID!,
clientSecret: process.env.FACTUS_CLIENT_SECRET!,
username: process.env.FACTUS_USERNAME!,
password: process.env.FACTUS_PASSWORD!,
environment: "sandbox", // "production" para ambiente real
});
// Listar facturas
const bills = await factus.bills.list({ page: 1, per_page: 10 });
console.log(bills.data.data);
// Crear una factura electrónica
const invoice = await factus.bills.create({
/* payload */
});
// Descargar PDF
const pdf = await factus.bills.downloadPdf("SETT1");Módulos disponibles
| Módulo | Descripción |
|---|---|
factus.bills |
Facturas electrónicas de venta |
factus.creditNotes |
Notas crédito |
factus.supportDocuments |
Documentos soporte |
factus.adjustmentNotes |
Notas de ajuste para documento soporte |
factus.reception |
Recepción de facturas y eventos RADIAN |
factus.company |
Datos de empresa |
factus.numberingRanges |
Rangos de numeración DIAN |
factus.subscription |
Estado del plan/suscripción |
factus.catalog |
Municipios, países, tributos, unidades y adquirentes |
Exportaciones
import {
FactusClient,
FactusError,
// Constantes DIAN tipadas
PaymentMethodCode,
PaymentFormCode,
IdentityDocumentTypeId,
// ... y más
} from "factus-js";Documentación
Para guías completas, referencia de la API, ejemplos y más, visita la documentación: