콘텐츠로 이동

subcontracts 스키마 (외주비)

현장별 외주 계약 및 집행 내역을 관리하는 스키마. 외주 계약 단위로 문서를 생성하고 계약 금액 / 부가세율을 관리합니다.

저장 위치

companies/{company_id}/sites/{site_id}/subcontracts/{subcontract_id}
  • 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

taxint(supply_amount * vat_rate)로 서버에서 계산되어 저장됩니다. 클라이언트는 supply_amountvat_rate만 전달합니다.

첨부파일 연결

외주 계약 단위 첨부(계약서, 세금계산서 등)는 filesrelated_doc_id == subcontract_id로 연결됩니다. 삭제 시 관련 files 문서도 함께 정리됩니다.

예시 문서

{
  "subcontract_name": "전기 공사",
  "contractor": "대한전기(주)",
  "start_date": "2026-04-01T00:00:00Z",
  "end_date": "2026-06-30T00:00:00Z",
  "supply_amount": 50000000,
  "vat_rate": 0.1,
  "tax": 5000000,
  "memo": "3개월 단기 외주",
  "created_at": "2026-04-01T00:00:00Z",
  "created_by": "uid_admin"
}