
Für kleine und mittlere Unternehmen (KMU) ist das größte Hindernis bei der digitalen Transformation oft nicht der Wille, sondern die Kosten. Traditionelle ERP-Systeme (wie SAP, Oracle) kosten schnell Hunderttausende oder sogar Millionen an Lizenzgebühren – für die meisten KMU einfach unerschwinglich. Und kostenlose Alternativen sind oft funktional unvollständig, veraltet und kaum gepflegt.
ERPNext hat das geändert. Als 100 % kostenloses und quelloffenes Enterprise-Resource-Planning-System (ERP) bietet ERPNext eine Komplettlösung, die alle zentralen Geschäftsbereiche abdeckt: Finanzen, CRM, Vertrieb, Einkauf, Lager, Fertigung und Personalwesen. Es basiert auf dem Frappe-Framework mit einem Python + JavaScript Tech-Stack, einem modernen Web-Interface und starken Custom-Development-Möglichkeiten.
Dieser Leitfaden führt dich Schritt für Schritt durch die Installation und das Deployment von ERPNext, die Basiskonfiguration, den Einsatz der Kernmodule und Custom-Development in der Praxis – damit du schnell ein maßgeschneidertes Enterprise-ERP-System für dein Unternehmen aufbauen kannst.

Was ist ERPNext?
ERPNext ist ein Open-Source-ERP-System, das von dem indischen Unternehmen Frappe Technologies entwickelt und gepflegt wird. Es wird unter der GNU General Public License (GPL) v3 veröffentlicht. Das bedeutet:
- ✅ Kostenlos nutzbar – Keine Lizenzgebühren, egal wie viele Nutzer
- ✅ Frei modifizierbar – Du kannst Funktionen jederzeit an deine Geschäftsanforderungen anpassen
- ✅ Kommerziell nutzbar – Einsatz in Unternehmen ohne Einschränkung
- ✅ Community-getrieben – Eine weltweite Community entwickelt Code und Plugins weiter
Tech-Architektur
┌─────────────────────────────────────┐
│ ERPNext (Anwendungsebene) │
│ Finanzen | CRM | Vertrieb | Einkauf │
│ Lager | HR │
├─────────────────────────────────────┤
│ Frappe Framework (Framework) │
│ DocType | REST API | Berechtigungen │
│ Workflows │
├─────────────────────────────────────┤
│ Python (Backend) │
│ MariaDB (Datenbank) │
│ JavaScript/Vue (Frontend) │
│ Redis (Cache) │
└─────────────────────────────────────┘
Das Herzstück von ERPNext ist das Frappe Framework – ein Full-Stack-Webframework in Python. Das herausragendste Feature von Frappe: Low-Code/No-Code. Über DocTypes (Dokumenttypen) kannst du Datenmodelle, Formulare, Listenansichten und APIs erstellen, ohne großen Code schreiben zu müssen.
Warum ERPNext?
| Kriterium | ERPNext | Odoo (Community) | SAP Business One |
|---|---|---|---|
| Lizenzkosten | Kostenlos (GPL v3) | Community kostenlos, Kernmodule kostenpflichtig | Zehntausende–Hunderttausende €/Jahr |
| Open-Source-Grad | 100 % Open Source | Open Core (einige Module proprietär) | Proprietär |
| Nutzerbegrenzung | Keine | Community: keine | Pro Nutzer |
| Tech-Stack | Python + MariaDB | Python + PostgreSQL | Proprietär |
| Custom Development | Frappe-Framework, Low-Code | Erfordert Python-Kenntnisse | Zertifizierte Entwickler nötig |
| Chinesisch-Support | Nativ unterstützt | Community-Übersetzung | Offiziell unterstützt |
| Deployment | Self-hosted / Frappe Cloud | Self-hosted / Odoo.sh | On-Premise / Cloud |
Installation & Deployment
ERPNext bietet verschiedene Deployment-Optionen. Hier die drei gängigsten: Docker (empfohlen), manuelle Installation und Frappe Cloud (Managed).
Option 1: Docker-Deployment (empfohlen)
Docker ist der einfachste und sauberste Weg – ideal für schnelle Tests und Produktivumgebungen.
Systemanforderungen
- CPU: Ab 2 Kernen
- RAM: 4 GB minimum (8 GB empfohlen)
- Speicher: 20 GB+
- Betriebssystem: Ubuntu 20.04/22.04, CentOS 8+, Debian 11+
One-Click-Deployment mit docker-compose
# 1. Docker und Docker Compose installieren
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker
# 2. Docker Compose installieren (falls nicht vorhanden)
sudo apt install docker-compose-plugin
# 3. Offizielles docker-compose-Repo klonen
git clone https://github.com/frappe/frappe_docker.git
cd frappe_docker
# 4. Umgebungsdatei erstellen
cp example.env .env
# .env bearbeiten – folgende Parameter setzen:
# SITE_NAME=erp.deinedomain.com
# DB_ROOT_USER=root
# DB_ROOT_PASSWORD=dein_sicheres_passwort
# ADMIN_PASSWORD=dein_admin_passwort
# 5. Dienste starten
docker compose -f compose.yaml \
-f overrides/compose.mariadb.yaml \
-f overrides/compose.redis.yaml \
-f overrides/compose.noproxy.yaml \
config > ~/docker-compose.yml
docker compose -f ~/docker-compose.yml up -d
# 6. Neue Site erstellen
docker compose -f ~/docker-compose.yml exec backend \
bench new-site erp.deinedomain.com \
--mariadb-root-password dein_sicheres_passwort \
--admin-password dein_admin_passwort \
--install-app erpnext
# 7. ERPNext aufrufen
# Browser: http://dein-server-ip:8080
# Standard-Admin: Administrator
# Passwort: das in .env gesetzte ADMIN_PASSWORD
Nginx Reverse Proxy einrichten (Produktivumgebung)
# Kostenloses SSL-Zertifikat mit Let's Encrypt
docker compose -f ~/docker-compose.yml exec backend \
bench setup nginx
# Oder Traefik für automatisches HTTPS-Management
docker compose -f compose.yaml \
-f overrides/compose.traefik.yaml \
config > ~/docker-compose-traefik.yml
docker compose -f ~/docker-compose-traefik.yml up -d
Option 2: Manuelle Installation (für tiefgreifendes Customizing)
Die manuelle Installation eignet sich für Entwickler, die das System intensiv anpassen und debuggen wollen.
# 1. Abhängigkeiten installieren
sudo apt update
sudo apt install python3-dev python3-setuptools python3-pip \
python3-distutils python3.10-venv software-properties-common \
mariadb-server mariadb-client redis-server nodejs npm \
yarn cron xvfb libfontconfig wkhtmltopdf
# 2. MariaDB konfigurieren
sudo mysql -u root -e "
CREATE DATABASE erpnext;
CREATE USER 'erpnext'@'localhost' IDENTIFIED BY 'dein_passwort';
GRANT ALL PRIVILEGES ON erpnext.* TO 'erpnext'@'localhost';
FLUSH PRIVILEGES;
"
# 3. Bench installieren (Frappe CLI-Tool)
pip3 install frappe-bench
# 4. Bench initialisieren
bench init --frappe-branch version-15 frappe-bench
cd frappe-bench
# 5. Neue Site erstellen
bench new-site erp.deinedomain.com \
--db-name erpnext \
--db-password dein_passwort \
--admin-password dein_admin_passwort
# 6. ERPNext-App installieren
bench get-app --branch version-15 erpnext
bench --site erp.deinedomain.com install-app erpnext
# 7. Development-Server starten
bench start
# Aufruf: http://localhost:8000
Option 3: Frappe Cloud (Managed Hosting)
Wenn du dich nicht um Server-Wartung kümmern willst, bietet der offizielle Frappe Cloud-Service eine bequeme Alternative:
- Preis: $50/Monat (KMU-Paket)
- Inklusive: Unbegrenzte Nutzer, automatische Backups, SSL-Zertifikat, technischer Support
- Ideal für: KMU ohne eigenes IT-Ops-Team
Einfach auf frappecloud.com registrieren – kein technisches Know-how nötig.
Basiskonfiguration
Nach der Installation sind die ersten Schritte die Grundkonfiguration des Systems.
1. Unternehmenseinstellungen
Navigiere zu Einstellungen → Unternehmen und trage deine Unternehmensdaten ein:
- Firmenname
- Registrierte Adresse
- Steuernummer
- Standardwährung
- Startmonat des Geschäftsjahrs
# Multi-Company-Architektur
Wenn dein Konzern mehrere Tochtergesellschaften hat,
kannst du mehrere Unternehmen anlegen. ERPNext unterstützt
intercompany-Transaktionen und Konzernabschlüsse.
2. Benutzer & Berechtigungen
ERPNext nutzt eine rollenbasierte Zugriffskontrolle (RBAC):
Administrator (System Manager) → Vollzugriff
Buchhalter (Accounts Manager) → Finanzmodul
Vertrieb (Sales Manager) → Vertriebsmodul
Lager (Stock Manager) → Lagermodul
Personal (HR Manager) → HR-Modul
Benutzer erstellen
# Benutzer über Frappe API erstellen (Python-Skript)
import frappe
user = frappe.get_doc({
"doctype": "User",
"email": "max.mustermann@firma.de",
"first_name": "Max",
"roles": [{"role": "Sales Manager"}]
})
user.insert()
3. Stammdaten-Import
ERPNext unterstützt den Massenimport von Stammdaten über Excel/CSV:
| Datentyp | Import-Vorlage | Beschreibung |
|---|---|---|
| Kunde | Customer |
Kundendaten, Adressen, Kontaktdaten |
| Lieferant | Supplier |
Lieferantendaten, Zahlungsbedingungen, Abrechnungsart |
| Produkt | Item |
SKU, Spezifikation, Preis, Lagerbestand |
| Stückliste | BOM |
Bill of Materials (Fertigungsmodul) |
| Mitarbeiter | Employee |
Mitarbeiterdaten, Abteilung, Position |
Gehe in jedem Modul zur Listenansicht → Importieren (Import), lade die Vorlage herunter, befülle sie und lade sie wieder hoch.
4. Druckvorlagen anpassen
ERPNext ermöglicht die individuelle Gestaltung von Geschäftsdrucken:
- Rechnungen
- Bestellungen
- Verkaufsaufträge
- Lieferscheine
- Angebote
Unter Einstellungen → Druckeinstellungen kannst du eingebaute Vorlagen nutzen oder eigene HTML/Jinja-Vorlagen erstellen.
Kernmodule im Detail
ERPNext umfasst über 20 Geschäftsmodule. Hier die wichtigsten im Überblick.
💰 Finanzmodul (Accounting)
Das Finanzmodul ist das Herzstück jedes ERP-Systems. ERPNext liefert hier ein vollständiges Paket:
Kontenplan (Chart of Accounts)
ERPNext bringt Kontenpläne für verschiedene Länder mit und unterstützt individuelle Anpassungen:
Aktiva (Assets)
├── Umlaufvermögen
│ ├── Kasse und Bank
│ ├── Forderungen aus LuL
│ └── Vorräte
├── Anlagevermögen
│ ├── Gebäude
│ └── Maschinen & Geräte
Passiva (Liabilities)
├── Kurzfristige Verbindlichkeiten
│ ├── Verbindlichkeiten aus LuL
│ └── Kurzfristige Kredite
Eigenkapital (Equity)
├── Gezeichnetes Kapital
└── Gewinnrücklagen
Erträge (Income)
├── Umsatzerlöse
└── Sonstige Erträge
Aufwendungen (Expenses)
├── Wareneinsatz
├── Vertriebskosten
├── Verwaltungskosten
└── Finanzaufwendungen
Automatische Buchungssätze
Verkaufs-, Einkaufs- und Lagerbuchungen in ERPNext generieren automatisch Buchungssätze:
# Automatische Buchung bei Verkaufsrechnung
Soll: Forderungen aus LuL €10.000
Haben: Umsatzerlöse €8.849,56
Umsatzsteuer €1.150,44
# Automatische Buchung bei Wareneingang
Soll: Warenbestand €5.000
Haben: Verbindlichkeiten aus LuL €5.000
Finanzberichte
- Bilanz – Echtzeit-Überblick der Finanzlage
- GuV (Gewinn- und Verlustrechnung) – periodenbezogene Gegenüberstellung von Erträgen und Aufwendungen
- Cashflow-Rechnung – Nachverfolgung von Zahlungsströmen
- Forderungs-/Verbindlichkeits-Altersanalyse – Überwachung des Ausfallrisikos
📦 Lagermodul (Stock)
Lagerverwaltung
Multi-Lager- und Multi-Platz-Verwaltung:
Hauptlager
├── Bereich A – Rohmaterial
│ ├── A-01 Elektronikbauteile
│ └── A-02 Strukturkomponenten
├── Bereich B – Fertigprodukte
│ ├── B-01 Versandbereit
│ └── B-02 Geprüft
└── Bereich C – Retouren
Lagerbewegungen
| Vorgang | Beschreibung |
|---|---|
| Wareneingang | Einkaufseingang, Produktionseingang, Retoureneingang |
| Warenausgang | Verkaufsausgang, Materialbereitstellung, Ausschluss |
| Umlagerung | Transfer zwischen Lagern |
| Inventur | Regelmäßiger Abgleich von Buchbestand und Ist-Bestand |
| Serien-/Chargenverfolgung | Präzise Nachverfolgung jedes Produkts |
Lagerwarnungen
Definiere Mindestbestandsschwellen – das System warnt automatisch bei Unterschreitung:
# Lagerwarnung per Frappe-Skript setzen
frappe.db.set_value("Item", "ITEM-001", "re_order_level", 100)
frappe.db.set_value("Item", "ITEM-001", "warehouse", "Hauptlager")
🤝 CRM- & Vertriebsmodul
Verkaufsprozess
Lead
↓
Chance (Opportunity)
↓
Angebot (Quotation)
↓
Verkaufsauftrag (Sales Order)
↓
Lieferschein (Delivery Note)
↓
Verkaufsrechnung (Sales Invoice)
↓
Zahlungseingang (Payment Entry)
CRM-Highlights
- Lead-Management – Herkunft tracken, Vertriebler zuordnen, Follow-ups dokumentieren
- Opportunity-Funnel – Visuelle Sales Pipeline
- Angebotsvorlagen – Professionelle Angebote in Sekunden
- Kundenportal – Kunden sehen Aufträge und Rechnungen selbstständig
- E-Mail-Integration – E-Mails automatisch mit Kunden verknüpfen
👥 Personalwesen (HRMS)
Mitarbeiterverwaltung
- Mitarbeiterstamm (persönliche Daten, Verträge, Notfallkontakte)
- Organisationsstruktur (Abteilungen, Positionen, Berichtslinien)
- Onboarding/Offboarding-Prozesse
Zeiterfassung & Urlaub
# Anwesenheitsregeln konfigurieren
attendance_policy = {
"working_hours": "09:00-18:00",
"late_entry_threshold": 15, # Minuten
"early_exit_threshold": 15,
"holiday_list": "2026 – gesetzliche Feiertage"
}
# Urlaubsarten
leave_types = [
{"name": "Erholungsurlaub", "max_leaves": 24},
{"name": "Krankheit", "max_leaves": 10},
{"name": "Unbezahlt", "max_leaves": 0}, # Genehmigungspflichtig
{"name": "Heirat", "max_leaves": 3},
]
Gehaltsabrechnung
- Gehaltsstruktur (Grundgehalt, Bonus, Zulagen, Abzüge)
- Automatische Steuerberechnung
- Gehaltsabrechnungen generieren und auszahlen
- Sozialversicherungs- und Beitragsberechnung
🏭 Fertigungsmodul (Manufacturing)
Stückliste (BOM)
Produkt: Smart Speaker V2.0
├── Hauptplatine (x1)
│ ├── Hauptprozessor (x1)
│ ├── Speichermodul (x2)
│ └── WiFi-Modul (x1)
├── Audiokomponente (x1)
│ ├── Lautsprecher (x2)
│ └── Verstärkerplatine (x1)
├── Gehäuse (x1)
└── Netzteil (x1)
Fertigungsauftragsprozess
Produktionsplanung (Production Plan)
↓
Fertigungsauftrag (Work Order)
↓
Materialbereitstellung (Material Transfer)
↓
Fertigung (Manufacture)
↓
Qualitätsprüfung (Quality Inspection)
↓
Einlagerung (Stock Entry)
Custom Development in der Praxis
Die größte Stärke von ERPNext: seine Erweiterbarkeit. Mit dem Frappe-Framework kannst du mit minimalem Code maßgeschneiderte Funktionen entwickeln.
Entwicklungsumgebung einrichten
# 1. Development-Site erstellen
bench new-site dev.localhost --force
bench use dev.localhost
# 2. Eigene App erstellen
bench new-app my_custom_app
# Verzeichnisstruktur:
# my_custom_app/
# ├── my_custom_app/
# │ ├── __init__.py
# │ ├── hooks.py # App-Hook-Konfiguration
# │ ├── modules.txt # Modulliste
# │ ├── custom_doctype/ # Benutzerdefinierte DocTypes
# │ └── api.py # Custom APIs
# └── setup.py
Benutzerdefinierte DocTypes (Low-Code)
DocTypes sind das Kernkonzept von Frappe – sie vereinen Datenbanktabelle, Formular und API in einem.
Beispiel: „Projektmanagement"-Modul erstellen
# DocType per Python-Code definieren
import frappe
from frappe.model.document import Document
class ProjectTask(Document):
pass
# In hooks.py registrieren
# doc_events = {
# "Project Task": {
# "on_update": "my_custom_app.tasks.notify_assignee"
# }
# }
DocType-Feldtypen
| Feldtyp | Verwendung | Beispiel |
|---|---|---|
| Data | Einzeiliger Text | Projektname |
| Long Text | Mehrzeiliger Text | Projektbeschreibung |
| Select | Dropdown-Auswahl | Status (aktiv/abgeschlossen/storniert) |
| Date | Datum | Startdatum |
| Currency | Geldbetrag | Budget |
| Link | Verknüpfung zu anderem DocType | Kunde verknüpfen |
| Table | Untertabelle (1:n) | Aufgabenliste |
| Attach | Dateianhang | Projektdokumente |
Custom APIs
# my_custom_app/api.py
import frappe
from frappe import _
@frappe.whitelist()
def get_project_summary(project_name):
"""Projektzusammenfassung abrufen"""
project = frappe.get_doc("Project", project_name)
tasks = frappe.get_all("Project Task",
filters={"project": project_name},
fields=["task_name", "status", "assigned_to", "deadline"]
)
return {
"project_name": project.project_name,
"status": project.status,
"budget": project.budget,
"tasks": tasks,
"completion": project.percentage_complete
}
# Aufruf:
# GET /api/method/my_custom_app.api.get_project_summary?project_name=PRJ-001
Custom Workflows
# Genehmigungsworkflow für Bestellungen
workflow = {
"workflow_name": "Purchase Approval",
"document_type": "Purchase Order",
"states": [
{"state": "Draft", "allow_edit": "Purchase Manager"},
{"state": "Pending Approval", "allow_edit": "Purchase Manager"},
{"state": "Approved", "allow_edit": "Director"},
{"state": "Rejected", "allow_edit": "Director"},
],
"transitions": [
{"from": "Draft", "to": "Pending Approval", "action": "Submit", "allowed": "Purchase Manager"},
{"from": "Pending Approval", "to": "Approved", "action": "Approve", "allowed": "Director"},
{"from": "Pending Approval", "to": "Rejected", "action": "Reject", "allowed": "Director"},
]
}
Custom Reports
# my_custom_app/reports/sales_summary.py
import frappe
def execute(filters=None):
columns = [
{"fieldname": "customer", "label": "Kunde", "fieldtype": "Link", "options": "Customer", "width": 200},
{"fieldname": "total_sales", "label": "Umsatz", "fieldtype": "Currency", "width": 150},
{"fieldname": "total_qty", "label": "Menge", "fieldtype": "Int", "width": 100},
]
conditions = ""
if filters.get("from_date"):
conditions += f" AND si.posting_date >= '{filters.from_date}'"
if filters.get("to_date"):
conditions += f" AND si.posting_date <= '{filters.to_date}'"
data = frappe.db.sql(f"""
SELECT
si.customer,
SUM(si.grand_total) as total_sales,
SUM(si.total_qty) as total_qty
FROM `tabSales Invoice` si
WHERE si.docstatus = 1 {conditions}
GROUP BY si.customer
ORDER BY total_sales DESC
""", as_dict=True)
return columns, data
Frontend-Anpassungen
ERPNext nutzt Vue.js und Jinja-Templates. Du kannst Folgendes anpassen:
// Custom Form Script
frappe.ui.form.on('Sales Order', {
refresh: function(frm) {
// Custom Button hinzufügen
frm.add_custom_button('PDF exportieren', function() {
frappe.call({
method: 'my_custom_app.api.export_pdf',
args: { docname: frm.doc.name },
callback: function(r) {
window.open(r.message.url);
}
});
});
},
validate: function(frm) {
// Custom Validierung
if (frm.doc.discount > 20) {
frappe.throw('Rabatt darf 20 % nicht überschreiten');
}
}
});
Betrieb & Optimierung
Backup & Recovery
# Site-Backup
bench --site erp.deinedomain.com backup
# Backup in die Cloud
bench --site erp.deinedomain.com backup --with-files
# Backup wiederherstellen
bench --site erp.deinedomain.com restore /pfad/zur/datenbank.sql.gz
# Automatisches Backup (in crontab eintragen)
0 2 * * * cd /home/frappe/frappe-bench && bench backup-all-sites
Performance-Optimierung
# 1. Redis-Cache aktivieren (in site_config.json)
{
"cache_redis": "redis://localhost:6379"
}
# 2. Datenbank-Index-Optimierung
# Index für häufig abgefragte Felder erstellen
frappe.db.add_index("Sales Invoice", ["customer", "posting_date"])
# 3. Gunicorn Multi-Process aktivieren
# In der Bench-Konfiguration setzen
bench config set-common-config -c gunicorn_workers 4
Monitoring & Logging
# Bench-Logs anzeigen
bench --site erp.deinedomain.com logs
# MariaDB Slow Queries anzeigen
mysql -u root -e "SHOW VARIABLES LIKE 'slow_query_log%';"
# Server-Ressourcen überwachen
htop
iotop
ERPNext FAQ
F1: Für welche Unternehmensgröße ist ERPNext geeignet?
A: ERPNext passt für Mikro- bis Mittelunternehmen (1–500 Mitarbeiter): - Mikrounternehmen (1–50 MA): Selbst hosten, kostenlos, schnell startklar - Mittelunternehmen (50–500 MA): Multi-Company, Multi-Lager, Multi-Währung für komplexe Anforderungen - Großunternehmen (500+ MA): Skalierbar über Frappe Cloud oder eigenes Cluster-Setup
F2: Gibt es ERPNext auf Deutsch?
A: ERPNext unterstützt mehrere Sprachen nativ, darunter Deutsch. Du kannst die Sprache in den Systemeinstellungen umschalten. Die Community arbeitet kontinuierlich an der Verbesserung der Lokalisierung, einschließlich branchenspezifischer Anforderungen.
F3: Was ist der Unterschied zwischen ERPNext und Odoo?
A: Die Hauptunterschiede: - Open-Source-Grad: ERPNext ist 100 % quelloffen (GPL), Odoo Community fehlt Kernmodule wie Finanzen - Preis: ERPNext komplett kostenlos, Odoo Enterprise pro-Nutzer-pflichtig - Custom Development: ERPNexts Frappe-Framework hat stärkere Low-Code-Fähigkeiten, Odoo erfordert mehr Coding - Ökosystem: Beide haben aktive Communities, Odoo ist im europäischen Raum etablierter
F4: Welche Server-Hardware braucht selbst gehostetes ERPNext?
A: Mindestanforderungen: - 2 Kerne + 4 GB RAM + 20 GB Speicher – für Tests und kleine Teams (<20 MA) - 4 Kerne + 8 GB RAM + 50 GB Speicher – für Mittelunternehmen (20–100 MA) - 8 Kerne + 16 GB RAM + 100 GB+ SSD – für Großunternehmen (100+ MA)
SSD-Speicher wird empfohlen, um die Datenbankleistung zu steigern.
F5: Kann ERPNext mit anderen Systemen integriert werden?
A: Ja. ERPNext bietet REST-APIs und Webhooks für die Integration mit: - E-Commerce: Shopify, WooCommerce - Zahlungs-Gateways: Stripe, PayPal - Logistik: DHL, FedEx, UPS - Drittsysteme: Über API-Anbindung praktisch jedes externe System
# ERPNext REST API Beispiel
import requests
# Kundenliste abrufen
response = requests.get(
"https://erp.deinedomain.com/api/resource/Customer",
headers={"Authorization": "token api_key:api_secret"}
)
customers = response.json()
# Verkaufsauftrag erstellen
response = requests.post(
"https://erp.deinedomain.com/api/resource/Sales Order",
headers={"Authorization": "token api_key:api_secret", "Content-Type": "application/json"},
json={"customer": "CUST-001", "items": [{"item_code": "ITEM-001", "qty": 10}]}
)
Fazit
ERPNext ist eine der ausgereiftesten und umfassendsten Open-Source-ERP-Lösungen auf dem Markt. Es deckt nicht nur den täglichen Bedarf von KMU ab, sondern bietet durch das Frappe-Framework auch leistungsstarke Erweiterungsmöglichkeiten für maßgeschneiderte Custom-Developments.
Schnellstart-Pfad: 1. Docker One-Click-Deployment (5 Minuten) 2. Unternehmen, Benutzer und Stammdaten konfigurieren 3. Mit dem Finanz- oder CRM-Modul beginnen 4. Nach Bedarf weitere Module schrittweise aktivieren 5. Bei Bedarf Custom Development für spezielle Anforderungen
Ob du ein gerade gegründetes Startup oder ein Unternehmen im Prozess der digitalen Transformation bist – ERPNext ist einen genauen Blick wert. 100 % kostenlos, quelloffen, aktive Community – das ist der Kernvorteil von ERPNext.
Besuche die ERPNext-Website oder das GitHub-Repo für weitere Informationen.