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
@Serializable(with = B2bBulkTaxInvoiceSourceTypeSerializer::class)
sealed interface B2bBulkTaxInvoiceSourceType

그룹 생성 방식

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

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

Link copied to clipboard
@Serializable(with = B2bBulkTaxInvoiceStatusSerializer::class)
sealed interface B2bBulkTaxInvoiceStatus

일괄 세금계산서 상태

Link copied to clipboard
@Serializable(with = B2bCompanyStateBusinessStatusSerializer::class)
sealed interface B2bCompanyStateBusinessStatus

영업 상태

Link copied to clipboard
@Serializable(with = B2bSearchDateTypeSerializer::class)
sealed interface B2bSearchDateType

조회 기준

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
@Serializable(with = B2bTaxInvoiceDocumentModificationTypeSerializer::class)
sealed interface B2bTaxInvoiceDocumentModificationType

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

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
@Serializable(with = B2bTaxInvoiceIssuanceTypeSerializer::class)
sealed interface B2bTaxInvoiceIssuanceType

발행 유형

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
@Serializable(with = B2bTaxInvoiceKeyTypeSerializer::class)
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
@Serializable(with = B2bTaxInvoiceModificationTypeSerializer::class)
sealed interface B2bTaxInvoiceModificationType

수정 사유

Link copied to clipboard
@Serializable(with = B2bTaxInvoicePurposeTypeSerializer::class)
sealed interface B2bTaxInvoicePurposeType

영수/청구

Link copied to clipboard
@Serializable(with = B2bTaxInvoiceStatusSerializer::class)
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
@Serializable(with = B2bTaxInvoiceTaxationTypeSerializer::class)
sealed interface B2bTaxInvoiceTaxationType

과세 유형

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
@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
@Serializable(with = TaxInvoicesSheetFieldSerializer::class)
sealed interface TaxInvoicesSheetField

다운로드 할 시트 컬럼

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

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