import { InvoiceType, InvoiceProvider } from "../enums"; import { InvoiceCarrierType } from "../enums/invoice-carrier-type"; export interface BatchInvoiceNumber { invoiceProvider?: InvoiceProvider; /** * 發票民國年份 格式: yyy ex: 099, 107, 108 * InvoiceProvider.cetustek時為undefined,從`applyInvoiceNumber`取得 */ year?: string; /** * 發票月份 格式: '01-02' | '03-04' | '05-06' | '07-08' | '09-10' | '11-12' * InvoiceProvider.cetustek時為undefined,從`applyInvoiceNumber`取得 */ month?: string; /** 發票字軌,兩位大寫英 文字母 */ prefix: string; /** 起始號碼,8 碼 */ begin: string; /** 結束號碼,8 碼 */ end: string; /** 發票類別 */ type?: InvoiceType; /** 最後上傳號碼 */ lastUploadedNumber?: string; /** * QRCode加密密碼,覆蓋`InvoiceOfficeInfo.qrCode` * 有值: 以這個值作為QRCode加密密碼 * `undefined`: 以 `InvoiceOfficeInfo.qrCode`,作為QRCode加密密碼。 */ qrCode?: string; } export interface LoveCode { /** 捐贈碼 */ code: string; /** 統一編號 */ valueAddedTaxNumber: string; /** 社福機構名稱 */ name: string; } export interface InvoiceOfficeInfo { /** 總公司統一編號 */ topId: string; /** 店家統一編號 */ id: string; /** 營運機構名稱 */ name: string; /** 門市簡稱 */ departName: string; /** 負責人 */ personInCharge: string; /** 地址 */ address: string; /** 電話號碼 */ telephoneNumber: string; /** 傳真號碼 */ facsimileNumber: string; /** 電子郵件 */ emailAddress: string; /** 會員載具類別編號 */ carrierType: string; /** QRCode 密碼 */ qrCode: string; /** 開通日期 */ activationDate?: string; } export interface UploadInvoice { invoiceProvider?: InvoiceProvider; apiKey?: string; officeId: string; clientId: string; salesAmountExcludeTax: number; exemptTaxSalesAmount: number; zeroTaxSalesAmount: number; taxAmount: number; buyerId: string; loveCode: string; carrierId: string; invoiceNumber: string; randomNumber: string; carrierType: InvoiceCarrierType; issuedAt: number; qrCodePassword: string; } export interface UploadVoidInvoice { invoiceProvider?: InvoiceProvider; apiKey?: string; officeId: string; clientId: string; voidedAt: number; reason: string; }