Skip to content

Self-hosted software for managing artisanal D2C micro-businesses

License

Notifications You must be signed in to change notification settings

puemos/craftplan

Repository files navigation

GitHub-Banner

Craftplan

Open-source ERP for small-scale artisanal manufacturers and craft businesses

License: AGPLv3 Elixir ~> 1.15 Phoenix ~> 1.8

Live Demo

🔑 Demo Credentials

Email: test@test.com Password: Aa123123123123

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.

Manage overview with schedule, make sheet, and completion snapshot

Features

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

Email

  • 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

Screenshots

BOM editor Order management
Inventory forecasting Settings and email configuration

Tech Stack

Elixir · Ash Framework · Phoenix LiveView · PostgreSQL · Tailwind CSS

Getting Started

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 -d

This 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.

Development Setup

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:4000

See the development setup guide for detailed instructions.

Why Craftplan?

  • 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

Documentation

Contributing

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):).

License

This project is licensed under the AGPLv3 License. See the LICENSE file for details.

Support

About

Self-hosted software for managing artisanal D2C micro-businesses

Topics

Resources

License

Stars

Watchers

Forks

Packages