Admin API세금계산서(어드민)
세금계산서 수정/취소 발행
발행된 세금계산서를 음수 상계로 수정하거나 취소합니다.
수정/취소 발행
원본 invoice는 그대로 유지하고 새 invoice 레코드(origin_invoice_id 참조)로 음수 상계합니다. 원본 상태는 CANCELLED 또는 AMENDED로 전환됩니다.
⚠️ admin 전용 endpoint입니다. 광고주는 수정/취소 권한 없음 (회계 정합성·환불 절차 일원화).
광고주 환불 시 운영자가 호출하는 패턴: 크레딧 환불 처리 → 본 endpoint로 CONTRACT_CANCELLATION 호출 → 마이너스 세금계산서 자동 발행.
HTTP 요청
POST /ai/admin/tax-invoice/{originId}/amend?amendmentType=CONTRACT_CANCELLATION&deltaSupplyAmount=-1000000
Authorization: Bearer {access_token}Path/Query Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
originId | path Long | 예 | 원본 TaxInvoice.id |
amendmentType | query enum | 예 | CONTRACT_CANCELLATION / SUPPLY_CHANGE / DUPLICATE_ERROR |
deltaSupplyAmount | query Long | 예 | 델타 공급가액 (음수: 차감, 양수: 증액) |
amendmentType 종류
| 값 | 의미 | 원본 상태 변화 |
|---|---|---|
CONTRACT_CANCELLATION | 계약 해제 (전액 음수 상계) | CANCELLED |
SUPPLY_CHANGE | 공급가액 변동 (델타) | AMENDED |
DUPLICATE_ERROR | 착오에 의한 이중발급 | AMENDED |
제약사항
⚠️ 원본 invoice의 품목 supplyCost가 음수이면 추가 수정발행 불가 (볼타 정책).
성공 응답 (200 OK)
응답 형식은 발행 내역 조회의 AdminTaxInvoiceListItemDto와 동일.
{
"status": 200,
"message": "수정/취소 발행 접수",
"data": {
"id": 12346,
"invoiceType": "NORMAL",
"status": "REQUESTED",
"purposeType": "CLAIM",
"businessNumber": "1234567890",
"businessName": "○○광고주",
"supplyAmount": -1000000,
"vatAmount": -100000,
"totalAmount": -1100000,
"taxInvoiceUrl": null,
"errorCode": null,
"errorMessage": null,
"requestedAt": "2026-05-12T15:00:00",
"issuedAt": null
}
}Slack 알림
호출 직후 결제/정산 알림 채널에 🔄 수정/취소 발행 메시지가 자동 발송됩니다.