
중소기업에게 디지털 전환의 가장 큰 장벽은 의지가 아니라 비용인 경우가 많습니다. SAP, Oracle 같은 전통적인 ERP 시스템은 수천만 원에서 수억 원에 달하는 라이선스 비용이 들어가서 대부분의 중소기업이 선뜻 도입하지 못합니다. 무료 대체재는 기능이 부족하고 UI가 낡았으며 관리도 제대로 되지 않는 게 현실이죠.
ERPNext가 바로 이런 판도를 바꿔놓았습니다. 100% 무료 오픈소스 ERP인 ERPNext는 재무, CRM, 영업, 구매, 재고, 제조, 인사 등 핵심 업무 전반을 아우르는 완성형 솔루션을 제공합니다. Frappe 프레임워크 기반에 Python + JavaScript 기술 스택을 사용하며, 모던한 웹 UI와 강력한 커스텀 개발 기능을 갖추고 있습니다.
이 글에서는 ERPNext를 제로베이스에서 설치·배포하고, 기본 설정을 마치고, 핵심 모듈을 활용하는 방법을 설명합니다. 나아가 커스텀 개발 실전까지 다루어, 여러분 스스로 비즈니스에 맞는 엔터프라이즈급 ERP 시스템을 빠르게 구축할 수 있도록 도와드립니다.

ERPNext란?
ERPNext는 인도 기업 Frappe Technologies가 개발 및 유지보수하는 오픈소스 ERP로, GNU General Public License (GPL) v3 라이선스로 배포됩니다. 즉, 다음과 같은 자유가 보장됩니다:
- ✅ 무료 사용 — 라이선스 비용 일절 불필요
- ✅ 자유로운 수정 — 비즈니스 니즈에 맞춰 기능 커스터마이징 가능
- ✅ 상업적 활용 가능 — 상업 환경에서 사용 가능하며 사용자 수 제한 없음
- ✅ 커뮤니티 주도 — 전 세계의 활발한 커뮤니티가 코드와 플러그인을 지속 기여
기술 아키텍처
┌─────────────────────────────────────┐
│ ERPNext (애플리케이션 레이어) │
│ 재무 | CRM | 영업 | 구매 | 재고 | 인사 │
├─────────────────────────────────────┤
│ Frappe Framework (프레임워크) │
│ DocType | REST API | 권한 | 워크플로우 │
├─────────────────────────────────────┤
│ Python (백엔드) | MariaDB (DB) │
│ JavaScript/Vue (프론트엔드) | Redis (캐시)│
└─────────────────────────────────────┘
ERPNext의 핵심은 Frappe Framework입니다. Python으로 작성된 풀스택 웹 애플리케이션 프레임워크로, Frappe의 가장 큰 장점은 로코드/노코드(Low-Code/No-Code) 기능입니다. DocType(문서 유형)을 정의하는 것만으로 데이터 모델, 폼, 리스트 뷰, API를 빠르게 생성할 수 있어서 코드를 많이 작성할 필요가 없습니다.
왜 ERPNext를 선택해야 할까?
| 비교 항목 | ERPNext | Odoo (커뮤니티) | SAP Business One |
|---|---|---|---|
| 라이선스 비용 | 무료 (GPL v3) | 커뮤니티 무료, 핵심 모듈 유료 | 수천만~수억 원/년 |
| 오픈소스 범위 | 100% 오픈소스 | 오픈코어(일부 모듈 클로즈드) | 클로즈드 소스 |
| 사용자 제한 | 제한 없음 | 커뮤니티 제한 없음 | 사용자 수 과금 |
| 기술 스택 | Python + MariaDB | Python + PostgreSQL | 전용 |
| 커스텀 개발 | Frappe 프레임워크, 로코드 | Python 개발 역량 필요 | 인증 개발자 필요 |
| 한국어 지원 | 커뮤니티 번역 | 커뮤니티 번역 | 공식 지원 |
| 배포 방식 | 셀프호스팅 / Frappe Cloud | 셀프호스팅 / Odoo.sh | 온프레미스 / 클라우드 |
설치 및 배포
ERPNext는 여러 가지 방식으로 배포할 수 있으며, 이 섹션에서는 가장 널리 쓰이는 세 가지 방식을 상세히 설명합니다: Docker 배포(추천), 수동 설치, Frappe Cloud 호스팅.
방식 1: Docker 배포(추천)
Docker 배포가 가장 간편하고 깔끔한 설치 방식으로, 빠른 테스트와 프로덕션 환경에 적합합니다.
시스템 요구사항
- CPU: 2코어 이상
- 메모리: 4GB 이상(8GB 권장)
- 스토리지: 20GB 이상
- 운영체제: Ubuntu 20.04/22.04, CentOS 8+, Debian 11+
docker-compose로 원클릭 배포
# 1. Docker 및 Docker Compose 설치
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker
# 2. Docker Compose 설치(기본 포함되지 않은 경우)
sudo apt install docker-compose-plugin
# 3. 공식 docker-compose 설정 클론
git clone https://github.com/frappe/frappe_docker.git
cd frappe_docker
# 4. 환경 변수 파일 생성
cp example.env .env
# .env 파일 편집 후 주요 파라미터 설정:
# SITE_NAME=erp.yourdomain.com
# DB_ROOT_USER=root
# DB_ROOT_PASSWORD=your_secure_password
# ADMIN_PASSWORD=your_admin_password
# 5. 서비스 시작
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. 새 사이트 생성
docker compose -f ~/docker-compose.yml exec backend \
bench new-site erp.yourdomain.com \
--mariadb-root-password your_secure_password \
--admin-password your_admin_password \
--install-app erpnext
# 7. ERPNext 접속
# 브라우저에서 http://your-server-ip:8080 열기
# 기본 관리자 계정: Administrator
# 비밀번호: .env에서 설정한 ADMIN_PASSWORD
Nginx 리버스 프록시 설정(프로덕션 환경)
# Let's Encrypt로 무료 SSL 인증서 발급
docker compose -f ~/docker-compose.yml exec backend \
bench setup nginx
# 또는 Traefik으로 자동 HTTPS 관리
docker compose -f compose.yaml \
-f overrides/compose.traefik.yaml \
config > ~/docker-compose-traefik.yml
docker compose -f ~/docker-compose-traefik.yml up -d
방식 2: 수동 설치(심층 커스터마이징용)
시스템을 깊이 커스터마이징하고 디버깅해야 하는 개발자에게 적합합니다.
# 1. 의존성 설치
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 설정
sudo mysql -u root -e "
CREATE DATABASE erpnext;
CREATE USER 'erpnext'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON erpnext.* TO 'erpnext'@'localhost';
FLUSH PRIVILEGES;
"
# 3. bench 설치(Frappe CLI 도구)
pip3 install frappe-bench
# 4. bench 초기화
bench init --frappe-branch version-15 frappe-bench
cd frappe-bench
# 5. 새 사이트 생성
bench new-site erp.yourdomain.com \
--db-name erpnext \
--db-password your_password \
--admin-password your_admin_password
# 6. ERPNext 애플리케이션 설치
bench get-app --branch version-15 erpnext
bench --site erp.yourdomain.com install-app erpnext
# 7. 개발 서버 시작
bench start
# http://localhost:8000 접속
방식 3: Frappe Cloud 호스팅
서버 운영을 직접 하고 싶지 않다면 공식 Frappe Cloud 호스팅을 이용할 수 있습니다:
- 가격: $50/월(중소기업 플랜)
- 포함: 무제한 사용자, 자동 백업, SSL 인증서, 기술 지원
- 대상: IT 운영 인력이 없는 중소기업
frappecloud.com에서 가입하면 기술적인 작업 없이 바로 사용할 수 있습니다.
기본 설정
설치를 마쳤다면 시스템의 기본 설정부터 진행해야 합니다.
1. 회사 설정
설정 → 회사 메뉴에서 회사 정보를 등록합니다:
- 회사명
- 등록 주소
- 사업자등록번호
- 기본 통화
- 회계 연도 시작 월
# 다중 회사 구조
그룹 내에 여러 자회사가 있다면 회사를 여러 개 추가할 수 있습니다.
ERPNext는 회사 간 거래와 연결 재무제표를 지원합니다.
2. 사용자 및 권한
ERPNext는 역할 기반 접근 제어(RBAC)를 사용합니다:
관리자(System Manager) → 전체 권한
회계(Accounts Manager) → 재무 모듈
영업(Sales Manager) → 영업 모듈
창고(Stock Manager) → 재고 모듈
인사(HR Manager) → 인사 모듈
사용자 생성
# Frappe API로 사용자 생성(Python 스크립트)
import frappe
user = frappe.get_doc({
"doctype": "User",
"email": "zhangsan@company.com",
"first_name": "장삼",
"roles": [{"role": "Sales Manager"}]
})
user.insert()
3. 기초 데이터 가져오기
ERPNext는 Excel/CSV를 통한 대량 기초 데이터 가져오기를 지원합니다:
| 데이터 유형 | 가져오기 템플릿 | 설명 |
|---|---|---|
| 고객 | Customer |
고객 정보, 주소, 연락처 |
| 공급업체 | Supplier |
공급업체 정보, 결제 조건, 정산 방식 |
| 제품 | Item |
SKU, 사양, 가격, 재고 |
| BOM | BOM |
자재 명세서(제조 모듈) |
| 직원 | Employee |
직원 정보, 부서, 직위 |
각 모듈의 **리스트 뷰 → 가져오기(Import)**에서 템플릿을 다운로드하고, 데이터를 입력한 후 업로드하면 됩니다.
4. 출력 템플릿 커스터마이징
ERPNext는 각종 업무 문서의 출력 형식을 커스터마이징할 수 있습니다:
- 세금계산서
- 구매订单(구매발주서)
- 영업订单(영업주문서)
- 배송전표
- 견적서
설정 → 출력 설정에서 내장 템플릿을 선택하거나 HTML/Jinja로 커스텀할 수 있습니다.
핵심 모듈 상세 설명
ERPNext는 20개 이상의 업무 모듈을 포함하며, 아래는 가장 많이 쓰이는 핵심 모듈입니다.
💰 재무 모듈(Accounting)
재무는 ERP 시스템의 핵심이며, ERPNext의 재무 모듈은 기능이 매우 완성도 높습니다:
계정과목표(Chart of Accounts)
ERPNext는 여러 국가의 표준 계정과목표를 내장하고 있으며, 커스터마이징도 가능합니다:
자산(Assets)
├── 유동자산
│ ├── 현금 및 예금
│ ├── 매출채권
│ └── 재고자산
├── 고정자산
│ ├── 건물
│ └── 설비
부채(Liabilities)
├── 유동부채
│ ├── 매입채무
│ └── 단기차입금
자본(Equity)
├── 납입자본
└── 이익잉여금
수익(Income)
├── 영업수익
└── 영업외수익
비용(Expenses)
├── 매출원가
├── 판매비
├── 관리비
└── 재무비용
자동 분개
ERPNext의 영업·구매·재고 작업에서 회계 분개가 자동으로 생성됩니다:
# 매출전표 자동 분개
차변: 매출채권 ¥10,000
대변: 영업수익 ¥8,849.56
매입세액 ¥1,150.44
# 매입입고 자동 분개
차변: 상품 ¥5,000
대변: 매입채무 ¥5,000
재무제표
- 대차대조표 — 실시간 회사 재무 상태 반영
- 손익계산서 — 기간별 수익 및 지출 집계
- 현금흐름표 — 현금 유입·유출 추적
- 매출채권/매입채무 에징 분석 — 회수 리스크 모니터링
📦 재고 모듈(Stock)
창고 관리
다중 창고, 다중 위치 관리가 가능합니다:
본사 창고
├── A 구역 - 원자재
│ ├── A-01 전자 부품
│ └── A-02 구조 부품
├── B 구역 - 완제품
│ ├── B-01 발송 대기
│ └── B-02 검사 완료
└── C 구역 - 반품
재고 작업
| 작업 | 설명 |
|---|---|
| 입고 | 매입입고, 생산입고, 반품입고 |
| 출고 | 매출출고, 생산출고, 폐기출고 |
| 이체 | 창고 간 이동 |
| 실사 | 정기적으로 장부와 실물 대조 |
| 일련번호/로트 추적 | 제품 개별 정밀 추적 |
재고 알림
최저 재고 임계치를 설정해 두면, 임계치 이하로 떨어질 때 자동으로 재입고 알림을 받습니다:
# Frappe 스크립트로 재고 알림 설정
frappe.db.set_value("Item", "ITEM-001", "re_order_level", 100)
frappe.db.set_value("Item", "ITEM-001", "warehouse", "본사 창고")
🤝 CRM 및 영업 모듈
영업 프로세스
리드(Lead)
↓
기회(Opportunity)
↓
견적서(Quotation)
↓
영업주문(Sales Order)
↓
출고전표(Delivery Note)
↓
매출전표(Sales Invoice)
↓
입금(Payment Entry)
CRM 기능 하이라이트
- 리드 관리 — 유입 경로 추적, 영업 담당자 배정, 활동 기록
- 기회 퍼널 — 시각화된 영업 파이프라인
- 견적 템플릿 — 전문적인 견적서 신속 생성
- 고객 포털 — 고객이 직접 주문·전표 조회
- 메일 연동 — 메일 송수신 자동 고객 연계
👥 인사 모듈(HRMS)
직원 관리
- 직원 프로필(개인 정보, 계약서, 긴급 연락처)
- 조직도(부서, 직위, 보고 라인)
- 입사/퇴사 프로세스
근태 및 휴가
# 근태 규칙 설정
attendance_policy = {
"working_hours": "09:00-18:00",
"late_entry_threshold": 15, # 분
"early_exit_threshold": 15,
"holiday_list": "2026-공휴일"
}
# 휴가 유형
leave_types = [
{"name": "연차", "max_leaves": 10},
{"name": "병가", "max_leaves": 5},
{"name": "사휴", "max_leaves": 0}, # 승인 필요
{"name": "혼인휴가", "max_leaves": 3},
]
급여 관리
- 급여 구조(기본급, 성과급, 수당, 공제)
- 자동 세액 계산
- 급여명세서 생성 및 지급
- 4대 보험 계산
🏭 제조 모듈(Manufacturing)
BOM(자재 명세서)
제품: 스마트 스피커 V2.0
├── 메인보드 어셈블리 (x1)
│ ├── 메인 컨트롤 칩 (x1)
│ ├── 메모리 모듈 (x2)
│ └── WiFi 모듈 (x1)
├── 오디오 어셈블리 (x1)
│ ├── 스피커 (x2)
│ └── 앰프 보드 (x1)
├── 하우징 (x1)
└── 전원 어댑터 (x1)
생산 오더 프로세스
생산 계획(Production Plan)
↓
작업지시(Work Order)
↓
자재 출고(Material Transfer)
↓
생산(Manufacture)
↓
품질 검사(Quality Inspection)
↓
입고(Stock Entry)
커스텀 개발 실전
ERPNext에서 가장 강력한 기능은 확장성입니다. Frappe 프레임워크 기반으로, 아주 적은 코드량으로 커스텀 요구사항을 구현할 수 있습니다.
개발 환경 구축
# 1. 개발용 사이트 생성
bench new-site dev.localhost --force
bench use dev.localhost
# 2. 커스텀 애플리케이션 생성
bench new-app my_custom_app
# 디렉토리 구조:
# my_custom_app/
# ├── my_custom_app/
# │ ├── __init__.py
# │ ├── hooks.py # 앱 훅 설정
# │ ├── modules.txt # 모듈 목록
# │ ├── custom_doctype/ # 커스텀 문서 유형
# │ └── api.py # 커스텀 API
# └── setup.py
커스텀 DocType(로코드 방식)
DocType는 Frappe의 핵심 개념으로, 데이터베이스 테이블 + 폼 + API를 하나로 합친 것입니다.
예시: "프로젝트 관리" 모듈 생성
# Python 코드로 DocType 정의
import frappe
from frappe.model.document import Document
class ProjectTask(Document):
pass
# hooks.py에서 등록
# doc_events = {
# "Project Task": {
# "on_update": "my_custom_app.tasks.notify_assignee"
# }
# }
DocType 필드 유형
| 필드 유형 | 용도 | 예시 |
|---|---|---|
| Data | 단일 행 텍스트 | 프로젝트명 |
| Long Text | 다중 행 텍스트 | 프로젝트 설명 |
| Select | 드롭다운 선택 | 상태(진행 중/완료/취소) |
| Date | 날짜 | 시작일 |
| Currency | 금액 | 예산 |
| Link | 다른 DocType 연결 | 고객 연결 |
| Table | 서브테이블(1:N) | 작업 목록 |
| Attach | 파일 첨부 | 프로젝트 문서 |
커스텀 API
# my_custom_app/api.py
import frappe
from frappe import _
@frappe.whitelist()
def get_project_summary(project_name):
"""프로젝트 요약 정보 가져오기"""
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
}
# 호출 방식:
# GET /api/method/my_custom_app.api.get_project_summary?project_name=PRJ-001
커스텀 워크플로우
# 구매 승인 워크플로우 정의
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"},
]
}
커스텀 리포트
# my_custom_app/reports/sales_summary.py
import frappe
def execute(filters=None):
columns = [
{"fieldname": "customer", "label": "고객", "fieldtype": "Link", "options": "Customer", "width": 200},
{"fieldname": "total_sales", "label": "매출액", "fieldtype": "Currency", "width": 150},
{"fieldname": "total_qty", "label": "수량", "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
프론트엔드 커스터마이징
ERPNext는 Vue.js와 Jinja 템플릿을 사용하며, 다음과 같이 커스터마이징할 수 있습니다:
// 커스텀 폼 스크립트
frappe.ui.form.on('Sales Order', {
refresh: function(frm) {
// 커스텀 버튼 추가
frm.add_custom_button('PDF 내보내기', 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) {
// 커스텀 유효성 검사
if (frm.doc.discount > 20) {
frappe.throw('할인은 20%를 초과할 수 없습니다');
}
}
});
운영 및 최적화
백업 및 복구
# 사이트 백업
bench --site erp.yourdomain.com backup
# 클라우드 백업
bench --site erp.yourdomain.com backup --with-files
# 백업 복원
bench --site erp.yourdomain.com restore /path/to/database.sql.gz
# 정기 백업(crontab에 추가)
0 2 * * * cd /home/frappe/frappe-bench && bench backup-all-sites
성능 최적화
# 1. Redis 캐시 활성화(site_config.json에서)
{
"cache_redis": "redis://localhost:6379"
}
# 2. 데이터베이스 인덱스 최적화
# 자주 쿼리되는 필드에 인덱스 추가
frappe.db.add_index("Sales Invoice", ["customer", "posting_date"])
# 3. Gunicorn 멀티프로세스 활성화
# bench 설정에서
bench config set-common-config -c gunicorn_workers 4
모니터링 및 로그
# bench 로그 확인
bench --site erp.yourdomain.com logs
# MariaDB 슬로우 쿼리 확인
mysql -u root -e "SHOW VARIABLES LIKE 'slow_query_log%';"
# 서버 리소스 모니터링
htop
iotop
ERPNext 자주 묻는 질문 FAQ
Q1: ERPNext는 어느 규모 기업에 적합한가요?
A: ERPNext는 소상공인부터 중견기업(1~500인)까지 적합합니다: - 소상공인 (1~50인): 무료 셀프호스팅, 라이선스 비용 제로, 빠른 구축 - 중견기업 (50~500인): 다중 회사, 다중 창고, 다중 통화 지원으로 복잡한 비즈니스 대응 - 대기업 (500인 이상): Frappe Cloud 또는 자체 클러스터로 확장 가능
Q2: ERPNext에 한국어 버전이 있나요?
A: ERPNext는 커뮤니티 번역을 통해 여러 언어를 지원합니다. 중국어 간체는 네이티브로 지원되며, 한국어는 커뮤니티가 번역을 진행하고 있습니다. 시스템 설정에서 언어를 전환할 수 있습니다.
Q3: ERPNext와 Odoo의 차이점은 무엇인가요?
A: 핵심 차이: - 오픈소스 범위: ERPNext는 100% 오픈소스(GPL), Odoo 커뮤니티는 재무 등 핵심 모듈이 빠져 있음 - 가격: ERPNext 완전 무료, Odoo 엔터프라이즈는 사용자 수 과금 - 커스텀 개발: ERPNext의 Frappe 프레임워크 로코드 기능이 더 강력, Odoo는 더 많은 코딩 필요 - 현지화: ERPNext 중국어 커뮤니티 활발, Odoo 한국어/영어 자료 더 성숙
Q4: ERPNext 셀프호스팅에 어떤 서버가 필요한가요?
A: 최소 사양: - 2코어 CPU + 4GB 메모리 + 20GB 스토리지 — 테스트 및 소규모 팀(<20인)용 - 4코어 CPU + 8GB 메모리 + 50GB 스토리지 — 중견기업(20~100인)용 - 8코어 CPU + 16GB 메모리 + 100GB+ SSD — 대기업(100인 이상)용
데이터베이스 성능 향상을 위해 SSD 스토리지를 권장합니다.
Q5: ERPNext를 다른 시스템과 연동할 수 있나요?
A: 가능합니다. ERPNext는 REST API와 Webhook을 지원하며, 다음과 같은 시스템과 연동할 수 있습니다: - 이커머스 플랫폼: Shopify, WooCommerce, 카페24 - 결제 게이트웨이: 토스페이먼츠, KG이니시스, Stripe - 물류 시스템: CJ대한통운, 로젠택배, FedEx - 서드파티 시스템: API를 통해 외부 시스템과 연동 가능
# ERPNext REST API 예시
import requests
# 고객 목록 가져오기
response = requests.get(
"https://erp.yourdomain.com/api/resource/Customer",
headers={"Authorization": "token api_key:api_secret"}
)
customers = response.json()
# 영업주문 생성
response = requests.post(
"https://erp.yourdomain.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}]}
)
마무리
ERPNext는 현재 가장 성숙하고 완성도 높은 오픈소스 ERP 솔루션 중 하나입니다. 중소기업의 일상 업무 관리 요구를 충족할 뿐만 아니라, Frappe 프레임워크의 강력한 확장 기능을 통해 고도화된 커스텀 개발도 가능합니다.
빠른 시작 가이드: 1. Docker로 원클릭 배포(5분) 2. 회사, 사용자, 기초 데이터 설정 완료 3. 재무 또는 CRM 모듈부터 사용 시작 4. 비즈니스 니즈에 맞춰 다른 모듈을 단계적으로 활성화 5. 필요시 커스텀 개발 진행
스타트업이든 디지털 전환을 추진하는 전통 기업이든, ERPNext는 충분히 검토해 볼 만한 선택지입니다. 100% 무료, 완전 오픈소스, 활발한 커뮤니티 — 이것이 ERPNext의 핵심 경쟁력입니다.
ERPNext 공식 사이트 또는 GitHub 저장소에서 자세한 정보를 확인하세요.