Open Source
Commercio
ERP module for Node.js. Categories, products, variants, warehouses, inventory, customers, orders — all through a TypeScript API with PostgreSQL and Drizzle ORM.
Installation
npm install commercioExample
import { initDatabase, createServices } from "commercio";
await initDatabase({
dialect: "postgresql", // or "mysql", "sqlite"
connectionString: process.env.DATABASE_URL,
runMigrations: true,
});
const { categoryService, productService, orderService } = createServices();
// Create a category and product
const category = await categoryService.createCategory("Electronics");
const product = await productService.createProduct(
"Dell XPS 15",
"SKU-LAPTOP-001",
category.id
);Documentation
Installation
Setup, database connection, migrations
Quick Start
Full workflow from category to order
Categories
Organize products, activate/deactivate
Products & Variants
SKU management, variants with attributes
Customers
Customer management, payment terms, order history
Warehouses & Inventory
Multi-warehouse, reservations, transactions
Orders
Order workflow: create, confirm, ship
API Reference
All services and methods at a glance
Business Workflows
End-to-end examples showing how multiple services work together for real business processes.
B2B Order-to-Cash
Customer onboarding, catalog, pricing, order, fulfillment, invoice, payment
Supplier Procurement
Low-stock detection, purchase orders, batch tracking, inventory receipt
Returns & Refund
RMA workflow, serial number tracking, refund processing
International Sales
Multi-currency pricing, tax per country, cross-border invoicing
Inventory & Replenishment
Multi-warehouse stock, reorder rules, batch expiry, plugin-driven alerts
TypeScript · PostgreSQL · Drizzle ORM · Pino Logging
Node.js 18+ · MIT License