mothermachine

Browse / Invoicing and finance

Lambda ERP

Chat-first open-source ERP with a native MCP server, REST API and plugin seams for per-customer deployments.

AdaptableOperable Business appWeb app Hybrid PythonTypeScript MCP server License: Apache-2.0

Lambda ERP runs invoicing, sales and purchase cycles, stock and a double-entry general ledger, and is driven mainly by chat: a planner model calls document, master and report tools, and an Anthropic sub-agent writes custom analytics. Any MCP client can drive the same tools at POST /api/mcp with role-capped keys. Apache-2.0, one deployment per company, extended through a plugin repo rather than a fork.

Use it when
  • I run a small company in Switzerland, Germany or with a generic chart and want to create quotes and invoices by asking, not clicking
  • I am an implementation partner and want to hand each client an ERP my agent can operate over MCP and extend from a plugin repo
Gotchas
  • Localization packs exist only for Switzerland and Germany (SKR03/SKR04) plus a generic chart; other countries need a contributed pack
  • Multi-currency, approval workflows, manufacturing and payroll are on the todo list
  • First Docker boot runs a 3-year demo simulator and takes 2-3 minutes
  • Real-software signal is thin: 30 stars, 6 forks, all issues from one account; kept on the Show HN thread and PyPI/npm releases

Last activity Aug 29, 2026. Fit: adaptable 3, operable 3.

Editions

Free · Free open source

  • Clonegit clone https://github.com/lambdadevelopment/lambda-erp
  • ImageContainer
  • Installpip install lambda-erp

Hosted (dedicated instance per customer) · Free closed source

No distribution recorded.

For agents: JSON · Markdown

Adaptable: what is yours to change

Make it yours

Config only12 things to edit

For a Swiss, German or generic-chart business the surface is the .env (OpenAI key for chat, optional Anthropic key for custom reports, seeded admin) plus the setup conversation that books the chart of accounts and tax templates. Branding, feature toggles and base currency belong in config/env in a customer repo; new doctypes, GL overrides and country packs are Python or TypeScript plugins loaded through LAMBDA_ERP_PLUGINS.

Env vars
OPENAI_API_KEY ANTHROPIC_API_KEY ANTHROPIC_CODE_MODEL LAMBDA_ERP_ADMIN_EMAIL LAMBDA_ERP_ADMIN_PASSWORD LAMBDA_ERP_ADMIN_NAME LAMBDA_ERP_PLUGINS LAMBDA_ERP_ENABLE_PUBLIC_DEMO JWT_SECRET_KEY
Config files
.env docker-compose.yml frontend/src/lib/doctypes.ts
Prompt files
none
Accounts you need
OpenAI API accountAnthropic API account (custom analytics only)

Source

Operable: what an agent can drive

Interface

NativeMCP serverpublished by the builderlocal

How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.

Docs
github.com/lambdadevelopment/lambda-erp#what-works-today
Tools
document CRUD search_masters get_master_fields reports aggregations create_custom_analytics_report

Reach

Partial coverage. 9 of 10 jobs reachable through the stated interface.

JobThrough the interfaceEvidence
Set up the company and chart of accountsReachableguided setup runs through chat; chat API (docs/chat-api.md) shares the same keys
Quotation, sales order, delivery note, sales invoice, paymentReachableMCP lists/creates/submits documents; REST POST /api/documents/{type} and .../submit
Purchase cycleReachableREADME: buying equivalents of the sales cycle on the same Document lifecycle
Returns, credit and debit notesReachableREADME what-works list; document conversions through .../convert
Stock ledger and balancesReachablestock_balances semantic dataset; Stock Entry documents
General ledger and preset reportsReachableMCP 'run reports'; REST /api/reports/…; Trial Balance, P&L, Balance Sheet, AR/AP aging
Master data (customers, suppliers, items)ReachableREST /api/masters/{type}; MCP manage master data
Custom analytics reportsReachablechat tool create_custom_analytics_report; needs ANTHROPIC_API_KEY
Create documents from PDF or image attachmentsUndeterminedREADME: attachments handled in chat; not confirmed for the chat API
Users, roles and API keysReachableadmin-role key reaches settings and user endpoints (docs/rest-api.md)

Code stack

Languages
PythonTypeScript
Frameworks
FastAPIReactViteTailwind
Package manager
pip / npm
Database
SQLitePostgreSQL
Hosting target
Docker Composesingle VPSAzure Container Apps (demo)
Built
Mixed (recorded, never ranked)

Model stack

Providers
OpenAI (orchestrator)Anthropic (code specialist)
Models
claude-opus-4-7 default for ANTHROPIC_CODE_MODEL
Keys you need
OPENAI_API_KEY ANTHROPIC_API_KEY ANTHROPIC_CODE_MODEL
Prompts live in
api/chat.py (tool schemas and reasoning loop) docs/agents/

Evidence and confidence

FieldWhere it was seenConfidence
formFactorReact frontend plus FastAPI backend served on one origin (README How it works)90%
executionModelplanner model with whitelisted tools and semantic datasets; deterministic GL engine underneath90%
operabilityREADME: MCP at POST /api/mcp built from the live registries; docs/rest-api.md and docs/chat-api.md from the Builder85%
effort.env.example in repo; README Environment section; plugin seams documented in docs/core-extension-architecture.md75%
editionsApache-2.0 source, PyPI and npm packages; README offers dedicated hosted instances without a price80%
activeGitHub pushedAt 2026-08-29; Show HN 2026-04-26–
reach75%

Open questions

  • Gate 3 borderline (see gotchas); Curator to confirm
  • Whether the chat API accepts attachments
  • Exact MCP tool names (README describes them; no tool list fetched)

Sources