@portone/server-sdk
Version:
PortOne JavaScript SDK for server-side usage
809 lines (808 loc) • 42.6 kB
TypeScript
import { TaxInvoiceError } from "./TaxInvoiceError.js";
import type { Unrecognized } from "./../../../utils/unrecognized.js";
import { type PortOneClientInit } from "../../../client.js";
import type { B2BCannotChangeTaxTypeError } from "../../../generated/b2b/taxInvoice/B2BCannotChangeTaxTypeError.js";
import type { B2BTaxInvoiceStatusNotSendingCompletedError } from "../../../generated/b2b/taxInvoice/B2BTaxInvoiceStatusNotSendingCompletedError.js";
import type { B2bBulkTaxInvoice } from "../../../generated/b2b/taxInvoice/B2bBulkTaxInvoice.js";
import type { B2bBulkTaxInvoiceNotFoundError } from "../../../generated/b2b/taxInvoice/B2bBulkTaxInvoiceNotFoundError.js";
import type { B2bDocumentKeyCannotBeChangedError } from "../../../generated/b2b/taxInvoice/B2bDocumentKeyCannotBeChangedError.js";
import type { B2bExternalServiceError } from "../../../generated/common/B2bExternalServiceError.js";
import type { B2bFileNotFoundError } from "../../../generated/b2b/taxInvoice/B2bFileNotFoundError.js";
import type { B2bIdAlreadyExistsError } from "../../../generated/b2b/taxInvoice/B2bIdAlreadyExistsError.js";
import type { B2bIssuanceTypeMismatchError } from "../../../generated/b2b/taxInvoice/B2bIssuanceTypeMismatchError.js";
import type { B2bModificationNotProvidedError } from "../../../generated/b2b/taxInvoice/B2bModificationNotProvidedError.js";
import type { B2bNotEnabledError } from "../../../generated/common/B2bNotEnabledError.js";
import type { B2bOriginalTaxInvoiceNotFoundError } from "../../../generated/b2b/taxInvoice/B2bOriginalTaxInvoiceNotFoundError.js";
import type { B2bRecipientNotFoundError } from "../../../generated/b2b/taxInvoice/B2bRecipientNotFoundError.js";
import type { B2bSupplierNotFoundError } from "../../../generated/b2b/taxInvoice/B2bSupplierNotFoundError.js";
import type { B2bTaxInvoice } from "../../../generated/b2b/taxInvoice/B2bTaxInvoice.js";
import type { B2bTaxInvoiceAttachmentNotFoundError } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceAttachmentNotFoundError.js";
import type { B2bTaxInvoiceInput } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceInput.js";
import type { B2bTaxInvoiceKeyType } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceKeyType.js";
import type { B2bTaxInvoiceModificationCreateBody } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceModificationCreateBody.js";
import type { B2bTaxInvoiceNoRecipientDocumentKeyError } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceNoRecipientDocumentKeyError.js";
import type { B2bTaxInvoiceNoSupplierDocumentKeyError } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceNoSupplierDocumentKeyError.js";
import type { B2bTaxInvoiceNonDeletableStatusError } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceNonDeletableStatusError.js";
import type { B2bTaxInvoiceNotDraftedStatusError } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceNotDraftedStatusError.js";
import type { B2bTaxInvoiceNotFoundError } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceNotFoundError.js";
import type { B2bTaxInvoiceNotIssuedStatusError } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceNotIssuedStatusError.js";
import type { B2bTaxInvoiceNotRequestedStatusError } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceNotRequestedStatusError.js";
import type { B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError.js";
import type { B2bTaxInvoiceSortInput } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceSortInput.js";
import type { B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError } from "../../../generated/b2b/taxInvoice/B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError.js";
import type { CancelB2bTaxInvoiceIssuanceResponse } from "../../../generated/b2b/taxInvoice/CancelB2bTaxInvoiceIssuanceResponse.js";
import type { CancelB2bTaxInvoiceRequestResponse } from "../../../generated/b2b/taxInvoice/CancelB2bTaxInvoiceRequestResponse.js";
import type { CreateB2bFileUploadUrlPayload } from "../../../generated/b2b/taxInvoice/CreateB2bFileUploadUrlPayload.js";
import type { DeleteB2bTaxInvoiceResponse } from "../../../generated/b2b/taxInvoice/DeleteB2bTaxInvoiceResponse.js";
import type { DraftB2bTaxInvoiceResponse } from "../../../generated/b2b/taxInvoice/DraftB2bTaxInvoiceResponse.js";
import type { ForbiddenError } from "../../../generated/common/ForbiddenError.js";
import type { GetB2bTaxInvoiceAttachmentsResponse } from "../../../generated/b2b/taxInvoice/GetB2bTaxInvoiceAttachmentsResponse.js";
import type { GetB2bTaxInvoicePdfDownloadUrlResponse } from "../../../generated/b2b/taxInvoice/GetB2bTaxInvoicePdfDownloadUrlResponse.js";
import type { GetB2bTaxInvoicePopupUrlResponse } from "../../../generated/b2b/taxInvoice/GetB2bTaxInvoicePopupUrlResponse.js";
import type { GetB2bTaxInvoicePrintUrlResponse } from "../../../generated/b2b/taxInvoice/GetB2bTaxInvoicePrintUrlResponse.js";
import type { GetB2bTaxInvoicesBodyFilter } from "../../../generated/b2b/taxInvoice/GetB2bTaxInvoicesBodyFilter.js";
import type { GetB2bTaxInvoicesResponse } from "../../../generated/b2b/taxInvoice/GetB2bTaxInvoicesResponse.js";
import type { InvalidRequestError } from "../../../generated/common/InvalidRequestError.js";
import type { IssueB2bTaxInvoiceImmediatelyResponse } from "../../../generated/b2b/taxInvoice/IssueB2bTaxInvoiceImmediatelyResponse.js";
import type { IssueB2bTaxInvoiceResponse } from "../../../generated/b2b/taxInvoice/IssueB2bTaxInvoiceResponse.js";
import type { RefuseB2bTaxInvoiceRequestResponse } from "../../../generated/b2b/taxInvoice/RefuseB2bTaxInvoiceRequestResponse.js";
import type { RequestB2bTaxInvoiceResponse } from "../../../generated/b2b/taxInvoice/RequestB2bTaxInvoiceResponse.js";
import type { RequestB2bTaxInvoiceReverseIssuanceResponse } from "../../../generated/b2b/taxInvoice/RequestB2bTaxInvoiceReverseIssuanceResponse.js";
import type { SendToNtsB2bTaxInvoiceResponse } from "../../../generated/b2b/taxInvoice/SendToNtsB2bTaxInvoiceResponse.js";
import type { TaxInvoicesSheetField } from "../../../generated/b2b/taxInvoice/TaxInvoicesSheetField.js";
import type { UnauthorizedError } from "../../../generated/common/UnauthorizedError.js";
import type { UpdateB2bTaxInvoiceDraftResponse } from "../../../generated/b2b/taxInvoice/UpdateB2bTaxInvoiceDraftResponse.js";
/**
* 포트원 API 클라이언트를 생성합니다.
*/
export declare function TaxInvoiceClient(init: PortOneClientInit): TaxInvoiceClient;
export type TaxInvoiceClient = {
/**
* 일괄 세금계산서 조회
*
* 등록된 일괄 세금계산서를 일괄 세금계산서 아이디로 조회합니다.
*
* @throws {@link GetB2bBulkTaxInvoiceError}
*/
getB2bBulkTaxInvoice: (options: {
/** 일괄 세금계산서 아이디 */
bulkTaxInvoiceId: string;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
}) => Promise<B2bBulkTaxInvoice>;
/**
* 파일 업로드 URL 생성
*
* S3 파일 업로드를 위한 URL을 생성합니다.
*
* @throws {@link CreateB2bFileUploadUrlError}
*/
createB2bFileUploadUrl: (options: {
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
/** 파일 이름 */
fileName: string;
}) => Promise<CreateB2bFileUploadUrlPayload>;
/**
* 세금계산서 엑셀 파일(csv) 다운로드
*
* 세금계산서를 엑셀 파일(csv)로 다운로드합니다.
*
* @throws {@link DownloadB2bTaxInvoicesSheetError}
*/
downloadB2bTaxInvoicesSheet: (options?: {
filter?: GetB2bTaxInvoicesBodyFilter;
/** 다운로드 할 시트 컬럼 */
fields?: TaxInvoicesSheetField[];
test?: boolean;
}) => Promise<string>;
/**
* 세금계산서 임시저장 수정
*
* 임시 저장된 세금계산서를 수정합니다.
*
* @throws {@link UpdateB2bTaxInvoiceDraftError}
*/
updateB2bTaxInvoiceDraft: (options: {
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
/**
* 사업자등록번호
*
* taxInvoiceKeyType이 TAX_INVOICE_ID가 아닌 경우 필수 값입니다.
*/
brn?: string;
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/**
* 문서 번호 유형
*
* 기본 값은 RECIPIENT이며 SUPPLIER, RECIPIENT을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/** 세금계산서 임시저장 수정 정보 */
taxInvoice: B2bTaxInvoiceInput;
/** 메모 */
memo?: string;
}) => Promise<UpdateB2bTaxInvoiceDraftResponse>;
/**
* 세금계산서 임시 저장
*
* 세금계산서 임시 저장을 요청합니다.
*
* @throws {@link DraftB2bTaxInvoiceError}
*/
draftB2bTaxInvoice: (options: {
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
/** 세금계산서 생성 요청 정보 */
taxInvoice: B2bTaxInvoiceInput;
/** 수정 세금계산서 입력 정보 */
modification?: B2bTaxInvoiceModificationCreateBody;
/** 메모 */
memo?: string;
}) => Promise<DraftB2bTaxInvoiceResponse>;
/**
* 세금계산서 즉시 정발행
*
* 세금계산서를 즉시 정발행합니다. 임시저장 API와 정발행 API 기능을 한 번의 프로세스로 처리합니다.
*
* @throws {@link IssueB2bTaxInvoiceImmediatelyError}
*/
issueB2bTaxInvoiceImmediately: (options: {
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
/** 세금계산서 생성 요청 정보 */
taxInvoice: B2bTaxInvoiceInput;
/** 메모 */
memo?: string;
/** 수정 세금계산서 입력 정보 */
modification?: B2bTaxInvoiceModificationCreateBody;
}) => Promise<IssueB2bTaxInvoiceImmediatelyResponse>;
/**
* 세금계산서 역발행 즉시 요청
*
* 공급자에게 세금계산서 역발행을 즉시 요청합니다. 임시저장 API와 역발행 요청 API 기능을 한 번의 프로세스로 처리합니다.
*
* @throws {@link RequestB2bTaxInvoiceReverseIssuanceError}
*/
requestB2bTaxInvoiceReverseIssuance: (options: {
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
/** 세금계산서 생성 요청 정보 */
taxInvoice: B2bTaxInvoiceInput;
/** 메모 */
memo?: string;
/** 수정 세금계산서 입력 정보 */
modification?: B2bTaxInvoiceModificationCreateBody;
}) => Promise<RequestB2bTaxInvoiceReverseIssuanceResponse>;
/**
* 세금계산서 파일 첨부
*
* 세금계산서에 파일을 첨부합니다.
*
* @throws {@link AttachB2bTaxInvoiceFileError}
*/
attachB2bTaxInvoiceFile: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
/** 파일 아이디 */
fileId: string;
}) => Promise<void>;
/**
* 세금계산서 첨부파일 삭제
*
* 세금계산서 첨부파일을 삭제합니다.
*
* @throws {@link DeleteB2bTaxInvoiceAttachmentError}
*/
deleteB2bTaxInvoiceAttachment: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 첨부파일 아이디 */
attachmentId: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
}) => Promise<void>;
/**
* 세금계산서 첨부파일 목록 조회
*
* 세금계산서에 첨부된 파일 목록을 조회합니다.
*
* @throws {@link GetB2bTaxInvoiceAttachmentsError}
*/
getB2bTaxInvoiceAttachments: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
}) => Promise<GetB2bTaxInvoiceAttachmentsResponse>;
/**
* 세금계산서 취소 (공급자에 의한 취소)
*
* 발행 완료된 세금계산서를 공급자가 국세청 전송 전에 취소합니다.
*
* @throws {@link CancelB2bTaxInvoiceIssuanceError}
*/
cancelB2bTaxInvoiceIssuance: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
/** 메모 */
memo?: string;
}) => Promise<CancelB2bTaxInvoiceIssuanceResponse>;
/**
* 세금계산서 역발행 요청 취소 (공급받는자에 의한 취소)
*
* 공급자가 세금계산서 발행을 승인하기 전에 공급받는자가 해당 역발행 요청을 취소합니다.
*
* @throws {@link CancelB2bTaxInvoiceRequestError}
*/
cancelB2bTaxInvoiceRequest: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
/** 메모 */
memo?: string;
}) => Promise<CancelB2bTaxInvoiceRequestResponse>;
/**
* 세금계산서 발행 승인
*
* 역발행의 경우 역발행요청(REQUESTED) 상태, 정발행의 경우 임시저장(DRAFTED) 상태의 세금계산서에 대해 발행을 승인합니다.
*
* @throws {@link IssueB2bTaxInvoiceError}
*/
issueB2bTaxInvoice: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
/** 메모 */
memo?: string;
/** 이메일 제목 */
emailSubject?: string;
}) => Promise<IssueB2bTaxInvoiceResponse>;
/**
* 세금 계산서 PDF 다운로드 URL 조회
*
* 등록된 세금 계산서 PDF 다운로드 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.
*
* @throws {@link GetB2bTaxInvoicePdfDownloadUrlError}
*/
getB2bTaxInvoicePdfDownloadUrl: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
}) => Promise<GetB2bTaxInvoicePdfDownloadUrlResponse>;
/**
* 세금 계산서 팝업 URL 조회
*
* 등록된 세금 계산서 팝업 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.
*
* @throws {@link GetB2bTaxInvoicePopupUrlError}
*/
getB2bTaxInvoicePopupUrl: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 메뉴 포함 여부
*
* 팝업 URL에 메뉴 레이아웃을 포함 여부를 결정합니다. 기본 값은 true입니다.
*/
includeMenu?: boolean;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
}) => Promise<GetB2bTaxInvoicePopupUrlResponse>;
/**
* 세금 계산서 프린트 URL 조회
*
* 등록된 세금 계산서 프린트 URL을 공급자 혹은 공급받는자 문서번호로 조회합니다.
*
* @throws {@link GetB2bTaxInvoicePrintUrlError}
*/
getB2bTaxInvoicePrintUrl: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
}) => Promise<GetB2bTaxInvoicePrintUrlResponse>;
/**
* 세금계산서 역발행 요청 거부
*
* 공급자가 공급받는자로부터 요청받은 세금계산서 역발행 건을 거부합니다.
*
* @throws {@link RefuseB2bTaxInvoiceRequestError}
*/
refuseB2bTaxInvoiceRequest: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
/** 메모 */
memo?: string;
}) => Promise<RefuseB2bTaxInvoiceRequestResponse>;
/**
* 세금계산서 역발행 요청
*
* 임시저장(REGISTERED) 상태의 역발행 세금계산서를 공급자에게 발행 요청합니다. 요청이 완료되면 (역)발행대기 상태로 전환됩니다.
*
* @throws {@link requestB2bTaxInvoiceError}
*/
requestB2bTaxInvoice: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
}) => Promise<RequestB2bTaxInvoiceResponse>;
/**
* 세금계산서 국세청 즉시 전송
*
* 발행이 완료된 세금계산서를 국세청에 즉시 전송합니다.
*
* @throws {@link SendToNtsB2bTaxInvoiceError}
*/
sendToNtsB2bTaxInvoice: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
}) => Promise<SendToNtsB2bTaxInvoiceResponse>;
/**
* 세금 계산서 조회
*
* 등록된 세금 계산서를 세금계산서 아이디로 조회합니다.
*
* @throws {@link GetB2bTaxInvoiceError}
*/
getB2bTaxInvoice: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
}) => Promise<B2bTaxInvoice>;
/**
* 세금계산서 삭제
*
* 세금계산서를 삭제합니다.
*
* @throws {@link DeleteB2bTaxInvoiceError}
*/
deleteB2bTaxInvoice: (options: {
/** 세금계산서 문서 번호 */
taxInvoiceKey: string;
/** 사업자등록번호 */
brn?: string;
/**
* 문서 번호 유형
*
* query 파라미터로 전달된 문서번호 유형. 기본 값은 TAX_INVOICE_ID이며 SUPPLIER, RECIPIENT, TAX_INVOICE_ID을 지원합니다.
*/
taxInvoiceKeyType?: B2bTaxInvoiceKeyType;
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
}) => Promise<DeleteB2bTaxInvoiceResponse>;
/**
* 세금 계산서 다건조회
*
* 조회 기간 내 등록된 세금 계산서를 다건 조회합니다.
*
* @throws {@link GetB2bTaxInvoicesError}
*/
getB2bTaxInvoices: (options?: {
/**
* 테스트 모드 여부
*
* true 이면 테스트 모드로 실행되며, false 이거나 주어지지 않은 경우 테스트 모드를 사용하지 않습니다.
*/
test?: boolean;
/**
* 페이지 번호
*
* 0부터 시작하는 페이지 번호. 기본 값은 0.
* (int32)
*/
pageNumber?: number;
/**
* 페이지 크기
*
* 각 페이지 당 포함할 객체 수. 기본 값은 500이며 최대 1000까지 요청가능합니다.
* (int32)
*/
pageSize?: number;
/** 필터 */
filter?: GetB2bTaxInvoicesBodyFilter;
/**
* 정렬 조건
*
* 미입력 시 상태 업데이트 일시 내림차순 정렬됩니다.
*/
sort?: B2bTaxInvoiceSortInput;
}) => Promise<GetB2bTaxInvoicesResponse>;
};
export declare class GetB2bBulkTaxInvoiceError extends TaxInvoiceError {
readonly data: B2bBulkTaxInvoiceNotFoundError | B2bExternalServiceError | B2bNotEnabledError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bBulkTaxInvoiceNotFoundError | B2bExternalServiceError | B2bNotEnabledError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class CreateB2bFileUploadUrlError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class DownloadB2bTaxInvoicesSheetError extends TaxInvoiceError {
readonly data: InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class UpdateB2bTaxInvoiceDraftError extends TaxInvoiceError {
readonly data: B2BCannotChangeTaxTypeError | B2bDocumentKeyCannotBeChangedError | B2bExternalServiceError | B2bIdAlreadyExistsError | B2bIssuanceTypeMismatchError | B2bModificationNotProvidedError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bRecipientNotFoundError | B2bSupplierNotFoundError | B2bTaxInvoiceNotDraftedStatusError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError | B2BTaxInvoiceStatusNotSendingCompletedError | B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2BCannotChangeTaxTypeError | B2bDocumentKeyCannotBeChangedError | B2bExternalServiceError | B2bIdAlreadyExistsError | B2bIssuanceTypeMismatchError | B2bModificationNotProvidedError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bRecipientNotFoundError | B2bSupplierNotFoundError | B2bTaxInvoiceNotDraftedStatusError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError | B2BTaxInvoiceStatusNotSendingCompletedError | B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class DraftB2bTaxInvoiceError extends TaxInvoiceError {
readonly data: B2BCannotChangeTaxTypeError | B2bExternalServiceError | B2bIdAlreadyExistsError | B2bIssuanceTypeMismatchError | B2bModificationNotProvidedError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bRecipientNotFoundError | B2bSupplierNotFoundError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError | B2BTaxInvoiceStatusNotSendingCompletedError | B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2BCannotChangeTaxTypeError | B2bExternalServiceError | B2bIdAlreadyExistsError | B2bIssuanceTypeMismatchError | B2bModificationNotProvidedError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bRecipientNotFoundError | B2bSupplierNotFoundError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError | B2BTaxInvoiceStatusNotSendingCompletedError | B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class IssueB2bTaxInvoiceImmediatelyError extends TaxInvoiceError {
readonly data: B2BCannotChangeTaxTypeError | B2bExternalServiceError | B2bIdAlreadyExistsError | B2bIssuanceTypeMismatchError | B2bModificationNotProvidedError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bRecipientNotFoundError | B2bSupplierNotFoundError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError | B2BTaxInvoiceStatusNotSendingCompletedError | B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2BCannotChangeTaxTypeError | B2bExternalServiceError | B2bIdAlreadyExistsError | B2bIssuanceTypeMismatchError | B2bModificationNotProvidedError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bRecipientNotFoundError | B2bSupplierNotFoundError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError | B2BTaxInvoiceStatusNotSendingCompletedError | B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class RequestB2bTaxInvoiceReverseIssuanceError extends TaxInvoiceError {
readonly data: B2BCannotChangeTaxTypeError | B2bExternalServiceError | B2bIdAlreadyExistsError | B2bIssuanceTypeMismatchError | B2bModificationNotProvidedError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bRecipientNotFoundError | B2bSupplierNotFoundError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError | B2BTaxInvoiceStatusNotSendingCompletedError | B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2BCannotChangeTaxTypeError | B2bExternalServiceError | B2bIdAlreadyExistsError | B2bIssuanceTypeMismatchError | B2bModificationNotProvidedError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bRecipientNotFoundError | B2bSupplierNotFoundError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceRecipientDocumentKeyAlreadyUsedError | B2BTaxInvoiceStatusNotSendingCompletedError | B2bTaxInvoiceSupplierDocumentKeyAlreadyUsedError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class AttachB2bTaxInvoiceFileError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bFileNotFoundError | B2bNotEnabledError | B2bTaxInvoiceNotDraftedStatusError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bFileNotFoundError | B2bNotEnabledError | B2bTaxInvoiceNotDraftedStatusError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class DeleteB2bTaxInvoiceAttachmentError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceAttachmentNotFoundError | B2bTaxInvoiceNotDraftedStatusError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceAttachmentNotFoundError | B2bTaxInvoiceNotDraftedStatusError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class GetB2bTaxInvoiceAttachmentsError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class CancelB2bTaxInvoiceIssuanceError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNotIssuedStatusError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNotIssuedStatusError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class CancelB2bTaxInvoiceRequestError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNotRequestedStatusError | B2bTaxInvoiceNoRecipientDocumentKeyError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNotRequestedStatusError | B2bTaxInvoiceNoRecipientDocumentKeyError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class IssueB2bTaxInvoiceError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotDraftedStatusError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNotRequestedStatusError | B2bTaxInvoiceNoSupplierDocumentKeyError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotDraftedStatusError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNotRequestedStatusError | B2bTaxInvoiceNoSupplierDocumentKeyError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class GetB2bTaxInvoicePdfDownloadUrlError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class GetB2bTaxInvoicePopupUrlError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class GetB2bTaxInvoicePrintUrlError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class RefuseB2bTaxInvoiceRequestError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNotRequestedStatusError | B2bTaxInvoiceNoSupplierDocumentKeyError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNotRequestedStatusError | B2bTaxInvoiceNoSupplierDocumentKeyError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class requestB2bTaxInvoiceError extends TaxInvoiceError {
readonly data: B2BCannotChangeTaxTypeError | B2bExternalServiceError | B2bIssuanceTypeMismatchError | B2bModificationNotProvidedError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bTaxInvoiceNotDraftedStatusError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNoRecipientDocumentKeyError | B2BTaxInvoiceStatusNotSendingCompletedError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2BCannotChangeTaxTypeError | B2bExternalServiceError | B2bIssuanceTypeMismatchError | B2bModificationNotProvidedError | B2bNotEnabledError | B2bOriginalTaxInvoiceNotFoundError | B2bTaxInvoiceNotDraftedStatusError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNoRecipientDocumentKeyError | B2BTaxInvoiceStatusNotSendingCompletedError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class SendToNtsB2bTaxInvoiceError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNotIssuedStatusError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | B2bTaxInvoiceNotIssuedStatusError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class GetB2bTaxInvoiceError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class DeleteB2bTaxInvoiceError extends TaxInvoiceError {
readonly data: B2bBulkTaxInvoiceNotFoundError | B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNonDeletableStatusError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bBulkTaxInvoiceNotFoundError | B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNonDeletableStatusError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}
export declare class GetB2bTaxInvoicesError extends TaxInvoiceError {
readonly data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
};
/** @ignore */
constructor(data: B2bExternalServiceError | B2bNotEnabledError | B2bTaxInvoiceNotFoundError | ForbiddenError | InvalidRequestError | UnauthorizedError | {
readonly type: Unrecognized;
});
}