8.7 KiB
거래처관리 테이블 구조
개요
거래처관리 화면(COMPANY_16/sales/customer)에서 사용하는 테이블 목록.
모든 테이블은 FK 제약 없이 값 기반 참조로 연결됨.
1. customer_mng (거래처 마스터)
거래처 기본 정보. 메인 테이블.
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|---|---|---|---|---|
id |
integer | NO | auto increment | PK |
customer_code |
varchar | YES | 거래처 코드 (채번: CUST-XXX) |
|
customer_name |
varchar | YES | 거래처명 | |
division |
varchar | YES | 거래 유형 (카테고리) | |
contact_person |
varchar | YES | 담당자명 (레거시, customer_contact로 대체) |
|
contact_phone |
varchar | YES | 전화번호 (레거시) | |
email |
varchar | YES | 이메일 (레거시) | |
business_number |
varchar | YES | 사업자번호 | |
address |
text | YES | 주소 | |
status |
varchar | YES | 상태 (카테고리: 활성/비활성) | |
delivery_location |
varchar | YES | 납품장소 (레거시, delivery_destination으로 대체) |
|
internal_manager |
varchar | YES | 사내담당자 (user_info.user_id 참조) | |
company_code |
varchar | YES | 회사 코드 | |
writer |
varchar | YES | 작성자 | |
created_date |
timestamptz | YES | 생성일 | |
updated_date |
timestamptz | YES | 수정일 |
채번 규칙: rule-1773627245664-rw6ny43cf (거래처코드, customer_code 컬럼)
2. customer_contact (거래처 담당자)
거래처별 복수 담당자 관리.
customer_id(customer_mng.id)로 연결.
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|---|---|---|---|---|
id |
varchar | NO | PK (UUID) | |
customer_id |
varchar | YES | customer_mng.id 참조 | |
contact_name |
varchar | YES | 담당자명 | |
contact_phone |
varchar | YES | 연락처 | |
contact_email |
varchar | YES | 이메일 | |
department |
varchar | YES | 부서 | |
is_main |
varchar | YES | 'N' |
메인 담당자 여부 (Y/N, 복수 가능) |
memo |
varchar | YES | 메모 | |
company_code |
varchar | YES | 회사 코드 | |
writer |
varchar | YES | 작성자 | |
created_date |
timestamp | YES | now() |
생성일 |
updated_date |
timestamp | YES | now() |
수정일 |
참조 방식: customer_id = customer_mng.id (값 기반, FK 없음)
메인 목록 표시: is_main = 'Y'인 담당자의 이름/전화/이메일이 거래처 목록에 표시됨
3. customer_tax_type (거래처 세금유형)
거래처별 세금유형 다중 설정.
customer_id(customer_mng.id)로 연결.
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|---|---|---|---|---|
id |
varchar | NO | PK (UUID) | |
customer_id |
varchar | YES | customer_mng.id 참조 | |
tax_type_id |
varchar | YES | 세금유형 코드 | |
tax_type_name |
varchar | YES | 세금유형명 (카테고리) | |
rate |
numeric | YES | 0 |
세율 (%) |
company_code |
varchar | YES | 회사 코드 | |
writer |
varchar | YES | 작성자 | |
created_date |
timestamp | YES | now() |
생성일 |
updated_date |
timestamp | YES | now() |
수정일 |
카테고리: customer_tax_type.tax_type_name → 부가세(일반), 부가세(영세), 면세, 기타
4. delivery_destination (납품처)
거래처별 납품처 관리.
customer_code(customer_mng.customer_code)로 연결.
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|---|---|---|---|---|
id |
varchar | NO | PK (UUID) | |
customer_code |
varchar | YES | customer_mng.customer_code 참조 | |
destination_code |
varchar | YES | 납품처 코드 (채번: DEST-XXX) |
|
destination_name |
varchar | YES | 납품처명 | |
address |
varchar | YES | 주소 | |
manager_name |
varchar | YES | 담당자명 | |
phone |
varchar | YES | 전화번호 | |
memo |
varchar | YES | 메모 | |
is_default |
varchar | YES | 메인 납품처 여부 (Y/N, 복수 가능) |
|
company_code |
varchar | YES | 회사 코드 | |
writer |
varchar | YES | 작성자 | |
created_date |
timestamp | YES | 생성일 | |
updated_date |
timestamp | YES | 수정일 |
채번 규칙: rule-1773627245668-7ad2ka353 (납품처코드, destination_code 컬럼)
참조 방식: customer_code = customer_mng.customer_code (값 기반, FK 없음)
5. customer_item_mapping (거래처-품목 매핑)
거래처별 품목 매핑 + 거래처 품번/품명 관리.
customer_id(customer_mng.customer_code)로 연결.
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|---|---|---|---|---|
id |
varchar | NO | PK (UUID) | |
customer_id |
varchar | YES | customer_mng.customer_code 참조 | |
item_id |
varchar | YES | item_info.item_number 참조 | |
customer_item_code |
varchar | YES | 거래처 품번 | |
customer_item_name |
varchar | YES | 거래처 품명 | |
currency_code |
varchar | YES | 통화 (카테고리) | |
current_unit_price |
varchar | YES | 현재 단가 | |
discount_type |
varchar | YES | 할인유형 (카테고리) | |
discount_value |
numeric | YES | 할인값 | |
base_price |
numeric | YES | 기준가 | |
calculated_price |
numeric | YES | 계산 단가 | |
rounding_type |
varchar | YES | 반올림 유형 | |
rounding_unit_value |
varchar | YES | 반올림 단위 (카테고리) | |
start_date |
date | YES | 적용 시작일 | |
end_date |
date | YES | 적용 종료일 | |
status |
varchar | YES | 상태 | |
is_active |
varchar | YES | 활성 여부 | |
company_code |
varchar | YES | 회사 코드 | |
writer |
varchar | YES | 작성자 | |
created_date |
timestamp | YES | 생성일 | |
updated_date |
timestamp | YES | 수정일 |
6. customer_item_prices (거래처 품목 단가)
거래처별 품목 기간별 단가 관리.
customer_id+item_id로 연결.
| 컬럼명 | 타입 | NULL | 기본값 | 설명 |
|---|---|---|---|---|
id |
varchar | NO | PK (UUID) | |
mapping_id |
varchar | YES | customer_item_mapping.id 참조 | |
customer_id |
varchar | YES | customer_mng.customer_code 참조 | |
item_id |
varchar | YES | item_info.item_number 참조 | |
start_date |
date | YES | 적용 시작일 | |
end_date |
date | YES | 적용 종료일 | |
unit_price |
numeric | YES | 최종 단가 | |
currency_code |
varchar | YES | 통화 (카테고리) | |
base_price_type |
varchar | YES | 기준유형 (카테고리) | |
base_price |
numeric | YES | 기준가 | |
discount_type |
varchar | YES | 할인유형 (카테고리) | |
discount_value |
numeric | YES | 할인값 | |
rounding_type |
varchar | YES | 반올림 유형 | |
rounding_unit_value |
varchar | YES | 반올림 단위 (카테고리) | |
calculated_price |
numeric | YES | 계산 단가 | |
supply_price |
numeric | YES | 공급가 | |
vat_included_price |
numeric | YES | 부가세 포함가 | |
remarks |
varchar | YES | 비고 | |
company_code |
varchar | YES | 회사 코드 | |
writer |
varchar | YES | 작성자 | |
created_date |
timestamp | YES | 생성일 | |
updated_date |
timestamp | YES | 수정일 |
테이블 관계도
customer_mng (마스터)
├── customer_contact (customer_id = customer_mng.id)
├── customer_tax_type (customer_id = customer_mng.id)
├── delivery_destination (customer_code = customer_mng.customer_code)
├── customer_item_mapping (customer_id = customer_mng.customer_code)
│ └── customer_item_prices (mapping_id = customer_item_mapping.id)
└── customer_item_prices (customer_id = customer_mng.customer_code)
주의:
customer_contact,customer_tax_type은customer_mng.id(정수)로 연결되고,delivery_destination,customer_item_mapping,customer_item_prices는customer_mng.customer_code(문자열)로 연결됨.
카테고리 설정
| 테이블 | 컬럼 | 값 (COMPANY_16) |
|---|---|---|
customer_mng |
division |
국내사업부, 해외사업부, 온라인사업부 |
customer_mng |
status |
활성, 비활성 |
customer_tax_type |
tax_type_name |
부가세(일반), 부가세(영세), 면세, 기타 |
customer_item_prices |
base_price_type |
품목기준, 최종기준 등 |
customer_item_prices |
currency_code |
KRW, USD 등 |
customer_item_prices |
discount_type |
할인금액, 할인율 등 |
customer_item_prices |
rounding_unit_value |
절삭, 반올림, 올림 등 |
채번 규칙
| 대상 | rule_id | 패턴 |
|---|---|---|
| 거래처코드 | rule-1773627245664-rw6ny43cf |
CUST-XXX |
| 납품처코드 | rule-1773627245668-7ad2ka353 |
DEST-XXX |
채번 방식: DB max값 + 로컬 리스트 max값 중 큰 값 + 1