Package-level declarations

Types

Link copied to clipboard
@Serializable
data class B2bBulkTaxInvoice(val id: String, val graphqlId: String, val name: String? = null, val status: B2bBulkTaxInvoiceStatus, val totalInvoiceCount: Int, val totalAmount: Long, val stats: Map_Stat, val createdAt: @Serializable(with = InstantSerializer::class) Instant, val scheduledAt: @Serializable(with = InstantSerializer::class) Instant? = null, val requestedAt: @Serializable(with = InstantSerializer::class) Instant? = null, val statusUpdatedAt: @Serializable(with = InstantSerializer::class) Instant, val sourceType: B2bBulkTaxInvoiceSourceType, val issuanceType: B2bTaxInvoiceIssuanceType)
Link copied to clipboard

그룹 생성 방식

Link copied to clipboard
@Serializable
data class B2bBulkTaxInvoiceStat(val count: Int, val amountSum: Long)

세금계산서 상태별 집계 정보

Link copied to clipboard

일괄 세금계산서 상태

Link copied to clipboard

영업 상태

Link copied to clipboard
sealed interface B2bSearchDateType

조회 기준

Link copied to clipboard
Link copied to clipboard
@Serializable
data class B2bTaxInvoice(val id: String, val status: B2bTaxInvoiceStatus, val taxationType: B2bTaxInvoiceTaxationType, val documentModificationType: B2bTaxInvoiceDocumentModificationType, val isDelayed: Boolean? = null, val issuanceType: B2bTaxInvoiceIssuanceType, val bulkTaxInvoiceId: String? = null, val serialNumber: String? = null, val bookVolume: Int? = null, val bookIssue: Int? = null, val writeDate: String, val issuanceDueDate: String, val purposeType: B2bTaxInvoicePurposeType, val totalSupplyAmount: Long, val totalTaxAmount: Long, val totalAmount: Long, val cashAmount: Long? = null, val checkAmount: Long? = null, val creditAmount: Long? = null, val noteAmount: Long? = null, val remarks: List<String>, val supplierDocumentKey: String? = null, val supplier: B2bTaxInvoiceCompany, val recipientDocumentKey: String? = null, val recipient: B2bTaxInvoiceCompany, val sendSms: Boolean? = null, val modification: B2bTaxInvoiceModification? = null, val items: List<B2bTaxInvoiceItem>, val additionalContacts: List<B2bTaxInvoiceAdditionalContact>, val memo: String? = null, val draftedAt: @Serializable(with = InstantSerializer::class) Instant? = null, val requestedAt: @Serializable(with = InstantSerializer::class) Instant? = null, val issuedAt: @Serializable(with = InstantSerializer::class) Instant? = null, val statusUpdatedAt: @Serializable(with = InstantSerializer::class) Instant? = null, val ntsSentAt: @Serializable(with = InstantSerializer::class) Instant? = null, val ntsApprovalNumber: String? = null, val ntsResult: String? = null, val ntsResultCode: String? = null, val ntsResultReceivedAt: @Serializable(with = InstantSerializer::class) Instant? = null, val deletedAt: @Serializable(with = InstantSerializer::class) Instant? = null)

세금계산서

Link copied to clipboard
@Serializable
data class B2bTaxInvoiceAdditionalContact(val name: String? = null, val email: String)

추가 담당자

Link copied to clipboard
@Serializable
data class B2bTaxInvoiceAttachment(val id: String, val name: String, val attachedAt: @Serializable(with = InstantSerializer::class) Instant)

세금계산서 첨부파일

Link copied to clipboard
@Serializable
data class B2bTaxInvoiceCompany(val brn: String, val taxRegistrationId: String? = null, val name: String, val representativeName: String, val address: String? = null, val businessType: String? = null, val businessClass: String? = null, val contact: B2bTaxInvoiceContact)
Link copied to clipboard
@Serializable
data class B2bTaxInvoiceContact(val name: String? = null, val department: String? = null, val phoneNumber: String? = null, val mobilePhoneNumber: String? = null, val email: String)

세금계산서 담당자

Link copied to clipboard

세금계산서 문서 수정 발행 유형

Link copied to clipboard
@Serializable
data class B2bTaxInvoiceInput(val taxationType: B2bTaxInvoiceTaxationType, val issuanceType: B2bTaxInvoiceIssuanceType? = null, val serialNumber: String? = null, val bookVolume: Int? = null, val bookIssue: Int? = null, val writeDate: String, val purposeType: B2bTaxInvoicePurposeType, val totalSupplyAmount: Long, val totalTaxAmount: Long, val totalAmount: Long, val cashAmount: Long? = null, val checkAmount: Long? = null, val creditAmount: Long? = null, val noteAmount: Long? = null, val remarks: List<String>? = null, val supplierDocumentKey: String? = null, val supplier: B2bTaxInvoiceCompany, val recipientDocumentKey: String? = null, val recipient: B2bTaxInvoiceCompany, val sendSms: Boolean? = null, val items: List<B2bTaxInvoiceItem>? = null, val additionalContacts: List<B2bTaxInvoiceAdditionalContact>? = null)

세금계산서 생성 요청 정보

Link copied to clipboard

발행 유형

Link copied to clipboard
@Serializable
data class B2bTaxInvoiceItem(val purchaseDate: String? = null, val name: String? = null, val spec: String? = null, val quantity: Decimal? = null, val unitCostAmount: Decimal? = null, val supplyCostAmount: Long? = null, val taxAmount: Long? = null, val remark: String? = null)

품목

Link copied to clipboard
sealed interface B2bTaxInvoiceKeyType

세금계산서 식별자 유형

Link copied to clipboard
@Serializable
data class B2bTaxInvoiceModification(val type: B2bTaxInvoiceModificationType, val originalNtsApprovalNumber: String, val originalTaxInvoiceId: String, val rootTaxInvoiceId: String)

세금 계산서 수정

Link copied to clipboard
@Serializable
data class B2bTaxInvoiceModificationCreateBody(val type: B2bTaxInvoiceModificationType, val brn: String? = null, val taxInvoiceKey: String, val taxInvoiceKeyType: B2bTaxInvoiceKeyType? = null)

수정 세금계산서 생성 입력 정보

Link copied to clipboard

수정 사유

Link copied to clipboard

영수/청구

Link copied to clipboard
sealed interface B2bTaxInvoiceSortBy

세금계산서 정렬 기준

Link copied to clipboard
@Serializable
data class B2bTaxInvoiceSortInput(val by: B2bTaxInvoiceSortBy? = null, val order: SortOrder? = null)

세금계산서 다건 조회 시 정렬 조건

Link copied to clipboard
sealed interface B2bTaxInvoiceStatus
Link copied to clipboard
@Serializable
data class B2bTaxInvoiceSummary(val id: String, val taxationType: B2bTaxInvoiceTaxationType, val documentModificationType: B2bTaxInvoiceDocumentModificationType, val isDelayed: Boolean? = null, val issuanceType: B2bTaxInvoiceIssuanceType, val bulkTaxInvoiceId: String? = null, val payoutId: String? = null, val totalSupplyAmount: Long, val totalTaxAmount: Long, val totalAmount: Long, val purposeType: B2bTaxInvoicePurposeType, val supplierBrn: String, val supplierName: String, val supplierRepresentativeName: String, val supplierDocumentKey: String? = null, val recipientBrn: String, val recipientName: String, val recipientRepresentativeName: String, val recipientDocumentKey: String? = null, val recipientBusinessStatus: B2bCompanyStateBusinessStatus? = null, val recipientClosedSuspendedDate: String? = null, val writeDate: String, val issuanceDueDate: String, val status: B2bTaxInvoiceStatus, val draftedAt: @Serializable(with = InstantSerializer::class) Instant? = null, val requestedAt: @Serializable(with = InstantSerializer::class) Instant? = null, val issuedAt: @Serializable(with = InstantSerializer::class) Instant? = null, val openedAt: @Serializable(with = InstantSerializer::class) Instant? = null, val statusUpdatedAt: @Serializable(with = InstantSerializer::class) Instant, val ntsSentAt: @Serializable(with = InstantSerializer::class) Instant? = null, val ntsApprovalNumber: String? = null, val ntsResult: String? = null, val ntsResultReceivedAt: @Serializable(with = InstantSerializer::class) Instant? = null, val ntsResultCode: String? = null, val memo: String? = null, val items: List<B2bTaxInvoiceItem>)

세금계산서 요약

Link copied to clipboard

과세 유형

Link copied to clipboard
@Serializable
data class CancelB2bTaxInvoiceIssuanceResponse(val taxInvoice: B2bTaxInvoice)

세금계산서 취소 응답

Link copied to clipboard
@Serializable
data class CancelB2bTaxInvoiceRequestResponse(val taxInvoice: B2bTaxInvoice)

세금계산서 역발행 요청 취소 응답

Link copied to clipboard
@Serializable
data class CreateB2bFileUploadUrlPayload(val fileId: String, val url: String)

파일 업로드 URL 생성 성공 응답

Link copied to clipboard
@Serializable
data class DateRangeOption(val from: String? = null, val until: String? = null)
Link copied to clipboard
@Serializable
data class Decimal(val value: Long, val scale: Int? = null)

BigDecimal 타입

Link copied to clipboard
@Serializable
data object DeleteB2bTaxInvoiceResponse
Link copied to clipboard
@Serializable
data class DraftB2bTaxInvoiceResponse(val taxInvoice: B2bTaxInvoice)

세금계산서 임시 저장 응답

Link copied to clipboard
@Serializable
data class GetB2bTaxInvoiceAttachmentsResponse(val attachments: List<B2bTaxInvoiceAttachment>)

세금계산서 첨부파일 목록 조회 성공 응답

Link copied to clipboard
@Serializable
data class GetB2bTaxInvoicePdfDownloadUrlResponse(val url: String)

세금계산서 PDF 다운로드 URL 성공 응답

Link copied to clipboard
@Serializable
data class GetB2bTaxInvoicePopupUrlResponse(val url: String)

세금계산서 팝업 URL 성공 응답

Link copied to clipboard
@Serializable
data class GetB2bTaxInvoicePrintUrlResponse(val url: String)

세금계산서 프린트 URL 성공 응답

Link copied to clipboard
@Serializable
data class GetB2bTaxInvoicesBodyDateFilter(val dateType: B2bSearchDateType? = null, val dateRange: List<DateRangeOption>? = null)

조회 기간 필터

Link copied to clipboard
@Serializable
data class GetB2bTaxInvoicesBodyFilter(val primaryFilter: GetB2bTaxInvoicesBodyPrimaryFilter? = null, val supplierBrn: String? = null, val partnerBrn: String? = null, val statuses: List<B2bTaxInvoiceStatus>? = null, val taxationTypes: List<B2bTaxInvoiceTaxationType>? = null, val documentModificationTypes: List<B2bTaxInvoiceDocumentModificationType>? = null, val isDelayed: Boolean? = null, val issuanceTypes: List<B2bTaxInvoiceIssuanceType>? = null, val purposeTypes: List<B2bTaxInvoicePurposeType>? = null)

세금계산서 다건 조회 필터

Link copied to clipboard
@Serializable
data class GetB2bTaxInvoicesBodyPrimaryFilter(val dateFilter: GetB2bTaxInvoicesBodyDateFilter? = null, val taxInvoiceId: String? = null, val bulkTaxInvoiceId: String? = null, val ntsApprovalNumber: String? = null, val supplierDocumentKey: String? = null, val recipientDocumentKey: String? = null, val taxInvoiceIds: List<String>? = null, val payoutId: String? = null)

상위 필터

Link copied to clipboard
@Serializable
data class GetB2bTaxInvoicesResponse(val items: List<B2bTaxInvoiceSummary>, val page: PageInfo)

세금계산서 다건 조회 성공 응답

Link copied to clipboard
@Serializable
data class IssueB2bTaxInvoiceImmediatelyResponse(val taxInvoice: B2bTaxInvoice)

세금계산서 즉시 정발행 응답

Link copied to clipboard
@Serializable
data class IssueB2bTaxInvoiceResponse(val taxInvoice: B2bTaxInvoice)

세금계산서 발행 승인 응답

Link copied to clipboard
@Serializable(with = Map_StatSerializer::class)
data class Map_Stat(val additionalProperties: Map<String, B2bBulkTaxInvoiceStat>)
Link copied to clipboard
class Map_StatSerializer : JsonTransformingSerializer<Map_Stat>
Link copied to clipboard
@Serializable
data class RefuseB2bTaxInvoiceRequestResponse(val taxInvoice: B2bTaxInvoice)

세금계산서 역발행 요청 거부 응답

Link copied to clipboard
@Serializable
data class RequestB2bTaxInvoiceResponse(val taxInvoice: B2bTaxInvoice)

세금계산서 역발행 요청 응답

@Serializable
data class RequestB2bTaxInvoiceReverseIssuanceResponse(val taxInvoice: B2bTaxInvoice)

세금계산서 역발행 즉시 요청 응답

Link copied to clipboard
@Serializable
data class SendToNtsB2bTaxInvoiceResponse(val taxInvoice: B2bTaxInvoice)

세금계산서 국세청 즉시 전송 응답

Link copied to clipboard
class TaxInvoiceClient(apiSecret: String, apiBase: String = "https://api.portone.io", storeId: String? = null) : Closeable

API Secret을 사용해 포트원 API 클라이언트를 생성합니다.

Link copied to clipboard

다운로드 할 시트 컬럼

Link copied to clipboard
@Serializable
data class UpdateB2bTaxInvoiceDraftResponse(val taxInvoice: B2bTaxInvoice)

세금계산서 임시저장 수정 응답