← 포트폴리오 목록

B2B 거래처별 가격·견적 주문 포털

거래처별 공급가·할인율·MOQ 가격 엔진, 주문 시점 가격 스냅샷, 견적 요청부터 주문 자동 생성까지의 B2B 전용 흐름을 React + Node.js 기반으로 설계·구현하는 프로젝트입니다.

프로젝트 납품 요약

아래 프로젝트 개요와 핵심 기능에서 구현 화면을 확인할 수 있습니다.

서비스 타입Web
업종플랫폼
기술 스택
ReactTypeScriptTailwind CSSExpressPostgreSQLPrismaBull Queue토스페이먼츠Nodemailer
주요 기능
  • 거래처별 가격 엔진·주문 스냅샷
  • MOQ 검증 대량 주문
  • 견적 요청·견적서·주문 전환
  • 결제·입금 기한 자동 취소

프로젝트 개요

범위: 개발, 디자인, 기획

거래처별 공급가·할인율·MOQ 가격 엔진, 주문 시점 가격 스냅샷, 견적 요청부터 주문 자동 생성까지의 B2B 전용 흐름을 React + Node.js 기반으로 설계·구현하는 프로젝트입니다. 거래처 화면과 관리자 핵심 화면을 하나의 마스터-디테일 워크스페이스로 구성하고, 가격 오적용을 막는 검증 시나리오를 함께 제시합니다.

작업 범위

  • 거래처별 가격 엔진·주문 스냅샷: 거래처 등급별 공급가와 할인율을 적용해 주문 시점 가격을 계산하고, 확정된 가격을 주문 건에 스냅샷으로 고정하는 화면입니다
  • MOQ 검증 대량 주문: 상품별 최소 주문 수량과 주문 단위를 검증하며 여러 품목을 한 번에 담고, 주문서와 배송지를 작성하는 대량 주문 화면입니다
  • 견적 요청·견적서·주문 전환: 거래처가 견적을 요청하면 관리자가 견적서를 작성해 전송하고, 거래처가 확인한 견적이 주문으로 자동 생성되는 B2B 전용 흐름 화면입니다
  • 결제·입금 기한 자동 취소: 토스페이먼츠 결제와 무통장 입금을 함께 지원하고, 입금 기한이 지난 주문을 자동 취소하며 배송 현황까지 이어서 조회하는 화면입니다

주요 업무

  • 거래처별 가격 엔진·주문 스냅샷 화면: 가격 적용 우선순위(거래처 개별가 > 등급 할인 > 기본 공급가)를 순수 함수로 분리하고, 주문 생성 시 라인별 단가를 불변 스냅샷 테이블에 저장합니다
  • MOQ 검증 대량 주문 화면: MOQ·주문 단위 검사를 서버와 클라이언트가 같은 규칙 모듈로 공유하고, 엑셀식 붙여넣기 입력을 라인 단위로 검증합니다
  • 견적 요청·견적서·주문 전환 화면: 견적 상태 머신(요청·작성중·발송·수락·만료)과 견적 라인의 가격 스냅샷을 주문으로 그대로 이관하는 전환 로직을 설계하고, 전환 이력을 별도로 기록합니다
  • 결제·입금 기한 자동 취소 화면: 결제 상태 머신과 웹훅 멱등 처리를 설계하고, 무통장 주문의 입금 기한을 스케줄러가 점검해 자동 취소와 이메일 안내를 수행합니다
B2B 거래처별 가격·견적 주문 포털
요구사항 정의

프로젝트 핵심 과제

프로젝트 진행 시 해결한 핵심 기술 과제입니다.

거래처 개별가·등급 할인·기간 한정 가격이 겹칠 때 어떤 규칙이 적용됐는지 추적 가능한 우선순위 검증 시나리오 설계가 필요합니다

견적 발송 이후 상품 공급가가 바뀌어도 견적과 주문 금액이 어긋나지 않

스냅샷 이관 시점과 유효기간 정책 설계가 필요합니다

무통장 입금 확인 방식이 담당자 수동 확인과 가상계좌 자동 확인 중 미정이므로 두 방식을 교체 가능한 결제 인터페이스로 설계할 계획입니다

PG 웹훅 중복·순서 역전 상황에서 주문 결제 상태가 한 번만 올바르게 전이되

멱등 처리 구조 설계가 필요합니다

구현 내용

핵심 기능 상세

핵심 기능 1

거래처별 가격 엔진·주문 스냅샷

거래처 등급별 공급가와 할인율을 적용해 주문 시점 가격을 계산하고, 확정된 가격을 주문 건에 스냅샷으로 고정하는 화면입니다.

  • 가격 우선순위(개별가 > 등급 할인 > 기본 공급가) 계산을 순수 함수로 모듈화해 시나리오 단위 테스트 구조 설계
  • 주문 확정 트랜잭션 안에서 라인별 단가·할인율·적용 규칙 ID를 불변 스냅샷 테이블에 기록
  • Prisma 트랜잭션과 낙관적 잠금으로 가격 변경과 주문 생성이 동시에 일어나는 경합 방지

거래처별 가격 결정 과정을 규칙 ID까지 남기는 스냅샷 구조로 구현해, 사후 가격 변경이 기존 주문에 영향을 주지 않음을 테스트로 검증합니다.

거래처별 가격 엔진·주문 스냅샷
거래처별 가격 엔진·주문 스냅샷 실제 화면
핵심 기능 2

MOQ 검증 대량 주문

상품별 최소 주문 수량과 주문 단위를 검증하며 여러 품목을 한 번에 담고, 주문서와 배송지를 작성하는 대량 주문 화면입니다.

  • MOQ·주문 단위 검증 규칙을 공유 모듈로 분리해 클라이언트 즉시 검사와 서버 최종 검사를 동일 로직으로 구현
  • 품목코드·수량 붙여넣기 입력을 파싱해 라인별 오류를 인라인으로 표시하는 대량 담기 인터페이스 구현
  • React Hook Form + Zod 스키마로 배송지·주문서 폼 검증 구조 설계

수십 개 품목을 한 번에 붙여넣어도 MOQ 위반·단위 불일치를 라인별로 즉시 짚어 주는 대량 주문 입력 구조를 구현합니다.

MOQ 검증 대량 주문
MOQ 검증 대량 주문 실제 화면
핵심 기능 3

견적 요청·견적서·주문 전환

거래처가 견적을 요청하면 관리자가 견적서를 작성해 전송하고, 거래처가 확인한 견적이 주문으로 자동 생성되는 B2B 전용 흐름 화면입니다.

  • 견적 상태 머신(요청·작성중·발송·수락·만료)을 서버 전이 규칙으로 정의하고 허용되지 않은 전이를 차단
  • 견적 수락 시 견적 라인의 단가 스냅샷을 주문 라인으로 복사하는 전환 트랜잭션 구현
  • 견적 유효기간 만료를 Bull Queue 지연 작업으로 처리하고 전환 이력을 감사 테이블에 기록

견적서에 확정된 가격이 재계산 없이 주문으로 이어지는 전환 구조를 구현해, 견적과 주문 금액의 불일치 가능성을 구조적으로 제거합니다.

견적 요청·견적서·주문 전환
견적 요청·견적서·주문 전환 실제 화면
핵심 기능 4

결제·입금 기한 자동 취소

토스페이먼츠 결제와 무통장 입금을 함께 지원하고, 입금 기한이 지난 주문을 자동 취소하며 배송 현황까지 이어서 조회하는 화면입니다.

  • 토스페이먼츠 결제 승인·취소 API 연동과 웹훅 서명 검증 및 멱등 키 처리 구조 구현
  • 무통장 입금 기한 점검을 node-schedule 잡으로 등록하고 기한 초과 주문을 자동 취소 처리
  • 결제·배송 상태 변경 시 Nodemailer 템플릿으로 이메일 알림을 발송하는 이벤트 흐름 설계

결제 승인부터 무통장 기한 초과 자동 취소, 송장 등록 이후 배송 조회까지 하나의 주문 상태 머신으로 묶는 구조를 구현합니다.

결제·입금 기한 자동 취소
결제·입금 기한 자동 취소 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

가격 규칙 분석 및 스냅샷 스키마 설계 · 2026.09

거래처·등급·MOQ 규칙 분석, 가격 우선순위 정의, 주문·견적 스냅샷 테이블과 PostgreSQL ERD 설계

STEP 2

가격 엔진 및 견적·주문 API 개발 · 2026.09

Express 기반 가격 계산·MOQ 검증·견적 상태 머신·견적→주문 전환 트랜잭션 API 구현

STEP 3

거래처·관리자 워크스페이스 UI 개발 · 2026.09

React 마스터-디테일 워크스페이스, 대량 주문 폼, 견적서 작성 화면과 권한별 화면 분기 구현

STEP 4

결제 연동 및 시나리오 검증 · 2026.09

토스페이먼츠 연동, 입금 기한 스케줄러, 가격·견적 검증 시나리오 테스트 세트 구성

개발 결과

가격 우선순위 엔진 순수 함수 모듈화개별가·등급 할인·기본 공급가 우선순위를 순수 함수로 분리하고 경계 시나리오 단위 테스트로 검증하는 구조 설계
주문 시점 불변 가격 스냅샷 구축라인별 단가·할인율·적용 규칙 ID를 주문 확정 트랜잭션 안에서 기록해 사후 가격 변경 무영향 구조 구현
견적→주문 전환 트랜잭션 설계견적 수락 시 견적 라인 스냅샷을 주문으로 이관하고 전환 이력을 감사 테이블에 남기는 상태 머신 구현
MOQ 규칙 클라이언트·서버 공유 모듈 구현최소 수량·주문 단위 규칙을 공유 모듈로 두어 화면 검사와 서버 최종 검증이 어긋나지 않는 구조 적용

기술적 주안점

  • 거래처별 가격 결정 과정을 규칙 ID까지 남기는 스냅샷 구조로 구현해, 사후 가격 변경이 기존 주문에 영향을 주지 않음을 테스트로 검증합니다
  • 수십 개 품목을 한 번에 붙여넣어도 MOQ 위반·단위 불일치를 라인별로 즉시 짚어 주는 대량 주문 입력 구조를 구현합니다
  • 견적서에 확정된 가격이 재계산 없이 주문으로 이어지는 전환 구조를 구현해, 견적과 주문 금액의 불일치 가능성을 구조적으로 제거합니다

유사한 프로젝트를 기획하고 계신가요?

필요한 기능과 일정을 알려주시면 개발 범위를 함께 정리하겠습니다.

프로젝트 문의