프로젝트 소개



재경팀의 복잡한 회계 업무를 효율적으로 관리하기 위해 제작한 맞춤형 ERP 시스템입니다. 기존에는 엑셀과 여러 프로그램을 번갈아 사용하면서 데이터를 수동으로 입력하고 관리해야 했지만, 이제는 하나의 통합 시스템에서 모든 회계 데이터를 조회하고 분석할 수 있습니다.


특히 건설 현장별 자금 관리, 용역사서 문서 작성, 다양한 조건의 데이터 필터링 등 실무에서 필요한 기능들을 중심으로 개발했습니다. 보안을 위해 Google Authenticator를 활용한 OTP 2단계 인증을 구현하여 민감한 재무 정보를 안전하게 보호합니다.



재경팀 전용 커스텀 ERP 시스템

핵심 기능



1. 보안 강화 로그인 시스템


일반적인 ID/PW 로그인 외에도 Google Authenticator를 활용한 OTP 2단계 인증을 구현했습니다. 재무 데이터는 매우 민감한 정보이기 때문에 보안을 최우선으로 고려했습니다.

  • Google Authenticator 연동 OTP 인증
  • 6자리 코드 실시간 검증
  • 세션 기반 인증 상태 관리
  • IP별 접근 로그 기록


재경팀 전용 커스텀 ERP 시스템

2. 고급 데이터 필터링 및 검색 시스템


수천 건의 거래 데이터 중에서 원하는 정보를 빠르게 찾을 수 있도록 다중 조건 필터링 시스템을 구축했습니다. 날짜 범위, 계정구분, 현장, 계정과목, 적요, 세목분류, 기안자, 법인 등 최대 8가지 조건을 동시에 적용할 수 있습니다.

  • 다중 조건 필터링 (최대 8개 조건 동시 적용)
  • 날짜 범위 지정 검색
  • 드롭다운 선택 및 검색어 입력 방식 혼합
  • 필터 조건 저장 및 재사용 기능
  • 행 선택 및 색상 강조 표시
  • 엑셀 다운로드 및 복사 기능


재경팀 전용 커스텀 ERP 시스템

재경팀 전용 커스텀 ERP 시스템

3. 차금 수지 현황 대시보드


여러 현장과 계정구분별로 자금 흐름을 한눈에 파악할 수 있는 대시보드를 제공합니다. 기간별로 금액을 비교하고, 특정 항목을 강조 표시하여 중요한 정보를 놓치지 않도록 했습니다.

  • 구분별 합계 자동 계산
  • 여러 기간 컬럼 동시 비교
  • 하이라이트 및 색상 강조 기능
  • 실시간 데이터 새로고침


재경팀 전용 커스텀 ERP 시스템




현장별 금액 관리



1. 현장별 공사자금결액 조회


건설 현장별로 발생한 모든 비용을 상세하게 조회할 수 있습니다. 날짜순으로 정렬된 거래 내역을 확인하고, 계정구분과 적요를 통해 어떤 항목에 자금이 사용되었는지 한눈에 파악할 수 있습니다.

  • 법인 및 원자 범위 선택
  • 시작일/종료일 기간 설정
  • 거래 내역 상세 조회
  • 계정구분별 금액 표시
  • 거래처 정보 자동 연동


재경팀 전용 커스텀 ERP 시스템

2. 기간별 금액 조회


특정 법인과 거래처를 선택하여 해당 기간 동안의 거래 내역과 금액을 조회할 수 있습니다. 여러 현장의 데이터를 한 번에 확인하고, 각 항목의 적요와 금액을 상세하게 분석할 수 있습니다.



재경팀 전용 커스텀 ERP 시스템




문서 작성 자동화



용역사서 자동 작성 시스템


매번 수작업으로 작성하던 용역사서를 시스템에서 자동으로 생성하고 관리할 수 있습니다. 재경팀 하늘 사무용품 구매 내역을 입력하면, 템플릿에 맞춰 문서가 자동으로 작성됩니다.

  • 문서 번호 자동 생성 (예: 20251110_003)
  • 메모 추가 기능 (최대 3개)
  • 품목별 수량과 금액 자동 계산
  • 인쇄 및 PDF 저장 기능
  • 작성된 문서 조회 및 수정


재경팀 전용 커스텀 ERP 시스템

용역사 결부양식 상세 조회


작성된 용역사서를 법인별, 원자 범위별로 조회하고, 상세 내역을 확인할 수 있습니다. 각 항목의 현장명, 용역 내역, 금액, 거래처 정보를 표 형식으로 깔끔하게 정리하여 보여줍니다.



재경팀 전용 커스텀 ERP 시스템




관리자 설정



사용자 맞춤 설정 시스템


계정구분, 현장, 계정과목, 세목분류, 기안자, 법인 등 시스템에서 사용하는 모든 마스터 데이터를 관리자가 직접 추가하고 수정할 수 있습니다. OTP 2단계 인증이 활성화되어 있어 권한이 있는 사용자만 접근할 수 있습니다.

  • 계정구분, 현장, 계정과목, 세목분류, 기안자, 법인 관리
  • 항목별 추가, 삭제, 순서 변경
  • 검색 기능으로 빠른 항목 찾기
  • OTP 인증 기반 보안 설정


재경팀 전용 커스텀 ERP 시스템

태그 및 스타일 관리


데이터 테이블에서 사용할 태그를 생성하고 스타일을 지정할 수 있습니다. 선지급, 테스트 등의 태그를 만들고, 각 태그에 색상을 지정하여 데이터를 시각적으로 구분할 수 있습니다.



재경팀 전용 커스텀 ERP 시스템




개발 과정과 기술적 고민



1. 복잡한 다중 조건 필터링 구현


가장 큰 도전 과제는 8가지 조건을 동시에 적용하는 필터링 시스템을 만드는 것이었습니다. 사용자가 선택한 조건들을 SQL 쿼리로 변환하고, 대량의 데이터를 빠르게 조회할 수 있도록 최적화했습니다.

  • 동적 SQL 쿼리 생성
  • 인덱스 최적화로 검색 속도 향상
  • 필터 조건 검증 및 예외 처리
  • 필터 초기화 및 재설정 기능


2. OTP 2단계 인증 시스템


Google Authenticator를 활용한 OTP 인증을 구현했습니다. speakeasy 라이브러리를 사용하여 시간 기반 OTP 토큰을 생성하고, QR 코드를 통해 사용자가 쉽게 등록할 수 있도록 했습니다.

const speakeasy = require('speakeasy');
const QRCode = require('qrcode');

// OTP 시크릿 생성
const secret = speakeasy.generateSecret({
  name: 'ERP System'
});

// OTP 검증
const verified = speakeasy.totp.verify({
  secret: user.otp_secret,
  encoding: 'base32',
  token: userInputCode,
  window: 2
});


3. 대용량 데이터 처리 및 성능 최적화


수천 건의 거래 데이터를 빠르게 조회하고 집계하기 위해 다양한 최적화 기법을 적용했습니다.

  • MySQL 인덱스 최적화 (날짜, 현장, 계정구분 등)
  • 페이지네이션 구현으로 초기 로딩 속도 개선
  • 서버 사이드 집계 연산으로 네트워크 트래픽 감소
  • 캐싱 전략 적용 (자주 사용하는 마스터 데이터)


4. 사용자 친화적 UI/UX 설계


재경팀 실무자들이 복잡한 시스템을 쉽게 사용할 수 있도록 직관적인 인터페이스를 설계했습니다.

  • 사이드바 메뉴로 주요 기능 빠른 접근
  • 색상 코딩으로 중요 정보 시각적 강조
  • 드래그 앤 드롭으로 항목 순서 변경
  • 모달 팝업으로 상세 정보 조회
  • 반응형 디자인으로 다양한 화면 크기 지원





사용 기술



이 프로젝트는 다음과 같은 기술 스택을 사용하여 제작되었습니다.

  • [백엔드] Node.js + Express
  • [데이터베이스] MySQL
  • [프론트엔드] EJS 템플릿 엔진, HTML5, CSS3, JavaScript
  • [보안] speakeasy (OTP), bcrypt (비밀번호 암호화)
  • [기타] QRCode (OTP 등록), xlsx (엑셀 다운로드)


프로젝트 성과



재경팀 전용 ERP 시스템을 도입한 후 다음과 같은 성과를 얻을 수 있었습니다.

  • 데이터 조회 시간 80% 단축 (평균 5분 → 1분 이내)
  • 용역사서 작성 시간 95% 감소
  • 실시간 자금 현황 파악으로 의사결정 속도 향상
  • OTP 2단계 인증으로 보안 수준 대폭 강화
  • 엑셀 기반 수작업 대비 오류율 90% 감소


마치며



재경팀의 복잡한 업무 프로세스를 이해하고, 실무자들이 실제로 필요로 하는 기능들을 중심으로 개발한 프로젝트입니다. 단순히 데이터를 저장하고 조회하는 것을 넘어서, 업무 효율을 극대화할 수 있는 다양한 기능들을 구현했습니다.


회계 시스템, 재무 관리 시스템, 커스텀 ERP 등 유사한 시스템이 필요하시다면 언제든 문의 주세요. 귀사의 업무 환경에 맞춤형 솔루션을 제공해드리겠습니다.