@lacspace/order
Headless order-lifecycle engine — an immutable order model with a state machine, order-number generation, line-item price snapshotting and timestamped status history. Integer minor units, zero-dependency, isomorphic.
npm i @lacspace/orderUsage
import { createOrder, transition, orderNumber } from "@lacspace/order";
let order = createOrder({
number: orderNumber(1042), // "ORD-20260905-1042"
currency: "NPR",
customer: { id: "cus_1", name: "Sita" },
lines: [{ id: "l1", sku: "NP-1", name: "Dhaka Topi", unitPrice: 120000, qty: 2, taxRate: 0.13 }],
shipping: 10000,
});
order = transition(order, "placed");
order = transition(order, "paid", { note: "eSewa ref 9x..." });
// order.history is a timestamped audit trail; line prices are snapshotted; totals in integer paisaExports 15
createOrdertransitionaddLineremoveLineupdateQtycanTransitionisTerminalcanCancelcanRefundcanShipcanFulfillorderNumberrandomOrderIdORDER_TRANSITIONSOrderErrorKeywords
More in Commerce & Ledger
Headless, framework-agnostic shopping-cart engine — pure, immutable & serializable. Add/merge lines, set quantities, compute tax/discount/shipping totals in integer minor units. Isomorphic (Node, edge, browser).
@lacspace/inventoryStock-tracking engine that prevents overselling — reserve, release, commit & restock over a plain { onHand, reserved } state. Immutable, bring-your-own-store, throws before it oversells. Isomorphic.
@lacspace/commissionCommission & payout calculation engine — flat, percentage and marginal-tiered rules with min/cap, plus exact proportional split with remainder distribution. Integer minor units, zero floats. Isomorphic.
@lacspace/settlementSettlement, netting & reconciliation for multi-party payouts — net signed ledger entries per account, reconcile expected vs actual, and list payable positive balances. Integer minor units, pure functions. Isomorphic.
@lacspace/couponDiscount & coupon engine — percent, fixed and free-shipping codes with validity windows, minimum-subtotal, discount caps and usage limits. Integer minor units, no float drift. Zero-dependency, isomorphic.
@lacspace/taxVAT & sales-tax done right — exact integer minor-unit arithmetic (no float cents bugs), add/extract tax, inclusive & exclusive prices, compound taxes, half-up/bankers rounding. Isomorphic.