subcontracts 스키마 (외주비)
현장별 외주 계약 및 집행 내역을 관리하는 스키마. 외주 계약 단위로 문서를 생성하고 계약 금액 / 부가세율을 관리합니다.
저장 위치
subcontract_id: Firestore 자동 생성 ID
문서 필드
| 필드 | 타입 | 설명 |
|---|---|---|
subcontract_name |
string | 외주 계약명 |
contractor |
string | 외주 업체명 |
start_date |
timestamp | 계약 시작일 |
end_date |
timestamp | 계약 종료일 |
supply_amount |
int | 공급가액 (원) |
vat_rate |
float | 부가세율 (0 ~ 1, 예: 0.1) |
tax |
int | 세액 (공급가액 × vat_rate, 자동 계산) |
memo |
string | 비고 |
created_at |
timestamp | 생성 시각 (SERVER_TIMESTAMP) |
created_by |
string | 생성자 UID |
updated_at |
timestamp? | 수정 시각 |
updated_by |
string? | 수정자 UID |
tax는 int(supply_amount * vat_rate)로 서버에서 계산되어 저장됩니다. 클라이언트는 supply_amount와 vat_rate만 전달합니다.
첨부파일 연결
외주 계약 단위 첨부(계약서, 세금계산서 등)는 files 중 related_doc_id == subcontract_id로 연결됩니다. 삭제 시 관련 files 문서도 함께 정리됩니다.