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.
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.
- 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
- 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.
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_KEYANTHROPIC_API_KEYANTHROPIC_CODE_MODELLAMBDA_ERP_ADMIN_EMAILLAMBDA_ERP_ADMIN_PASSWORDLAMBDA_ERP_ADMIN_NAMELAMBDA_ERP_PLUGINSLAMBDA_ERP_ENABLE_PUBLIC_DEMOJWT_SECRET_KEY- Config files
.envdocker-compose.ymlfrontend/src/lib/doctypes.ts- Prompt files
- none
- Accounts you need
- OpenAI API accountAnthropic API account (custom analytics only)
Source
- github.com/lambdadevelopment/lambda-erp
- Apache-2.0 license
- Last commit Aug 29, 2026
- 30 stars
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 CRUDsearch_mastersget_master_fieldsreportsaggregationscreate_custom_analytics_report
Reach
Partial coverage. 9 of 10 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| Set up the company and chart of accounts | Reachable | guided setup runs through chat; chat API (docs/chat-api.md) shares the same keys |
| Quotation, sales order, delivery note, sales invoice, payment | Reachable | MCP lists/creates/submits documents; REST POST /api/documents/{type} and .../submit |
| Purchase cycle | Reachable | README: buying equivalents of the sales cycle on the same Document lifecycle |
| Returns, credit and debit notes | Reachable | README what-works list; document conversions through .../convert |
| Stock ledger and balances | Reachable | stock_balances semantic dataset; Stock Entry documents |
| General ledger and preset reports | Reachable | MCP 'run reports'; REST /api/reports/…; Trial Balance, P&L, Balance Sheet, AR/AP aging |
| Master data (customers, suppliers, items) | Reachable | REST /api/masters/{type}; MCP manage master data |
| Custom analytics reports | Reachable | chat tool create_custom_analytics_report; needs ANTHROPIC_API_KEY |
| Create documents from PDF or image attachments | Undetermined | README: attachments handled in chat; not confirmed for the chat API |
| Users, roles and API keys | Reachable | admin-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_KEYANTHROPIC_API_KEYANTHROPIC_CODE_MODEL- Prompts live in
api/chat.py (tool schemas and reasoning loop)docs/agents/
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | React frontend plus FastAPI backend served on one origin (README How it works) | 90% |
| executionModel | planner model with whitelisted tools and semantic datasets; deterministic GL engine underneath | 90% |
| operability | README: MCP at POST /api/mcp built from the live registries; docs/rest-api.md and docs/chat-api.md from the Builder | 85% |
| effort | .env.example in repo; README Environment section; plugin seams documented in docs/core-extension-architecture.md | 75% |
| editions | Apache-2.0 source, PyPI and npm packages; README offers dedicated hosted instances without a price | 80% |
| active | GitHub pushedAt 2026-08-29; Show HN 2026-04-26 | – |
| reach | 75% |
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
- github.com/lambdadevelopment/lambda-erp sourcing:invoicing-finance:community
- github.com/lambdadevelopment/lambda-erp/blob/main/docs/rest-api.md analysis:invoicing-finance
- pypi.org/project/lambda-erp/ analysis:invoicing-finance