Open-source ERP for small-scale artisanal manufacturers and craft businesses
Craftplan brings all essential business tools into one platform: catalog management, inventory control, order processing, production planning, purchasing, and CRM, so you can get off the ground quickly without paying for multiple separate platforms.
Catalog & BOM
- Product catalog with photos and labels
- Versioned Bills of Materials — edit latest, older versions read-only
- Automatic cost rollups across nested BOMs
- Labor steps with time and cost tracking
Orders & Invoices
- Customer order processing with calendar-based scheduling
- Invoice generation
- Order item allocation to production batches
Production
- Production batching with automatic material consumption
- Cost snapshots per batch
- Completion workflow with produced quantity tracking
Inventory
- Raw material management with lot traceability
- Stock movements (consume, receive, adjust)
- Allergen and nutritional fact tracking
- Demand forecasting and reorder planning
Purchasing
- Purchase orders and supplier management
- Receiving into stock with lot creation
CRM
- Customer and supplier database
- Order history and statistics
Import / Export
- CSV bulk import for products, materials, and customers
- CSV export
- Transactional email delivery configurable from the UI
- SMTP, SendGrid, Mailgun, Postmark, Brevo, and Amazon SES
- API keys encrypted at rest
Calendar Feed
- iCal (.ics) subscription URL for Google Calendar, Apple Calendar, or any iCal-compatible app
- Includes order deliveries and production batch schedules
- Generate and revoke feeds from Settings
API
- JSON:API and GraphQL endpoints for programmatic access
- API key authentication with encrypted storage
- CORS configuration
Access Control
- Admin and staff roles
- Policy-based authorization on all resources
![]() |
![]() |
![]() |
![]() |
Elixir · Ash Framework · Phoenix LiveView · PostgreSQL · Tailwind CSS
Deploy Craftplan on your own server. No need to clone the repo:
curl -O https://raw.githubusercontent.com/puemos/craftplan/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/puemos/craftplan/main/.env.example
cp .env.example .env # Fill in the required secrets (see .env.example)
docker compose up -dThis starts Craftplan, PostgreSQL, and MinIO with migrations running automatically.
See the self-hosting guide for single-container mode, Railway deployment, reverse proxy setup, and more.
For contributors who want to work on the codebase. Prerequisites: Docker, Elixir ~> 1.15, Erlang/OTP 27
docker compose -f docker-compose.dev.yml up -d # Start PostgreSQL + MinIO + Mailpit
mix setup # Install deps, migrate, build assets, seed
mix phx.server # Start at localhost:4000See the development setup guide for detailed instructions.
- Purpose-built for artisanal manufacturing — not a generic ERP adapted to fit; workflows are designed around small-batch, made-to-order production
- Allergen & nutritional tracking — first-class support for food and beverage producers who need to track ingredients and generate nutrition labels
- BOM versioning with cost rollups — iterate on recipes and formulas while keeping full history and accurate costing
- Self-hosted, no vendor lock-in — your data stays on your infrastructure, backed by PostgreSQL
Contributions are welcome. For major changes, please open an issue first to discuss your proposal.
mix test # Run the test suite
mix format # Format code (Styler, Spark, Tailwind, HEEx)Commits follow the convention: type(scope): description (e.g., feat(batching):, fix(orders):, ui(production):).
This project is licensed under the AGPLv3 License. See the LICENSE file for details.




