edit_subcontract_progress (외주 기성 수정)
외주 기성 정보를 수정합니다.
기본 정보
| 항목 | 값 |
|---|---|
| URL | https://asia-northeast3-construction24-test.cloudfunctions.net/edit_subcontract_progress |
| Method | POST |
| 인증 | Firebase ID Token 필요 |
| 권한 | 해당 회사의 멤버 |
요청
Body
| 필드 | 타입 | 필수 | 설명 | 검증 |
|---|---|---|---|---|
| token | string | O | Firebase ID Token | - |
| company_id | string | O | 회사 ID | - |
| site_id | string | O | 현장 ID | - |
| subcontract_id | string | O | 외주 계약 ID | - |
| progress_id | string | O | 기성 ID | - |
| title | string | - | 기성 제목 | 최대 100자 |
| billing_date | string | - | 청구 일자 | REGEX: YYYY-MM-DD |
| billing_amount | number | - | 금회 청구액 | - |
| deduction_amount | number | - | 공제 금액 | - |
선택 필드
title, billing_date, billing_amount, deduction_amount 중 최소 1개는 포함해야 합니다.
요청 예시
{
"token": "eyJhbGci...",
"company_id": "abc123",
"site_id": "site456",
"subcontract_id": "subcontract789",
"progress_id": "progress012",
"billing_amount": 15000000,
"deduction_amount": 700000
}
응답
성공 (200)
부가가치세 자동 재계산
billing_amount 또는 deduction_amount를 수정하면, 상위 외주 계약의 vat_rate를 기반으로 billing_tax 또는 deduction_tax가 자동 재계산됩니다. 금액 변경이 없으면 세금은 변경되지 않습니다.
실패
| 에러 코드 | message | 원인 |
|---|---|---|
| FINANCE_006 | "존재하지 않는 외주 계약입니다." | 금액 수정 시 상위 외주 계약이 존재하지 않는 경우 |
| FINANCE_007 | "존재하지 않는 외주 기성입니다." | 기성 문서가 존재하지 않는 경우 |
| VALIDATION_011 | "수정할 항목이 없습니다." | 선택 필드가 하나도 없는 경우 |
| PERMISSION_001 | "회사 멤버가 아닙니다." | 요청자가 해당 회사의 멤버가 아닌 경우 |