uEngine ERP 튜토리얼
시작하기1

설치하고 판매로 시작하기

빈 Supabase 프로젝트에 uEngine ERP 를 설치하고, 판매 모듈 하나로 거래처와 제품, 견적, 주문까지 만듭니다.

앱 공개 준비 중

앱 주소(https://uengine-oss.github.io/uengine-erp/)와 소스 저장소는 곧 공개합니다. 그전까지 이 튜토리얼과 영상으로 흐름을 먼저 볼 수 있습니다.

무엇을 · 왜#

uEngine ERP 는 판매 하나로 시작해, 회사가 크는 만큼 재고·구매·청구·회계 모듈을 더하는 ERP 입니다. 앱은 정적 파일이고, 데이터와 업무 규칙은 내 Supabase 프로젝트의 Postgres 안에 있습니다. 그래서 쓰는 쪽이나 우리나 서버를 따로 운영하지 않습니다.

모듈 하는 일 켜면 새로 되는 예측·what-if
판매 거래처, 제품, 가격표, 견적, 주문 지역·제품·시즌 통계, 수요 예측, 단종(범위)
재고 창고, 입출고, 재고 조정, 재주문 규칙 품절 예상일, 발주 정책 변경, 창고 재배치, 단종(대체율 추정)
구매 견적 요청, 구매 주문, 입고 실측 납기, 발주 필요 예측, 납기·공급사 변경
청구 청구서, 대변 메모, 입금 입금 예측, 결제 조건 변경
회계 분개, 시산표, 손익, 재무상태 손익 전망

먼저 알아 둘 것

  • 가온가전은 가상 회사입니다. 이 튜토리얼의 수치는 모두 가상 회사의 것이고, 실제 고객이나 성능을 말하지 않습니다.
  • 이 튜토리얼의 화면은 내 컴퓨터의 로컬 Supabase 로 찍었습니다. 그래서 주소가 http://127.0.0.1:56321 로 보입니다. 클라우드 프로젝트로는 아직 끝까지 확인하지 못했습니다. 아래에서 확인하지 못한 단계를 그때그때 밝힙니다.
  • 무료 플랜에서의 속도는 재지 않았습니다. 앱이 보여 주는 무료 플랜 안내는 데이터베이스 500 MB, 자동 백업 없음, 7일 동안 활동이 없으면 일시 중지입니다.
  • 서버 없이 되지 않는 것이 있습니다. 메일 발송, 결제, 전자세금계산서, 은행 연동은 포함하지 않습니다. 필요하면 내 프로젝트의 Edge Function 으로 붙입니다.

이 튜토리얼의 장은 이렇게 이어집니다.

장 내용
설치하고 판매로 시작하기 접속 정보, 설치 SQL, 회사 만들기, 첫 주문 (이 장)
재고를 켜고, 고장 나도 판매는 계속 모듈 켜기, 이벤트로 이어지는 출고, 구독 고장과 복구
구매·청구·회계 켜기 재주문 규칙에서 입고까지, 청구서에서 시산표까지
과거 시점 보기와 되돌리기 이력 슬라이더, 회사 전체 시점 보기, 모듈을 넘는 되돌리기
예측과 what-if 모델의 세 상태, 수요 예측, 다섯 가지 what-if
플러그인과 REST·MCP 연동 SQL 파일 하나로 붙는 플러그인, 연동 키, 외부 호출

1장부터 3장까지는 같은 회사를 이어서 씁니다. 4장부터는 3년치 기록이 있는 가상 회사를 씁니다.

따라 하기#

준비물은 Supabase 프로젝트 하나입니다. 무료 플랜으로 만들면 됩니다. 프로젝트 위쪽의 Connect 를 누르면 Project URL 과 Publishable 키가 함께 보입니다.

앱은 https://uengine-oss.github.io/uengine-erp/ 에서 엽니다. 설치할 것이 없습니다. 이 튜토리얼의 녹화는 같은 앱의 빌드를 내 컴퓨터에서 열어 찍었습니다.

  1. 접속 정보 넣기. 앱을 처음 열면 Supabase 프로젝트 연결 화면이 나옵니다. Project URL 과 Publishable 키 (공개 키) 를 넣습니다.
    프로젝트 연결
    프로젝트 연결
  2. 비밀 키는 넣지 않습니다. sb_secret_ 으로 시작하는 키를 넣으면 앱이 네트워크로 보내지도, 저장하지도 않고 바로 거부합니다. 공개 키를 넣고 다음 을 누릅니다.
    비밀 키 거부
    비밀 키 거부
  3. 설치 SQL 복사. 공개 키로는 표를 만들 수 없어서 SQL 을 한 번 직접 실행해야 합니다. SQL 복사 를 누릅니다. 이 녹화에서 복사한 SQL 은 836 KB 이고, 이 설치 전용 코드가 들어 있습니다.
    데이터베이스 설치
    데이터베이스 설치
  4. SQL 실행. 클라우드 프로젝트라면 이 프로젝트의 SQL Editor 열기 를 눌러 붙여 넣고 Run 을 누릅니다. 여러 번 실행해도 데이터는 지워지지 않습니다. 실행이 끝나면 앱이 스스로 알아채고 다음 단계로 넘어갑니다. !!! note "아직 확인하지 못한 단계" 이 튜토리얼의 녹화에서는 로컬 프로젝트라서 복사한 SQL 을 데이터베이스에 바로 실행했습니다. 대시보드의 SQL Editor 에 836 KB 를 붙여 넣어 실행하는 것은 아직 클라우드에서 확인하지 못했습니다. 무료 플랜에서 끝까지 도는지도 재지 않았습니다.
  5. 회사 만들기. 실제 회사로 시작 을 고릅니다. 판매 모듈이 켜진 빈 회사가 됩니다. 회사명(가온가전), 통화(KRW), 관리자 이름(김대표), 관리자 이메일, 비밀번호 를 넣고 회사 만들기 를 누르면 메일 인증 없이 바로 로그인됩니다. 통화의 소수 자리는 설치 후 바꿀 수 없습니다. 가상 회사(가온가전)로 먼저 체험하기 를 고르면 3년치 판매·재고·구매·청구·회계를 실제 명령으로 만들어 줍니다. 데이터베이스를 약 250 MB 쓰고 몇 분 걸립니다. 4장부터 쓰는 회사가 이것입니다. 지어낸 데이터이니 실제 업무에는 새 프로젝트로 시작하세요.
    회사 만들기
    회사 만들기
  6. 모듈 화면 보기. 설정 → 모듈 을 엽니다. 판매만 켜짐 이고 재고, 구매, 청구, 회계는 꺼짐 입니다. 카드마다 무엇을 다루는지, 켜면 무엇이 열리는지 적혀 있습니다.
    모듈 화면
    모듈 화면
  7. 메뉴 보기. 왼쪽 메뉴에 재고·구매·청구·회계가 없습니다. 판매 를 펼치면 견적·주문, 견적 양식, 연락처, 제품, 가격표, 제품 카탈로그 가 보입니다.
    판매 메뉴
    판매 메뉴
  8. 거래처 만들기. 연락처 → 새로 만들기 에서 구분을 회사 로, 이름을 가온마트, 지역을 수도권 으로 넣고 저장 합니다.
    거래처
    거래처
  9. 제품 만들기. 제품 → 새로 만들기 에서 제품명 에어서큘레이터, 판매가 89000, 원가 52000 을 넣고 저장 합니다.
    제품
    제품
  10. 영업 담당자 추가. 설정 → 구성원 → 직원 추가 에서 이름 박영업, 이메일, 초기 비밀번호(8자 이상)를 넣고 역할에서 영업 을 켜고 조회 를 끕니다. 메일을 보내지 않고 관리자가 계정을 만듭니다. 만든 뒤 로그아웃하고 그 계정으로 들어갑니다.
    구성원
    구성원
  11. 견적 만들기. 견적·주문 → 새로 만들기 에서 고객 가온마트 를 고르고, 줄 추가 로 에어서큘레이터 를 고른 뒤 수량을 3 으로 합니다. 가격과 세금은 서버가 계산합니다. 공급가액 267,000, 세액 26,700, 합계 293,700 이 됩니다.
    견적
    견적
  12. 보내고 확정하기. 저장 하면 번호(S00001)가 붙습니다. 견적 보내기 를 누른 뒤 주문 확정 을 누릅니다. 위쪽 단계 표시가 견적, 보낸 견적, 주문으로 옮겨 갑니다. 재고와 청구 모듈이 꺼져 있으니 납품 상태와 청구 상태 칸은 화면에 없습니다.
    주문 확정
    주문 확정
  13. 분석 화면 보기. 분석 → 예측·what-if 를 엽니다. 모델은 세 상태 중 하나입니다. 지역·제품·시즌 통계 는 사용 가능, 판매 기준 수요 예측 은 근거 부족(판매 15개월 필요 (지금 1개월)), 품절 보정 수요 예측 은 잠김(재고 모듈을 켜면 열립니다)입니다.
    분석 화면
    분석 화면

확인 문제#

앱에 넣는 키가 공개돼도 괜찮은 이유는 무엇인가요?

Publishable 키는 노출되어도 되는 값입니다. 경계는 로그인 토큰과 행 수준 보안입니다. 공개 키만으로는 표를 읽을 수 없고, 그래서 설치 SQL 도 직접 실행해야 합니다. 비밀 키(sb_secret_)는 다르므로 앱이 받지 않습니다.

재고 모듈이 꺼져 있는데 주문을 확정하면 재고는 어떻게 되나요?

아무 일도 일어나지 않습니다. 판매 모듈은 재고를 모르고 이벤트만 남깁니다. 주문 화면에는 납품 상태 칸도 없습니다. 재고를 나중에 켤 때 고른 날짜 이후의 미납품 주문을 출고 대기로 가져올 수 있습니다.

판매 기준 수요 예측이 숫자 대신 "근거 부족"이라고 하는 이유는 무엇인가요?

모델마다 필요한 근거가 있습니다. 이 모델은 판매가 있었던 달 15개월이 필요합니다. 모자라면 숫자만 내놓고 틀리는 대신, 무엇이 얼마나 더 필요한지 보여 줍니다.

© uEngine Solutions · 문의하기 · 이 튜토리얼의 화면과 수치는 실제 앱을 가상 회사 데이터로 돌려 얻었습니다. 실제 회사의 성능이 아닙니다.