openapi: 3.0.0 info: title: FlowAccount Open BatchImport Employee API version: 1.0.0 servers: - url: https://openapi.flowaccount.com/sandbox description: The sandbox server - url: https://openapi.flowaccount.com/v3-alpha description: The prod server security: - bearer: [] tags: - name: Employee paths: /Employee/{id}: get: tags: - Employee summary: Get employee by Id operationId: Employee_GetById parameters: - name: id in: path required: true schema: type: integer format: int64 x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary security: - bearer: [] delete: tags: - Employee summary: Delete/Remove Employee by Id operationId: Employee_Remove parameters: - name: id in: path required: true schema: type: integer format: int64 x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary security: - bearer: [] /Employee: get: tags: - Employee summary: Get employee list with payrollQuery model operationId: Employee_GetList requestBody: x-name: queryStringModel content: application/json: schema: $ref: '#/components/schemas/PayrollQuery' required: true x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary security: - bearer: [] post: tags: - Employee summary: Create Employee operationId: Employee_Create requestBody: x-name: employee content: application/json: schema: $ref: '#/components/schemas/EmployeeModel' required: true x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary security: - bearer: [] put: tags: - Employee summary: Update Employee operationId: Employee_Edit requestBody: x-name: employee content: application/json: schema: $ref: '#/components/schemas/EmployeeModel' required: true x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary security: - bearer: [] /Employee/count: get: tags: - Employee summary: Count employees operationId: Employee_Count responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary security: - bearer: [] components: schemas: ReportTypes: type: integer description: '10 = Sales 11 = SalesTeamReport 12 = SalesTax 13 = SimpleSales 14 = AccountReceivable 15 = AccountReceivableAging 20 = Purchase 21 = PurchaseTax 22 = AccountPayable 23 = AccountPayableAging 24 = PurchaseByProduct 25 = PurchaseByProductAdvance 30 = Clients 40 = Vendor 50 = PaymentCollection 60 = SalesByProduct 61 = SalesByProductAdvance 62 = SalesByPerson 63 = SalesByPersonAdvance 64 = SalesByCustomer 65 = SalesByCustomerAdvance 70 = Quotation 80 = BillingNote 90 = ReceiveInventory 91 = StocksReport 92 = GroupStockReport 100 = Expense 110 = WithHoldingTax 120 = ProfitAndLossOneMonth 121 = ProfitAndLossMultipleMonth 130 = Receipt 140 = CreditNote 150 = DebitNote 160 = TaxInvoice 170 = Payroll 171 = PayrollSummary 172 = PayrollGroup 173 = PayrollSscSummary 180 = ContactGrid 190 = ProductGrid 200 = ExportContact 210 = ExportProduct 220 = Receivables 240 = Payables 260 = GeneralLedger 270 = JournalEntry 280 = Payment 290 = InputTax 291 = OutputTax 292 = FixedAsset 293 = Depreciation 300 = PaymentSlip' x-enumNames: - Sales - SalesTeamReport - SalesTax - SimpleSales - AccountReceivable - AccountReceivableAging - Purchase - PurchaseTax - AccountPayable - AccountPayableAging - PurchaseByProduct - PurchaseByProductAdvance - Clients - Vendor - PaymentCollection - SalesByProduct - SalesByProductAdvance - SalesByPerson - SalesByPersonAdvance - SalesByCustomer - SalesByCustomerAdvance - Quotation - BillingNote - ReceiveInventory - StocksReport - GroupStockReport - Expense - WithHoldingTax - ProfitAndLossOneMonth - ProfitAndLossMultipleMonth - Receipt - CreditNote - DebitNote - TaxInvoice - Payroll - PayrollSummary - PayrollGroup - PayrollSscSummary - ContactGrid - ProductGrid - ExportContact - ExportProduct - Receivables - Payables - GeneralLedger - JournalEntry - Payment - InputTax - OutputTax - FixedAsset - Depreciation - PaymentSlip enum: - 10 - 11 - 12 - 13 - 14 - 15 - 20 - 21 - 22 - 23 - 24 - 25 - 30 - 40 - 50 - 60 - 61 - 62 - 63 - 64 - 65 - 70 - 80 - 90 - 91 - 92 - 100 - 110 - 120 - 121 - 130 - 140 - 150 - 160 - 170 - 171 - 172 - 173 - 180 - 190 - 200 - 210 - 220 - 240 - 260 - 270 - 280 - 290 - 291 - 292 - 293 - 300 PayrollPreferences: type: object additionalProperties: false properties: companyId: type: integer format: int64 isSocialSecurityRegistered: type: boolean employerAccountNumber: type: string nullable: true employerAccountBranch: type: string nullable: true kCorporateClientCode: type: string nullable: true kCorporateAccountNumber: type: string nullable: true payrollBankAccountId: type: integer format: int64 nullable: true kConnect_ProductCode: $ref: '#/components/schemas/KConnectProductCode' overtimePND: type: integer format: int32 nullable: true commissionPND: type: integer format: int32 nullable: true bonusPND: type: integer format: int32 nullable: true allowancePND: type: integer format: int32 nullable: true colaPND: type: integer format: int32 nullable: true medicalExpensePND: type: integer format: int32 nullable: true accommodationPND: type: integer format: int32 nullable: true directorRemunerationPND: type: integer format: int32 nullable: true otherAdditionPND: type: integer format: int32 nullable: true accessKConnect: type: boolean ExpenseList: allOf: - $ref: '#/components/schemas/Document2' - type: object additionalProperties: false required: - collected - outstanding - paymentWithHeld properties: id: type: integer format: int64 vendorCompanyId: type: integer format: int64 nullable: true companyId: type: integer format: int64 status: $ref: '#/components/schemas/ExpenseStatus' receiptImage: type: string nullable: true value: type: number format: decimal description: type: string nullable: true expenseCategoryId: type: integer format: int64 documentSerial: type: string nullable: true documentId: type: string nullable: true publishedOn: type: string format: date-time expenseDate: type: string format: date-time documentDate: type: string format: date-time createdOn: type: string format: date-time createdBy: type: integer format: int64 modifiedOn: type: string format: date-time published: type: boolean approved: type: boolean approvedBy: type: integer format: int64 remarks: type: string nullable: true isTax: type: boolean isDelete: type: boolean taxRefundable: type: boolean galleryId: type: integer format: int64 nullable: true reconciled: type: boolean nullableContactId: type: integer format: int64 nullable: true bankAccountNumber: type: string maxLength: 50 minLength: 0 nullable: true isVatInclusive: type: boolean methodPayment: nullable: true oneOf: - $ref: '#/components/schemas/PaymentMethod' vendorName: type: string nullable: true addressLocal: type: string nullable: true addressLocalLine2: type: string nullable: true addressLocalLine3: type: string nullable: true companyTaxId: type: string nullable: true branch: type: string nullable: true vatRate: type: integer format: int32 tax: type: number format: decimal nullable: true valueIncludeVat: type: number format: decimal vatAmount: type: number format: decimal nullable: true documentSerialNoPrefix: type: integer format: int64 nullable: true withholding: type: integer format: int32 nullable: true charge: type: number format: decimal nullable: true datePayment: type: string format: date-time nullable: true checkNumber: type: string maxLength: 50 minLength: 0 nullable: true checkBankId: type: string maxLength: 2147483647 minLength: 0 nullable: true checkDatePaid: type: string format: date-time nullable: true transferBankId: type: string maxLength: 2147483647 minLength: 0 nullable: true collected: type: number format: decimal default: 0 outstanding: type: number format: decimal default: 0 paymentWithHeld: type: number format: decimal default: 0 resetTransactionId: type: integer format: int64 nullable: true bankAccountId: type: integer format: int64 nullable: true ruleCompileStatus: $ref: '#/components/schemas/RuleCompileStatus' remainingCollected: type: number format: decimal nullable: true remainingCollectedType: nullable: true oneOf: - $ref: '#/components/schemas/RemainingCollectedType' company: nullable: true oneOf: - $ref: '#/components/schemas/Company' vendorCompany: nullable: true oneOf: - $ref: '#/components/schemas/Company' expenseCategory: nullable: true oneOf: - $ref: '#/components/schemas/ExpenseCategory' gallery: nullable: true oneOf: - $ref: '#/components/schemas/Gallery' contact: nullable: true oneOf: - $ref: '#/components/schemas/Contact' runningNumberType: type: integer format: int32 runningModifiedOn: type: string format: date-time nullable: true isForeignCurrency: type: boolean foreignCurrency: nullable: true oneOf: - $ref: '#/components/schemas/Currency' exchangeRate: type: number format: decimal nullable: true foreignValue: type: number format: decimal nullable: true exemptAmount: type: number format: decimal vatableAmount: type: number format: decimal totalAfterDiscount: type: number format: decimal dueDate: type: string format: date-time nullable: true subTotal: type: number format: decimal payrollDetail: type: array nullable: true items: $ref: '#/components/schemas/PayrollDetail' batchTaxFilingId: type: integer format: int64 nullable: true batchTaxFiling: nullable: true oneOf: - $ref: '#/components/schemas/BatchTaxFiling' supplierInvoiceStatus: nullable: true oneOf: - $ref: '#/components/schemas/SupplierInvoiceStatus' saleAndPurchaseChannel: type: string nullable: true pettyCashName: type: string nullable: true pettyCashId: type: integer format: int64 nullable: true chequeId: type: integer format: int64 nullable: true creditCardId: type: integer format: int64 nullable: true otherChannelId: type: integer format: int64 nullable: true chequeCashingDate: type: string format: date-time nullable: true autoCreateWithholdingTax: type: boolean nullable: true withholdingTaxIncomeType: nullable: true oneOf: - $ref: '#/components/schemas/IncomeType' withholdingTaxIncomeDescription: type: string nullable: true withholdingTaxEntity: nullable: true oneOf: - $ref: '#/components/schemas/Entity' exchangeRatio: type: number format: decimal nullable: true isManualRate: type: boolean nullable: true exchangeRateDate: type: string format: date-time nullable: true companyCurrencyId: type: integer format: int64 nullable: true foreignInlineVatValue: type: number format: decimal nullable: true foreignInlineDiscountValue: type: number format: decimal nullable: true foreignVatAmount: type: number format: decimal nullable: true foreignDeductionAmount: type: number format: decimal nullable: true projectId: type: integer format: int64 nullable: true isManualVat: type: boolean nullable: true externalDocumentId: type: string maxLength: 36 nullable: true batchId: type: string maxLength: 36 nullable: true documentReferences: type: array nullable: true items: $ref: '#/components/schemas/IDocumentReference' referencedToMe: type: array nullable: true items: $ref: '#/components/schemas/IDocumentReference' referencedByMe: type: array nullable: true items: $ref: '#/components/schemas/IDocumentReference' statusInt: type: integer format: int32 partialPaymentMethod: nullable: true oneOf: - $ref: '#/components/schemas/PartialPaymentMethod' refDocumentStatus: type: integer format: int32 refDocumentStatusString: type: string nullable: true isReCalculate: type: boolean inlineVatValue: type: number format: decimal inlineDiscountValue: type: number format: decimal isMigrate: type: boolean vatValue: type: number format: decimal nullable: true deductionAmount: type: number format: decimal nullable: true paymentDeductionType: nullable: true oneOf: - $ref: '#/components/schemas/DeductionType' documentDeductionType: nullable: true oneOf: - $ref: '#/components/schemas/DeductionType' isInlineDiscount: type: boolean isInlineVat: type: boolean contactId: type: integer format: int64 valueExcludeVat: type: number format: decimal roundingAdjustment: type: number format: decimal name: type: string nullable: true internalNotes: type: string nullable: true projectName: type: string nullable: true projectNameAndProjectDeatil: type: string nullable: true ReconciledDocument: type: object additionalProperties: false required: - accountNumber properties: documentId: type: integer format: int64 documentType: $ref: '#/components/schemas/DocumentTypes' transactionId: type: string maxLength: 255 minLength: 0 nullable: true amount: type: number format: decimal fromAccount: type: string nullable: true channel: type: string nullable: true description: type: string nullable: true accountNumber: type: string maxLength: 255 minLength: 0 bankId: type: integer format: int32 companyId: type: integer format: int64 bank: nullable: true oneOf: - $ref: '#/components/schemas/Bank' company: nullable: true oneOf: - $ref: '#/components/schemas/Company' Contact: type: object additionalProperties: false properties: id: type: integer format: int64 nameLocal: type: string nullable: true nameForeign: type: string nullable: true addressLocal: type: string nullable: true addressForeign: type: string nullable: true addressLocalLine2: type: string nullable: true addressForeignLine2: type: string nullable: true addressLocalLine3: type: string nullable: true addressForeignLine3: type: string nullable: true branch: type: string nullable: true branchForeign: type: string nullable: true companyTaxId: type: string nullable: true fax: type: string nullable: true phone1: type: string nullable: true phone2: type: string nullable: true phone3: type: string nullable: true websites: type: string nullable: true createdOn: type: string format: date-time modifiedOn: type: string format: date-time modifiedBy: type: integer format: int64 isDelete: type: boolean isDefault: type: boolean logoImage: type: string nullable: true defaultCreditDays: type: integer format: int32 nullable: true vatRate: type: integer format: int32 email: type: string nullable: true contactPerson: type: string nullable: true isActive: type: boolean contactType: $ref: '#/components/schemas/ContactTypes' contactGroup: $ref: '#/components/schemas/ContactGroups' remarks: type: string nullable: true galleryId: type: integer format: int64 nullable: true branchCode: type: string maxLength: 50 minLength: 0 nullable: true transactionId: type: string maxLength: 50 minLength: 0 nullable: true resetTransactionId: type: integer format: int64 nullable: true contactCode: type: string nullable: true internalNotes: type: string nullable: true shippingAddress: type: string nullable: true zipCode: type: string nullable: true swiftCode: type: string nullable: true bankAddress: type: string nullable: true useForeignBank: type: boolean nullable: true isMigrate: type: boolean BankAccount: type: object additionalProperties: false required: - companyId properties: id: type: integer format: int64 companyId: type: integer format: int64 accountNumber: type: string maxLength: 50 minLength: 0 nullable: true bankId: type: integer format: int32 branch: type: string nullable: true accountName: type: string nullable: true accountType: type: integer format: int32 lastReconciledDate: type: string format: date-time nullable: true lastOutstandingBalanceDate: type: string format: date-time nullable: true lastStatementDate: type: string format: date-time nullable: true lastStatementDocumentId: type: string nullable: true synced: type: boolean outstandingBalance: type: number format: decimal createdOn: type: string format: date-time modifiedOn: type: string format: date-time isDefault: type: boolean isDelete: type: boolean default: false lastAvailableBalance: type: number format: decimal lastOutstandingBalance: type: number format: decimal chartOfAccountId: type: integer format: int64 nullable: true chartOfAccount: nullable: true oneOf: - $ref: '#/components/schemas/ChartOfAccount' bank: nullable: true oneOf: - $ref: '#/components/schemas/Bank' company: nullable: true oneOf: - $ref: '#/components/schemas/Company' status: $ref: '#/components/schemas/BankingChannelsStatus' bankName: type: string nullable: true qrCode: type: string nullable: true BatchTaxFilingStatus: type: integer description: '1 = Awaiting 3 = Refunded' x-enumNames: - Awaiting - Refunded enum: - 1 - 3 PayrollDetailStatus: type: integer description: '0 = Draft 1 = Awaiting 2 = Reset 3 = Paid 4 = Partial 5 = Rejected 7 = Approved 11 = PushPayAwaiting 13 = PushPayProcessed 15 = PushPayRejected 17 = PushPayPartial 19 = PushPayPendingPayments 50 = KConnectAwaiting 52 = KConnectProcessed 54 = KConnectRejected 56 = KConnectPendingPayments 58 = KConnectPartialPayments' x-enumNames: - Draft - Awaiting - Reset - Paid - Partial - Rejected - Approved - PushPayAwaiting - PushPayProcessed - PushPayRejected - PushPayPartial - PushPayPendingPayments - KConnectAwaiting - KConnectProcessed - KConnectRejected - KConnectPendingPayments - KConnectPartialPayments enum: - 0 - 1 - 2 - 3 - 4 - 5 - 7 - 11 - 13 - 15 - 17 - 19 - 50 - 52 - 54 - 56 - 58 Entity: type: integer description: '1 = PND3 3 = PND53 5 = PND1K 7 = PND1KSpecial 9 = PND2 11 = PND2K 13 = PND3K 15 = PND1' x-enumNames: - PND3 - PND53 - PND1K - PND1KSpecial - PND2 - PND2K - PND3K - PND1 enum: - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 OrderBy: type: integer description: '1 = Asc 3 = Desc' x-enumNames: - Asc - Desc enum: - 1 - 3 DocumentReferenceTypes: type: integer description: '1 = ImportDocument 3 = PartialPayments 5 = Batch 7 = Etax 9 = MiigratePartialPayments 11 = BatchPartialPayments 13 = DepositFirst 15 = DepositLast' x-enumNames: - ImportDocument - PartialPayments - Batch - Etax - MiigratePartialPayments - BatchPartialPayments - DepositFirst - DepositLast enum: - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 JournalEntryTemplateType: type: integer description: '1 = Default 3 = DocumentCreated 5 = Payment 7 = ChequeDate 9 = TaxNoRefund 11 = VATManagementHistory' x-enumNames: - Default - DocumentCreated - Payment - ChequeDate - TaxNoRefund - VATManagementHistory enum: - 1 - 3 - 5 - 7 - 9 - 11 PackageList: type: object additionalProperties: false required: - packageName - configuration properties: id: type: integer format: int32 packageName: type: string minLength: 1 description: type: string nullable: true configuration: type: string minLength: 1 remarks: type: string nullable: true displayNameTH: type: string nullable: true displayNameEN: type: string nullable: true RunningNumberType: type: integer description: '1 = Default 3 = YearMonth 5 = Month 7 = Year 9 = FreeHand' x-enumNames: - Default - YearMonth - Month - Year - FreeHand enum: - 1 - 3 - 5 - 7 - 9 SupplierInvoice: type: object additionalProperties: false required: - companyId - documentDate - createdOn - modifiedOn properties: id: type: integer format: int64 companyId: type: integer format: int64 documentDate: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 documentSerial: type: string nullable: true contactName: type: string nullable: true contactTaxId: type: string nullable: true contactBranch: type: string nullable: true isDelete: type: boolean galleryId: type: integer format: int64 nullable: true referenceDocumentId: type: integer format: int64 referenceDocumentType: $ref: '#/components/schemas/DocumentTypes' createdBy: type: integer format: int64 modifiedBy: type: integer format: int64 createdOn: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 modifiedOn: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 company: nullable: true oneOf: - $ref: '#/components/schemas/Company' createdByUser: nullable: true oneOf: - $ref: '#/components/schemas/User' modifiedByUser: nullable: true oneOf: - $ref: '#/components/schemas/User' gallery: nullable: true oneOf: - $ref: '#/components/schemas/Gallery' JournalEntry: type: object additionalProperties: false required: - documentType - status - documentDate - isSystemDocument properties: id: type: integer format: int64 companyId: type: integer format: int64 documentSerial: type: string maxLength: 100 minLength: 0 nullable: true documentType: $ref: '#/components/schemas/DocumentTypes' status: $ref: '#/components/schemas/JournalEntryStatus' documentDate: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 description: type: string maxLength: 2000 minLength: 0 nullable: true descriptionForeign: type: string maxLength: 2000 minLength: 0 nullable: true voidDescription: type: string maxLength: 2000 minLength: 0 nullable: true voidedOn: type: string format: date-time nullable: true approvedOn: type: string format: date-time nullable: true transactionNo: type: integer format: int64 nullable: true note: type: string nullable: true templateType: $ref: '#/components/schemas/JournalEntryTemplateType' contactName: type: string nullable: true documentSerialNoPrefix: type: integer format: int64 nullable: true createdBy: type: integer format: int64 modifiedBy: type: integer format: int64 approvedBy: type: integer format: int64 nullable: true voidedBy: type: integer format: int64 nullable: true galleryId: type: integer format: int64 nullable: true contactId: type: integer format: int64 nullable: true runningNumberType: nullable: true oneOf: - $ref: '#/components/schemas/RunningNumberType' fiscalYearId: type: integer format: int64 nullable: true gallery: nullable: true oneOf: - $ref: '#/components/schemas/Gallery' company: nullable: true oneOf: - $ref: '#/components/schemas/Company' approvedByUser: nullable: true oneOf: - $ref: '#/components/schemas/User' modifiedByUser: nullable: true oneOf: - $ref: '#/components/schemas/User' voidedByUser: nullable: true oneOf: - $ref: '#/components/schemas/User' remarks: type: string maxLength: 2000 minLength: 0 nullable: true contact: nullable: true oneOf: - $ref: '#/components/schemas/Contact' fiscalYear: nullable: true oneOf: - $ref: '#/components/schemas/FiscalYear' reference: type: string maxLength: 50 minLength: 0 nullable: true referenceId: type: integer format: int64 nullable: true referenceDocumentType: nullable: true oneOf: - $ref: '#/components/schemas/DocumentTypes' isSystemDocument: type: boolean default: false ruleCompileStatus: $ref: '#/components/schemas/RuleCompileStatus' bookOfAccounts: type: array nullable: true items: $ref: '#/components/schemas/IBookOfAccount' isChangedDocumentDate: type: boolean isResetDocument: type: boolean IDocumentReference: type: object x-abstract: true additionalProperties: false properties: id: type: integer format: int64 companyId: type: integer format: int64 referenceId: type: integer format: int64 referenceDocumentType: $ref: '#/components/schemas/DocumentTypes' referenceDocumentSerial: type: string nullable: true documentId: type: integer format: int64 documentType: $ref: '#/components/schemas/DocumentTypes' documentSerial: type: string nullable: true isDelete: type: boolean type: $ref: '#/components/schemas/DocumentReferenceTypes' documentStatus: type: integer format: int32 documentStatusString: type: string nullable: true documentDate: type: string format: date-time documentAmount: type: number format: decimal documentAmountWithVat: type: number format: decimal refDocumentStatus: type: integer format: int32 refDocumentStatusString: type: string nullable: true refDocumentDate: type: string format: date-time refDocumentAmount: type: number format: decimal refDocumentAmountWithVat: type: number format: decimal partialPaymentTotalAmount: type: number format: decimal partialPaymentTotalPercent: type: number format: decimal refCreatedOn: type: string format: date-time refModifiedOn: type: string format: date-time refIsMigrate: type: boolean isCompileRule: type: boolean documentCollected: type: number format: decimal FiscalYearStatus: type: integer description: '1 = Current 3 = Opening 5 = Closed' x-enumNames: - Current - Opening - Closed enum: - 1 - 3 - 5 BankingChannelsStatus: type: integer description: '1 = Active 3 = InActive' x-enumNames: - Active - InActive enum: - 1 - 3 FiscalYear: type: object additionalProperties: false properties: id: type: integer format: int64 companyId: type: integer format: int64 beginPeriod: type: string format: date-time endPeriod: type: string format: date-time status: $ref: '#/components/schemas/FiscalYearStatus' closedOn: type: string format: date-time nullable: true closedBy: type: integer format: int64 nullable: true createdOn: type: string format: date-time company: nullable: true oneOf: - $ref: '#/components/schemas/Company' DataRange: type: integer description: '1 = CurrentMonth 3 = PreviousMonth 5 = Manual 7 = CurrentYear 9 = PreviousYear 11 = AsAt 13 = Grid 15 = FiscalYear 17 = Months 19 = Days' x-enumNames: - CurrentMonth - PreviousMonth - Manual - CurrentYear - PreviousYear - AsAt - Grid - FiscalYear - Months - Days enum: - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 17 - 19 Department: type: object additionalProperties: false required: - name properties: id: type: integer format: int64 name: type: string minLength: 1 code: type: string maxLength: 2000 minLength: 0 nullable: true isDelete: type: boolean default: false companyId: type: integer format: int64 createdBy: type: integer format: int64 modifiedBy: type: integer format: int64 createdOn: type: string format: date modifiedOn: type: string format: date-time company: nullable: true oneOf: - $ref: '#/components/schemas/Company' employees: type: array nullable: true items: $ref: '#/components/schemas/Employee' PaymentChannelsType: type: integer description: '1 = POS 3 = PayemntGateWay 5 = EDC 7 = ECommerce' x-enumNames: - POS - PayemntGateWay - EDC - ECommerce enum: - 1 - 3 - 5 - 7 Bank: type: object additionalProperties: false required: - name - bankCode properties: name: type: string minLength: 1 countryCode: type: string maxLength: 50 minLength: 0 nullable: true id: type: integer format: int32 bankCode: type: string maxLength: 20 minLength: 0 isDelete: type: boolean orderNumber: type: integer format: int32 url: type: string maxLength: 255 minLength: 0 nullable: true isCustomBank: type: boolean bankAccount: type: array nullable: true items: $ref: '#/components/schemas/BankAccount' reconciledDocument: type: array nullable: true items: $ref: '#/components/schemas/ReconciledDocument' ProductNonInventoryType: type: integer description: '1 = NonStockProduct 3 = SparepartProduct 5 = SampleProduct 7 = FreemiumProduct 9 = SupplyProduct 11 = OthersProduct' x-enumNames: - NonStockProduct - SparepartProduct - SampleProduct - FreemiumProduct - SupplyProduct - OthersProduct enum: - 1 - 3 - 5 - 7 - 9 - 11 Payroll: type: object additionalProperties: false properties: id: type: integer format: int64 companyId: type: integer format: int64 startDate: type: string format: date-time endDate: type: string format: date-time paymentCycle: type: integer format: int32 status: $ref: '#/components/schemas/PayrollStatus' isDelete: type: boolean createdOn: type: string format: date-time nullable: true modifiedOn: type: string format: date-time nullable: true createdBy: type: integer format: int64 nullable: true modifiedBy: type: integer format: int64 nullable: true expenseId: type: integer format: int64 nullable: true galleryId: type: integer format: int64 nullable: true remarks: type: string nullable: true total: type: number format: decimal bankId: type: integer format: int32 nullable: true accountNumber: type: string nullable: true addAmount: type: number format: decimal deductAmount: type: number format: decimal netTotal: type: number format: decimal runningNumberType: type: integer format: int32 datePayment: type: string format: date-time nullable: true documentDate: type: string format: date-time totalPayrollCash: type: number format: decimal totalPayrollTransfer: type: number format: decimal fee: type: number format: decimal paymentRemarks: type: string nullable: true employerAccountNumber: type: string nullable: true employerAccountBranch: type: string nullable: true bankAccountId: type: integer format: int64 nullable: true accountType: nullable: true oneOf: - $ref: '#/components/schemas/BankAccountType' referenceId: type: string nullable: true payrollVersion: type: integer format: int32 company: nullable: true oneOf: - $ref: '#/components/schemas/Company' createdByUser: nullable: true oneOf: - $ref: '#/components/schemas/User' modifiedByUser: nullable: true oneOf: - $ref: '#/components/schemas/User' payrollDetail: type: array nullable: true items: $ref: '#/components/schemas/PayrollDetail' gallery: nullable: true oneOf: - $ref: '#/components/schemas/Gallery' isMigrate: type: boolean ruleCompileStatus: $ref: '#/components/schemas/RuleCompileStatus' isPartialPayments: type: boolean paidPeriod: default: 1 oneOf: - $ref: '#/components/schemas/PaidPeriod' socialSecurityPercent: type: number format: decimal default: 5 statusInt: type: integer format: int32 ReceivableInvoice: allOf: - $ref: '#/components/schemas/Document2' - type: object additionalProperties: false required: - companyId - createdOn - modifiedOn - publishedOn - documentDate properties: id: type: integer format: int64 contactId: type: integer format: int64 companyId: type: integer format: int64 status: $ref: '#/components/schemas/ReceivableInvoiceStatus' createdOn: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 modifiedOn: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 publishedOn: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 documentDate: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 published: type: boolean approved: type: boolean approvedBy: type: integer format: int64 nullable: true approvedByClientId: type: integer format: int64 nullable: true approvedImageUrl: type: string nullable: true documentSerial: type: string nullable: true remarks: type: string nullable: true name: type: string nullable: true value: type: number format: decimal dueDate: type: string format: date-time nullable: true expectedDate: type: string format: date-time nullable: true createdBy: type: integer format: int64 documentId: type: string nullable: true isDelete: type: boolean vatRate: type: integer format: int32 internalNotes: type: string nullable: true galleryId: type: integer format: int64 nullable: true isVatInclusive: type: boolean salesId: type: integer format: int64 nullable: true salesName: type: string nullable: true roundingAdjustment: type: number format: decimal isInlineDiscount: type: boolean default: false isInlineVat: type: boolean default: false tax: type: number format: decimal nullable: true documentSerialNoPrefix: type: integer format: int64 nullable: true vatValue: type: number format: decimal nullable: true resetTransactionId: type: integer format: int64 nullable: true contact: nullable: true oneOf: - $ref: '#/components/schemas/Contact' approvedByClient: nullable: true oneOf: - $ref: '#/components/schemas/User' company: nullable: true oneOf: - $ref: '#/components/schemas/Company' createdByUser: nullable: true oneOf: - $ref: '#/components/schemas/User' approvedByUser: nullable: true oneOf: - $ref: '#/components/schemas/User' sales: nullable: true oneOf: - $ref: '#/components/schemas/User' gallery: nullable: true oneOf: - $ref: '#/components/schemas/Gallery' inlineVatValue: type: number format: decimal inlineDiscountValue: type: number format: decimal ruleCompileStatus: $ref: '#/components/schemas/RuleCompileStatus' runningNumberType: type: integer format: int32 runningModifiedOn: type: string format: date-time nullable: true exemptAmount: type: number format: decimal vatableAmount: type: number format: decimal totalAfterDiscount: type: number format: decimal subTotal: type: number format: decimal documentReferences: type: array nullable: true items: $ref: '#/components/schemas/IDocumentReference' referencedToMe: type: array nullable: true items: $ref: '#/components/schemas/IDocumentReference' referencedByMe: type: array nullable: true items: $ref: '#/components/schemas/IDocumentReference' statusInt: type: integer format: int32 isReCalculate: type: boolean partialPaymentMethod: nullable: true oneOf: - $ref: '#/components/schemas/PartialPaymentMethod' vatAmount: type: number format: decimal nullable: true isMigrate: type: boolean BatchTaxFiling: allOf: - $ref: '#/components/schemas/Document2' - type: object additionalProperties: false required: - companyId - claimDate - createdOn - modifiedOn properties: id: type: integer format: int64 companyId: type: integer format: int64 status: $ref: '#/components/schemas/BatchTaxFilingStatus' claimDate: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 totalBuyValue: type: number format: decimal totalBuyVatValue: type: number format: decimal totalSellValue: type: number format: decimal totalSellVatValue: type: number format: decimal broughtForward: type: number format: decimal value: type: number format: decimal isDelete: type: boolean createdBy: type: integer format: int64 modifiedBy: type: integer format: int64 createdOn: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 modifiedOn: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 company: nullable: true oneOf: - $ref: '#/components/schemas/Company' createdByUser: nullable: true oneOf: - $ref: '#/components/schemas/User' modifiedByUser: nullable: true oneOf: - $ref: '#/components/schemas/User' datePayment: type: string format: date-time nullable: true charge: type: number format: decimal nullable: true collected: type: number format: decimal nullable: true tax: type: number format: decimal nullable: true remarks: type: string nullable: true paymentWithHeld: type: number format: decimal remainingCollected: type: number format: decimal nullable: true remainingCollectedType: nullable: true oneOf: - $ref: '#/components/schemas/RemainingCollectedType' deductionAmount: type: number format: decimal nullable: true paymentDeductionType: nullable: true oneOf: - $ref: '#/components/schemas/DeductionType' bankAccountId: type: integer format: int64 nullable: true checkNumber: type: string nullable: true checkBankId: type: string nullable: true transferBankId: type: string nullable: true bankAccountNumber: type: string nullable: true checkDatePaid: type: string format: date-time nullable: true methodPayment: nullable: true oneOf: - $ref: '#/components/schemas/PaymentMethod' 'no': type: integer format: int32 pettyCashName: type: string nullable: true pettyCashId: type: integer format: int64 nullable: true chequeId: type: integer format: int64 nullable: true creditCardId: type: integer format: int64 nullable: true otherChannelId: type: integer format: int64 nullable: true documentSerial: type: string nullable: true documentId: type: string nullable: true approved: type: boolean publishedOn: type: string format: date-time documentDate: type: string format: date-time vatRate: type: integer format: int32 dueDate: type: string format: date-time nullable: true name: type: string nullable: true internalNotes: type: string nullable: true roundingAdjustment: type: number format: decimal gallery: nullable: true oneOf: - $ref: '#/components/schemas/Gallery' galleryId: type: integer format: int64 nullable: true contact: nullable: true oneOf: - $ref: '#/components/schemas/Contact' contactId: type: integer format: int64 documentReferences: type: array nullable: true items: $ref: '#/components/schemas/IDocumentReference' referencedToMe: type: array nullable: true items: $ref: '#/components/schemas/IDocumentReference' referencedByMe: type: array nullable: true items: $ref: '#/components/schemas/IDocumentReference' statusInt: type: integer format: int32 isInlineDiscount: type: boolean isInlineVat: type: boolean vatValue: type: number format: decimal nullable: true documentSerialNoPrefix: type: integer format: int64 nullable: true inlineVatValue: type: number format: decimal inlineDiscountValue: type: number format: decimal published: type: boolean isVatInclusive: type: boolean runningNumberType: type: integer format: int32 runningModifiedOn: type: string format: date-time nullable: true exemptAmount: type: number format: decimal vatableAmount: type: number format: decimal totalAfterDiscount: type: number format: decimal subTotal: type: number format: decimal isReCalculate: type: boolean partialPaymentMethod: nullable: true oneOf: - $ref: '#/components/schemas/PartialPaymentMethod' vatAmount: type: number format: decimal nullable: true isMigrate: type: boolean resetTransactionId: type: integer format: int64 nullable: true ruleCompileStatus: default: 1 oneOf: - $ref: '#/components/schemas/RuleCompileStatus' chequeCashingDate: type: string format: date-time nullable: true projectId: type: integer format: int64 nullable: true projectName: type: string nullable: true projectNameAndProjectDeatil: type: string nullable: true reconciled: type: boolean outstanding: type: number format: decimal withholding: type: integer format: int32 nullable: true refDocumentStatus: type: integer format: int32 refDocumentStatusString: type: string nullable: true documentDeductionType: nullable: true oneOf: - $ref: '#/components/schemas/DeductionType' PayrollStatus: type: integer description: '0 = Draft 1 = Awaiting 2 = Reset 3 = Paid 4 = Partial 5 = Rejected 7 = Approved 11 = PushPayAwaiting 13 = PushPayProcessed 15 = PushPayRejected 17 = PushPayPartial 19 = PushPayPendingPayments 50 = KConnectAwaiting 52 = KConnectProcessed 54 = KConnectRejected 56 = KConnectPendingPayments' x-enumNames: - Draft - Awaiting - Reset - Paid - Partial - Rejected - Approved - PushPayAwaiting - PushPayProcessed - PushPayRejected - PushPayPartial - PushPayPendingPayments - KConnectAwaiting - KConnectProcessed - KConnectRejected - KConnectPendingPayments enum: - 0 - 1 - 2 - 3 - 4 - 5 - 7 - 11 - 13 - 15 - 17 - 19 - 50 - 52 - 54 - 56 RemainingCollectedType: type: integer description: '1 = CashShortOrOver 3 = CashDiscount 5 = ExchangeRateDiff 51 = SalesCashShortOrOver 53 = SalesDiscount 55 = SalesBankFee 57 = SalesExchangeRateDiff' x-enumNames: - CashShortOrOver - CashDiscount - ExchangeRateDiff - SalesCashShortOrOver - SalesDiscount - SalesBankFee - SalesExchangeRateDiff enum: - 1 - 3 - 5 - 51 - 53 - 55 - 57 DocumentQuery: allOf: - $ref: '#/components/schemas/SimpleQuery' - type: object additionalProperties: false properties: totalValue: type: number format: decimal totalVAT: type: number format: decimal isReceived: type: boolean documentType: type: array nullable: true items: $ref: '#/components/schemas/DocumentTypes' revenue: type: array nullable: true items: $ref: '#/components/schemas/ListItem' expenses: type: array nullable: true items: $ref: '#/components/schemas/ListItem' previousMonths: type: array nullable: true items: $ref: '#/components/schemas/ListItem' previousYears: type: array nullable: true items: $ref: '#/components/schemas/ListItem' customDocumentModels: type: array nullable: true items: $ref: '#/components/schemas/CustomDocumentModel' EmployeeModel: example: reason: null id: 0 companyId: null prefix: 1 firstName: กไก่ lastName: อยู่ในเล้า salary: 12000.0 identitficationNumber: '1234567890123' passportNumber: null profileImage: null mobile: null commission: null remarks: null title: null galleryId: null bankId: null branch: null accountNumber: '1234567890' accountType: 3 startDate: '2022-10-10T09:37:39.6155504+07:00' endDate: null internalNote: null isActive: null createdOn: null modifiedOn: null createdBy: null modifiedBy: null type: null code: employe001 salaryType: 0 socialSecurityNumber: null employerSocialSecurityRate: 0 employeeSocialSecurityRate: 0 email: null dob: null address: i live at 123 and you live at 456 contactName: Employee number 1 contactNumber: null contactRelationship: null office: null socialSecurityStatus: null methodPayment: 1 secondaryEmail: null isDelete: false socialSecurityValue: 600.0 withholdingTax: 0.0 isHeadOffice: false companyBranch: null maritalStatus: 0 currentAddress: null departmentId: null firstNameForeign: Chicken lastNameForeign: in the nest isSocialSecurityRegistered: true bankBranchCode: null idCard: null householdRegistration: null nickname: null nicknameForeign: null lineId: null conditionsWithholdingTax: 1 paidPeriod: 1 bank: null company: null gallery: null galleryIdCard: null galleryHouseholdRegistration: null payrollDetail: [] department: null allOf: - $ref: '#/components/schemas/Employee' - type: object additionalProperties: false properties: reason: type: string nullable: true ExpenseCategory: type: object additionalProperties: false required: - name properties: id: type: integer format: int64 name: type: string maxLength: 255 minLength: 0 nameForeign: type: string nullable: true isShare: type: boolean isDelete: type: boolean isGLSystem: type: boolean systemCode: type: integer format: int32 nullable: true resetTransactionId: type: integer format: int64 nullable: true taxLife: type: integer format: int32 nullable: true chartOfAccountId: type: integer format: int64 nullable: true chartOfAccountIdCredit: type: integer format: int64 nullable: true depreciationChartOfAccountId: type: integer format: int64 nullable: true accumulatedDepreciationChartOfAccountId: type: integer format: int64 nullable: true depreciableAsset: type: boolean nullable: true expenseList: type: array nullable: true items: $ref: '#/components/schemas/ExpenseList' companyExpenseCategory: type: array nullable: true items: $ref: '#/components/schemas/CompanyExpenseCategory' OtherChannels: type: object additionalProperties: false required: - companyId properties: id: type: integer format: int64 companyId: type: integer format: int64 chartOfAccountId: type: integer format: int64 nullable: true chartOfAccount: nullable: true oneOf: - $ref: '#/components/schemas/ChartOfAccount' name: type: string nullable: true status: $ref: '#/components/schemas/BankingChannelsStatus' channel: $ref: '#/components/schemas/PaymentChannelsType' type: $ref: '#/components/schemas/OtherChannelsType' description: type: string nullable: true bankId: type: integer format: int32 nullable: true bank: nullable: true oneOf: - $ref: '#/components/schemas/Bank' bankName: type: string nullable: true createdOn: type: string format: date-time modifiedOn: type: string format: date-time isDelete: type: boolean default: false ContactGroups: type: integer description: '1 = Individual 3 = Juristic 9 = Undefined' x-enumNames: - Individual - Juristic - Undefined enum: - 1 - 3 - 9 DocumentTypes: type: integer description: '1 = PurchaseOrder 3 = Quotation 5 = BillingNote 7 = TaxInvoice 9 = Receipt 13 = Expense 15 = Vendor 17 = WithHoldingTax 19 = BillingNotePartials 21 = TaxInvoicePartails 23 = Purchase 24 = PurchaseTax 25 = ReceivableInvoice 29 = AdjustInventory 31 = CreditNote 33 = DebitNote 35 = CashInvoice 37 = PaymentSlip 51 = JournalEntry 53 = PurchaseVoucher 55 = SalesVoucher 57 = PaymentVoucher 59 = ReceivedVoucher 61 = ConversionBalance 63 = Transaction 65 = SupplierInvoice 67 = BatchTaxFiling 69 = FixedAsset 71 = Depreciation 73 = BankTransfer 151 = DraftJournalEntry 153 = DraftPurchaseVoucher 155 = DraftSalesVoucher 157 = DraftPaymentVoucher 159 = DraftReceivedVoucher 201 = Payroll 202 = PayrollDetail 203 = Employee 204 = PayrollPayment' x-enumNames: - PurchaseOrder - Quotation - BillingNote - TaxInvoice - Receipt - Expense - Vendor - WithHoldingTax - BillingNotePartials - TaxInvoicePartails - Purchase - PurchaseTax - ReceivableInvoice - AdjustInventory - CreditNote - DebitNote - CashInvoice - PaymentSlip - JournalEntry - PurchaseVoucher - SalesVoucher - PaymentVoucher - ReceivedVoucher - ConversionBalance - Transaction - SupplierInvoice - BatchTaxFiling - FixedAsset - Depreciation - BankTransfer - DraftJournalEntry - DraftPurchaseVoucher - DraftSalesVoucher - DraftPaymentVoucher - DraftReceivedVoucher - Payroll - PayrollDetail - Employee - PayrollPayment enum: - 1 - 3 - 5 - 7 - 9 - 13 - 15 - 17 - 19 - 21 - 23 - 24 - 25 - 29 - 31 - 33 - 35 - 37 - 51 - 53 - 55 - 57 - 59 - 61 - 63 - 65 - 67 - 69 - 71 - 73 - 151 - 153 - 155 - 157 - 159 - 201 - 202 - 203 - 204 CustomDocumentModel: type: integer description: 1 = SwitchProductItemSellToBuy x-enumNames: - SwitchProductItemSellToBuy enum: - 1 KConnectProductCode: type: integer description: '1 = PCT 3 = PPA 5 = PPB' x-enumNames: - PCT - PPA - PPB enum: - 1 - 3 - 5 OtherChannelsType: type: integer description: '1 = Receive 3 = ReceivePay 5 = Pay' x-enumNames: - Receive - ReceivePay - Pay enum: - 1 - 3 - 5 Currency: type: integer description: '1 = USD 3 = GBP 5 = EUR 7 = JPY 9 = HKD 11 = CNY 13 = THB 15 = AUD 33 = BDT 35 = BHD 37 = BND 39 = KHR 41 = CAD 43 = DKK 45 = INR 47 = IDR 49 = ILS 53 = KRW 55 = LAK 57 = MOP 59 = MYR 61 = MMK 63 = NPR 65 = NZD 67 = NOK 69 = OMR 71 = PKR 73 = PHP 75 = QAR 77 = RUB 79 = SAR 81 = SEK 83 = SGD 85 = LKR 87 = CHF 89 = TWD 91 = AED 93 = VND 95 = ZAR 97 = MXN 99 = KWD 101 = CZK 103 = KES 105 = EGP 107 = PLN 109 = IQD 111 = JOD 113 = MVR 115 = PGK 117 = HUF' x-enumNames: - USD - GBP - EUR - JPY - HKD - CNY - THB - AUD - BDT - BHD - BND - KHR - CAD - DKK - INR - IDR - ILS - KRW - LAK - MOP - MYR - MMK - NPR - NZD - NOK - OMR - PKR - PHP - QAR - RUB - SAR - SEK - SGD - LKR - CHF - TWD - AED - VND - ZAR - MXN - KWD - CZK - KES - EGP - PLN - IQD - JOD - MVR - PGK - HUF enum: - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 33 - 35 - 37 - 39 - 41 - 43 - 45 - 47 - 49 - 53 - 55 - 57 - 59 - 61 - 63 - 65 - 67 - 69 - 71 - 73 - 75 - 77 - 79 - 81 - 83 - 85 - 87 - 89 - 91 - 93 - 95 - 97 - 99 - 101 - 103 - 105 - 107 - 109 - 111 - 113 - 115 - 117 IncomeType: type: integer description: '1 = Salary 3 = Commission 5 = Licensing 7 = Interest 9 = NetProfit30 11 = NetProfit25 13 = NetProfit20 15 = NetProfitOther 17 = TaxExemption 19 = DividenFromShareOfProfit 21 = PortionOfNetProfit 23 = RecognitionOfProfit 25 = TaxOther 27 = RevenueDepartmentTax 29 = Others' x-enumNames: - Salary - Commission - Licensing - Interest - NetProfit30 - NetProfit25 - NetProfit20 - NetProfitOther - TaxExemption - DividenFromShareOfProfit - PortionOfNetProfit - RecognitionOfProfit - TaxOther - RevenueDepartmentTax - Others enum: - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 17 - 19 - 21 - 23 - 25 - 27 - 29 FilterOptions: type: object additionalProperties: false properties: columnName: type: string nullable: true columnValue: type: string nullable: true columnPredicateOperator: $ref: '#/components/schemas/PredicateOperator' ProductTypes: type: integer description: '1 = Service 3 = ProductWithNoStock 5 = ProductWithStock' x-enumNames: - Service - ProductWithNoStock - ProductWithStock enum: - 1 - 3 - 5 CreditCard: type: object additionalProperties: false required: - companyId properties: id: type: integer format: int64 companyId: type: integer format: int64 chartOfAccountId: type: integer format: int64 nullable: true chartOfAccount: nullable: true oneOf: - $ref: '#/components/schemas/ChartOfAccount' bankId: type: integer format: int32 bank: nullable: true oneOf: - $ref: '#/components/schemas/Bank' bankName: type: string nullable: true type: $ref: '#/components/schemas/CreditCardType' cardNumber: type: string nullable: true cardHolderName: type: string nullable: true cardName: type: string nullable: true cashLimit: type: number format: decimal statementDate: type: integer format: int32 dueDate: type: integer format: int32 status: $ref: '#/components/schemas/BankingChannelsStatus' isDelete: type: boolean default: false createdOn: type: string format: date-time modifiedOn: type: string format: date-time SystemChartOfAccount: type: object additionalProperties: false required: - companyId - systemCode properties: chartOfAccountId: type: integer format: int64 companyId: type: integer format: int64 systemCode: type: integer format: int32 chartOfAccount: nullable: true oneOf: - $ref: '#/components/schemas/ChartOfAccount' chartOfAccountIdCredit: type: integer format: int64 nullable: true BankAccountType: type: integer description: '1 = SavingAccount 3 = CurrentAccount 5 = CreditCardAccount 7 = DepositAccount' x-enumNames: - SavingAccount - CurrentAccount - CreditCardAccount - DepositAccount enum: - 1 - 3 - 5 - 7 Company: type: object additionalProperties: false required: - nameLocal - createdOn - modifiedOn - contactType - logoType - isAdvance properties: id: type: integer format: int64 nameLocal: type: string minLength: 1 nameForeign: type: string nullable: true addressLocal: type: string nullable: true addressForeign: type: string nullable: true companyTaxId: type: string nullable: true logoImage: type: string nullable: true fax: type: string maxLength: 50 minLength: 0 nullable: true phone1: type: string maxLength: 50 minLength: 0 nullable: true phone2: type: string maxLength: 50 minLength: 0 nullable: true phone3: type: string maxLength: 50 minLength: 0 nullable: true websites: type: string maxLength: 2147483647 minLength: 0 nullable: true companyType: $ref: '#/components/schemas/CompanyTypeEnum' createdOn: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 modifiedOn: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 isDefault: type: boolean addressLocalLine2: type: string nullable: true addressForeignLine2: type: string nullable: true vatRate: type: integer format: int32 isVat: type: boolean default: false email: type: string nullable: true branch: type: string nullable: true addressLocalLine3: type: string nullable: true addressForeignLine3: type: string nullable: true contactPerson: type: string nullable: true isActive: type: boolean default: true remarks: type: string nullable: true galleryId: type: integer format: int64 nullable: true branchForeign: type: string maxLength: 2147483647 minLength: 0 nullable: true branchCode: type: string maxLength: 50 minLength: 0 nullable: true contactType: type: integer format: int32 defaultCreditDays: type: integer format: int32 nullable: true logoType: type: integer format: int32 isRegistered: type: boolean default: true isAdvance: type: boolean address: type: string nullable: true provinceId: type: integer format: int32 nullable: true amphurId: type: integer format: int32 nullable: true districtId: type: integer format: int32 nullable: true zipCode: type: string nullable: true supportCode: type: string nullable: true salesType: nullable: true oneOf: - $ref: '#/components/schemas/SalesType' companyPreferences: nullable: true oneOf: - $ref: '#/components/schemas/CompanyPreferences' payrollPreferences: nullable: true oneOf: - $ref: '#/components/schemas/PayrollPreferences' companySubscription: type: array nullable: true items: $ref: '#/components/schemas/CompanySubscription' PaidPeriod: type: integer description: '1 = Monthly 3 = Daily' x-enumNames: - Monthly - Daily enum: - 1 - 3 ProductList: type: object additionalProperties: false required: - name properties: id: type: integer format: int64 barCode: type: string maxLength: 255 minLength: 0 nullable: true name: type: string maxLength: 255 minLength: 0 unitMeasurement: type: string maxLength: 50 minLength: 0 nullable: true unitPrice: type: number format: decimal nullable: true unitPriceWithVat: type: number format: decimal nullable: true unitWeight: type: number format: decimal nullable: true categoryId: type: integer format: int64 nullable: true description: type: string nullable: true remarks: type: string nullable: true galleryId: type: integer format: int64 nullable: true isVat: type: boolean mainUnitId: type: integer format: int64 nullable: true subUnitId: type: integer format: int64 nullable: true mainUnitAmount: type: integer format: int32 subUnitAmount: type: integer format: int32 hasStock: type: boolean productCode: type: string maxLength: 255 minLength: 0 nullable: true type: $ref: '#/components/schemas/ProductTypes' buyPrice: type: number format: decimal nullable: true buyPriceWithVat: type: number format: decimal nullable: true isBuyVat: type: boolean allowOverSold: type: boolean image: type: string nullable: true isDelete: type: boolean vatRate: type: integer format: int32 buyVatRate: type: integer format: int32 resetTransactionId: type: integer format: int64 nullable: true createdOn: type: string format: date-time modifiedOn: type: string format: date-time broughtForwardOn: type: string format: date-time nullable: true buyDescription: type: string nullable: true buyChartOfAccountId: type: integer format: int64 nullable: true sellChartOfAccountId: type: integer format: int64 nullable: true productNonInventoryType: nullable: true oneOf: - $ref: '#/components/schemas/ProductNonInventoryType' transactionId: type: string maxLength: 50 minLength: 0 nullable: true productMainUnit: nullable: true oneOf: - $ref: '#/components/schemas/ProductUnit' productSubUnit: nullable: true oneOf: - $ref: '#/components/schemas/ProductUnit' productCategory: nullable: true oneOf: - $ref: '#/components/schemas/ProductCategory' isMigrate: type: boolean CompanyTypeEnum: type: integer description: '10 = PrivateWithTax 20 = PrivateWithoutTax 30 = Personal 40 = PersonalWithTax 50 = PartnershipLimitedWithTax 60 = PartnershipLimitedWithoutTax' x-enumNames: - PrivateWithTax - PrivateWithoutTax - Personal - PersonalWithTax - PartnershipLimitedWithTax - PartnershipLimitedWithoutTax enum: - 10 - 20 - 30 - 40 - 50 - 60 GenderPrefix: type: integer description: '1 = Mr 3 = Mrs 5 = Ms' x-enumNames: - Mr - Mrs - Ms enum: - 1 - 3 - 5 PaymentMethod: type: integer description: '0 = None 1 = Cash 3 = Cheque 5 = Transfer 7 = CreditCard 9 = PushPay 11 = PettyCash 13 = Other 51 = TransferByKConnect' x-enumNames: - None - Cash - Cheque - Transfer - CreditCard - PushPay - PettyCash - Other - TransferByKConnect enum: - 0 - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 51 SupplierInvoiceStatus: type: integer description: '0 = None 1 = Awaiting 3 = WaitingForRefund 5 = CreatedBatchFilling 7 = NoRefund' x-enumNames: - None - Awaiting - WaitingForRefund - CreatedBatchFilling - NoRefund enum: - 0 - 1 - 3 - 5 - 7 TemplateFont: type: integer description: '1 = ChatThai 3 = Rsu' x-enumNames: - ChatThai - Rsu enum: - 1 - 3 ReceivableInvoiceStatus: type: integer description: '1 = Awaiting 3 = Approved 5 = ApprovedAndProcessed 7 = Void 9 = Delete' x-enumNames: - Awaiting - Approved - ApprovedAndProcessed - Void - Delete enum: - 1 - 3 - 5 - 7 - 9 IBookOfAccount: type: object x-abstract: true additionalProperties: false properties: journalEntryId: type: integer format: int64 companyId: type: integer format: int64 debitCredit: $ref: '#/components/schemas/FinancialTransactionType' bookOfAccountStatus: $ref: '#/components/schemas/BookOfAccountStatus' chartOfAccountId: type: integer format: int64 postedDate: type: string format: date-time nullable: true createdOn: type: string format: date-time modifiedOn: type: string format: date-time approvedOn: type: string format: date-time nullable: true value: type: number format: decimal balance: type: number format: decimal excludeVoidBalance: type: number format: decimal rowNumber: type: integer format: int32 description: type: string nullable: true descriptionForeign: type: string nullable: true chartOfAccountName: type: string nullable: true journalEntry: nullable: true oneOf: - $ref: '#/components/schemas/IJournalEntryBase' chartOfAccount: nullable: true oneOf: - $ref: '#/components/schemas/IChartOfAccount' Media: type: object additionalProperties: false required: - url properties: id: type: integer format: int32 url: type: string maxLength: 255 minLength: 0 description: type: string maxLength: 255 minLength: 0 nullable: true orderNumber: type: integer format: int32 nullable: true createdOn: type: string format: date-time nullable: true isDisplay: type: boolean isDeleted: type: boolean galleryId: type: integer format: int64 nullable: true mediaType: type: integer format: int32 companyId: type: integer format: int64 userId: type: integer format: int64 path: type: string nullable: true company: nullable: true oneOf: - $ref: '#/components/schemas/Company' gallery: nullable: true oneOf: - $ref: '#/components/schemas/Gallery' user: nullable: true oneOf: - $ref: '#/components/schemas/User' Document2: type: object additionalProperties: false ContactTypes: type: integer description: '0 = OwnCompany 3 = Client 5 = Vendor 7 = VendorAndClient 9 = ExpenseVendor' x-enumNames: - OwnCompany - Client - Vendor - VendorAndClient - ExpenseVendor enum: - 0 - 3 - 5 - 7 - 9 ChartOfAccount: type: object additionalProperties: false required: - createdon - modifiedon properties: id: type: integer format: int64 companyId: type: integer format: int64 code: type: string maxLength: 50 minLength: 0 nullable: true nameLocal: type: string nullable: true nameForeign: type: string nullable: true descriptionLocal: type: string nullable: true descriptionForeign: type: string nullable: true category: $ref: '#/components/schemas/ChartOfAccountCategory' parentId: type: integer format: int64 nullable: true isFolder: type: boolean isBank: type: boolean isReceivable: type: boolean isDelete: type: boolean default: false isLock: type: boolean default: false createdon: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 modifiedon: type: string format: date-time default: CURRENT_TIMESTAMP minLength: 1 modifiedby: type: integer format: int64 value: type: number format: decimal left: type: integer format: int32 right: type: integer format: int32 isDefault: type: boolean bankAccount: nullable: true oneOf: - $ref: '#/components/schemas/BankAccount' pettyCash: nullable: true oneOf: - $ref: '#/components/schemas/PettyCash' cheque: nullable: true oneOf: - $ref: '#/components/schemas/Cheque' creditCard: nullable: true oneOf: - $ref: '#/components/schemas/CreditCard' otherChannels: nullable: true oneOf: - $ref: '#/components/schemas/OtherChannels' systemChartOfAccount: nullable: true oneOf: - $ref: '#/components/schemas/SystemChartOfAccount' UpgradeType: type: integer description: '1 = Upgrade 3 = Renew 5 = ChangePackage' x-enumNames: - Upgrade - Renew - ChangePackage enum: - 1 - 3 - 5 FinancialTransactionType: type: integer description: '1 = Debit 3 = Credit' x-enumNames: - Debit - Credit enum: - 1 - 3 SortOptions: type: object additionalProperties: false properties: name: type: string nullable: true sortOrder: $ref: '#/components/schemas/OrderBy' EmployeeTypes: type: integer description: '1 = EmpWithOutOT 3 = EmpWithOT 5 = EmpByDayHour 7 = Owner' x-enumNames: - EmpWithOutOT - EmpWithOT - EmpByDayHour - Owner enum: - 1 - 3 - 5 - 7 CompanyPreferences: type: object additionalProperties: false required: - invoicePrefix - quotationPrefix - billingNotePrefix - receiptPrefix - purchaseOrderPrefix - cashInvoicePrefix - receivableInvoicePrefix - purchaseOrderTitleEN - quotationTitleEN - billingNoteTitleEN - invoiceTitleEN - receiptTitleEN - paymentSlipTitleEN - purchaseOrderTitleTH - quotationTitleTH - billingNoteTitleTH - invoiceTitleTH - receiptTitleTH - paymentSlipTitleTH - cashInvoiceTitleEN - cashInvoiceTitleTH - receivableInvoiceTitleTH - receivableInvoiceTitleEN - withHoldingTaxPrefix - purchasePrefix - purchaseTitleEN - purchaseTitleTH - adjustInventoryPrefix - expensePrefix - paymentSlipPrefix - creditNotePrefix - creditNoteTitleEN - creditNoteTitleTH - debitNotePrefix - debitNoteTitleEN - debitNoteTitleTH - journalVoucherPrefix - purchaseVoucherPrefix - salesVoucherPrefix - paymentVoucherPrefix - receivedVoucherPrefix - conversionBalancePrefix properties: companyId: type: integer format: int64 showWithHolding: type: boolean default: false invoicePrefix: type: string maxLength: 6 minLength: 0 quotationPrefix: type: string maxLength: 6 minLength: 0 billingNotePrefix: type: string maxLength: 6 minLength: 0 receiptPrefix: type: string maxLength: 6 minLength: 0 purchaseOrderPrefix: type: string maxLength: 6 minLength: 0 cashInvoicePrefix: type: string maxLength: 6 minLength: 0 receivableInvoicePrefix: type: string maxLength: 6 minLength: 0 cashInvoiceStartingNumber: type: integer format: int64 receiptStartingNumber: type: integer format: int64 quotationStartingNumber: type: integer format: int64 billingNoteStartingNumber: type: integer format: int64 purchaseOrderStartingNumber: type: integer format: int64 purchaseOrderTitleEN: type: string maxLength: 2147483647 minLength: 0 quotationTitleEN: type: string maxLength: 2147483647 minLength: 0 billingNoteTitleEN: type: string maxLength: 2147483647 minLength: 0 invoiceTitleEN: type: string maxLength: 2147483647 minLength: 0 receiptTitleEN: type: string maxLength: 2147483647 minLength: 0 paymentSlipTitleEN: type: string maxLength: 2147483647 minLength: 0 purchaseOrderTitleTH: type: string maxLength: 2147483647 minLength: 0 quotationTitleTH: type: string maxLength: 2147483647 minLength: 0 billingNoteTitleTH: type: string maxLength: 2147483647 minLength: 0 invoiceTitleTH: type: string maxLength: 2147483647 minLength: 0 receiptTitleTH: type: string maxLength: 2147483647 minLength: 0 paymentSlipTitleTH: type: string maxLength: 2147483647 minLength: 0 businessType: $ref: '#/components/schemas/BusinessType' termsAgreement: type: string maxLength: 2147483647 minLength: 0 nullable: true defaultRemarks: type: string maxLength: 2147483647 minLength: 0 nullable: true invoiceStartingNumber: type: integer format: int64 cashInvoiceTitleEN: type: string maxLength: 2147483647 minLength: 0 cashInvoiceTitleTH: type: string maxLength: 2147483647 minLength: 0 receivableInvoiceTitleTH: type: string maxLength: 2147483647 minLength: 0 receivableInvoiceTitleEN: type: string maxLength: 2147483647 minLength: 0 runningNumberType: $ref: '#/components/schemas/RunningNumberType' purchaseOrderStartingYear: type: integer format: int32 nullable: true quotationStartingYear: type: integer format: int32 nullable: true billingNoteStartingYear: type: integer format: int32 nullable: true invoiceStartingYear: type: integer format: int32 nullable: true cashInvoiceStartingYear: type: integer format: int32 nullable: true receiptStartingYear: type: integer format: int32 nullable: true purchaseOrderStartingMonth: type: integer format: int32 nullable: true quotationStartingMonth: type: integer format: int32 nullable: true billingNoteStartingMonth: type: integer format: int32 nullable: true invoiceStartingMonth: type: integer format: int32 nullable: true cashInvoiceStartingMonth: type: integer format: int32 nullable: true receiptStartingMonth: type: integer format: int32 nullable: true settingsInitiated: type: boolean default: false runningNumberSettingsModifiedOn: type: string format: date-time nullable: true withHoldingTaxPrefix: type: string maxLength: 6 minLength: 0 withHoldingTaxStartingNumber: type: integer format: int32 withHoldingTaxStartingMonth: type: integer format: int32 nullable: true withHoldingTaxStartingYear: type: integer format: int32 nullable: true documentTemplates: $ref: '#/components/schemas/DocumentTemplates' printColor: type: boolean default: true templateFont: $ref: '#/components/schemas/TemplateFont' printOneInvoice: type: boolean default: false remarks: type: string maxLength: 2147483647 minLength: 0 nullable: true emailMessageTemplate: type: string maxLength: 2147483647 minLength: 0 nullable: true purchasePrefix: type: string maxLength: 6 minLength: 0 purchaseStartingNumber: type: integer format: int64 purchaseTitleEN: type: string maxLength: 2147483647 minLength: 0 purchaseTitleTH: type: string maxLength: 2147483647 minLength: 0 purchaseStartingYear: type: integer format: int32 nullable: true purchaseStartingMonth: type: integer format: int32 nullable: true adjustInventoryPrefix: type: string maxLength: 6 minLength: 0 adjustInventoryStartingNumber: type: integer format: int32 adjustInventoryStartingMonth: type: integer format: int32 nullable: true adjustInventoryStartingYear: type: integer format: int32 nullable: true expensePrefix: type: string maxLength: 6 minLength: 0 expenseStartingNumber: type: integer format: int32 expenseStartingMonth: type: integer format: int32 nullable: true expenseStartingYear: type: integer format: int32 nullable: true paymentSlipPrefix: type: string maxLength: 6 minLength: 0 paymentSlipStartingNumber: type: integer format: int32 paymentSlipStartingYear: type: integer format: int32 nullable: true paymentSlipStartingMonth: type: integer format: int32 nullable: true cashInvoiceRunningNumberModifiedOn: type: string format: date-time nullable: true purchaseOrderRunningNumberModifiedOn: type: string format: date-time nullable: true quotationRunningNumberModifiedOn: type: string format: date-time nullable: true billingNoteRunningNumberModifiedOn: type: string format: date-time nullable: true invoiceRunningNumberModifiedOn: type: string format: date-time nullable: true purchaseRunningNumberModifiedOn: type: string format: date-time nullable: true receivableInvoiceRunningNumberModifiedOn: type: string format: date-time nullable: true paymentSlipRunningNumberModifiedOn: type: string format: date-time nullable: true rubberStampUrl: type: string maxLength: 2147483647 minLength: 0 nullable: true creditNotePrefix: type: string maxLength: 6 minLength: 0 creditNoteStartingNumber: type: integer format: int32 creditNoteStartingMonth: type: integer format: int32 nullable: true creditNoteStartingYear: type: integer format: int32 nullable: true creditNoteRunningNumberModifiedOn: type: string format: date-time nullable: true creditNoteTitleEN: type: string maxLength: 2147483647 minLength: 0 creditNoteTitleTH: type: string maxLength: 2147483647 minLength: 0 debitNotePrefix: type: string maxLength: 6 minLength: 0 debitNoteStartingNumber: type: integer format: int32 debitNoteStartingMonth: type: integer format: int32 nullable: true debitNoteStartingYear: type: integer format: int32 nullable: true debitNoteRunningNumberModifiedOn: type: string format: date-time nullable: true debitNoteTitleEN: type: string maxLength: 2147483647 minLength: 0 debitNoteTitleTH: type: string maxLength: 2147483647 minLength: 0 receiptRunningNumberModifiedOn: type: string format: date-time nullable: true receivableInvoiceStartingNumber: type: integer format: int32 receivableInvoiceStartingMonth: type: integer format: int32 nullable: true receivableInvoiceStartingYear: type: integer format: int32 nullable: true usePartialReceipt: type: boolean default: false useCashInvoice: type: boolean default: false useShortCashInvoice: type: boolean default: false generalLedgerRunningNumberType: $ref: '#/components/schemas/RunningNumberType' journalVoucherPrefix: type: string maxLength: 6 minLength: 0 purchaseVoucherPrefix: type: string maxLength: 6 minLength: 0 purchaseVoucherRunningNumberModifiedOn: type: string format: date-time nullable: true salesVoucherPrefix: type: string maxLength: 6 minLength: 0 salesVoucherRunningNumberModifiedOn: type: string format: date-time nullable: true paymentVoucherPrefix: type: string maxLength: 6 minLength: 0 paymentVoucherRunningNumberModifiedOn: type: string format: date-time nullable: true receivedVoucherPrefix: type: string maxLength: 6 minLength: 0 receivedVoucherRunningNumberModifiedOn: type: string format: date-time nullable: true conversionBalancePrefix: type: string maxLength: 6 minLength: 0 conversionBalanceRunningNumberModifiedOn: type: string format: date-time nullable: true eTaxEmail: type: string nullable: true shortCashInvoiceTemplates: $ref: '#/components/schemas/DocumentTemplates' useBillingNoteAccountingRule: type: boolean billingNoteAccountingRuleModifiedOn: type: string format: date-time nullable: true templateFontSize: type: number format: decimal nullable: true useMultiCurrency: type: boolean default: false expenseTitleTH: type: string nullable: true expenseTitleEN: type: string nullable: true withHoldingTaxTitleTH: type: string nullable: true withHoldingTaxTitleEN: type: string nullable: true ExpenseStatus: type: integer description: '1 = Awaiting 3 = Approved 4 = PendingPayment 5 = Paid 6 = PaidByPaymentSlip 7 = Void 9 = ApprovedAndProcessed 11 = Received 23 = ReceivedByPaymentSlip' x-enumNames: - Awaiting - Approved - PendingPayment - Paid - PaidByPaymentSlip - Void - ApprovedAndProcessed - Received - ReceivedByPaymentSlip enum: - 1 - 3 - 4 - 5 - 6 - 7 - 9 - 11 - 23 PayrollQuery: example: fromPayroll: false payrollType: 3 totalValue: 0.0 totalVAT: 0.0 isReceived: false documentType: [] revenue: null expenses: - text: Exclude Sales Tax value: '0' - text: Include Sales Tax value: '1' previousMonths: - text: Sep value: '9' - text: Aug value: '8' - text: Jul value: '7' - text: Jun value: '6' - text: May value: '5' - text: Apr value: '4' - text: Mar value: '3' - text: Feb value: '2' - text: Jan value: '1' previousYears: - text: '2014' value: '2014' - text: '2015' value: '2015' - text: '2016' value: '2016' - text: '2017' value: '2017' - text: '2018' value: '2018' - text: '2019' value: '2019' - text: '2020' value: '2020' - text: '2021' value: '2021' - text: '2022' value: '2022' customDocumentModels: null pageSize: 20 currentPage: 1 totalRecords: 0 dateType: 1 startDate: null endDate: null day: 0 month: 0 year: 0 range: 0 isFirstCurrent: 0 hashTags: [] reportType: 0 filter: null sortBy: null allOf: - $ref: '#/components/schemas/DocumentQuery' - type: object additionalProperties: false properties: fromPayroll: type: boolean payrollType: $ref: '#/components/schemas/PayrollType' BusinessType: type: integer description: '1 = SellingProducts 3 = SellingServices 5 = SellingBoth 7 = Custom' x-enumNames: - SellingProducts - SellingServices - SellingBoth - Custom enum: - 1 - 3 - 5 - 7 CreditCardType: type: integer description: '1 = Personal 3 = Business' x-enumNames: - Personal - Business enum: - 1 - 3 ProductUnit: type: object additionalProperties: false required: - name properties: id: type: integer format: int64 name: type: string maxLength: 255 minLength: 0 isShare: type: boolean isDelete: type: boolean BookOfAccountStatus: type: integer description: '0 = Delete 1 = Awaiting 5 = Approved 9 = Void -9 = ResetVoid -5 = ResetApproved -1 = ResetAwaiting' x-enumNames: - Delete - Awaiting - Approved - Void - ResetVoid - ResetApproved - ResetAwaiting enum: - 0 - 1 - 5 - 9 - -9 - -5 - -1 SimpleQuery: type: object additionalProperties: false properties: pageSize: type: integer format: int32 nullable: true currentPage: type: integer format: int32 nullable: true totalRecords: type: integer format: int32 dateType: $ref: '#/components/schemas/DateType' startDate: type: string format: date-time nullable: true endDate: type: string format: date-time nullable: true day: type: integer format: int32 month: type: integer format: int32 year: type: integer format: int32 range: $ref: '#/components/schemas/DataRange' isFirstCurrent: type: integer format: int32 hashTags: type: array nullable: true items: type: string reportType: $ref: '#/components/schemas/ReportTypes' filter: type: array nullable: true items: $ref: '#/components/schemas/FilterOptions' sortBy: type: array nullable: true items: $ref: '#/components/schemas/SortOptions' Employee: type: object additionalProperties: false properties: id: type: integer format: int64 companyId: type: integer format: int64 nullable: true prefix: $ref: '#/components/schemas/GenderPrefix' firstName: type: string nullable: true lastName: type: string nullable: true salary: type: number format: decimal identitficationNumber: type: string nullable: true passportNumber: type: string nullable: true profileImage: type: string nullable: true mobile: type: string nullable: true commission: type: number format: decimal nullable: true remarks: type: string nullable: true title: type: string nullable: true galleryId: type: integer format: int64 nullable: true bankId: type: integer format: int32 nullable: true branch: type: string nullable: true accountNumber: type: string nullable: true accountType: type: integer format: int32 nullable: true startDate: type: string format: date-time nullable: true endDate: type: string format: date-time nullable: true internalNote: type: string nullable: true isActive: type: boolean nullable: true createdOn: type: string format: date-time nullable: true modifiedOn: type: string format: date-time nullable: true createdBy: type: integer format: int64 nullable: true modifiedBy: type: integer format: int64 nullable: true type: nullable: true oneOf: - $ref: '#/components/schemas/EmployeeTypes' code: type: string nullable: true salaryType: type: integer format: int32 socialSecurityNumber: type: string nullable: true employerSocialSecurityRate: type: integer format: int32 employeeSocialSecurityRate: type: integer format: int32 email: type: string nullable: true dob: type: string format: date-time nullable: true address: type: string nullable: true contactName: type: string nullable: true contactNumber: type: string nullable: true contactRelationship: type: string nullable: true office: type: string nullable: true socialSecurityStatus: type: integer format: int32 nullable: true methodPayment: type: integer format: int32 nullable: true secondaryEmail: type: string nullable: true isDelete: type: boolean socialSecurityValue: type: number format: decimal withholdingTax: type: number format: decimal isHeadOffice: type: boolean companyBranch: type: string nullable: true maritalStatus: type: integer format: int32 currentAddress: type: string nullable: true departmentId: type: integer format: int64 nullable: true firstNameForeign: type: string nullable: true lastNameForeign: type: string nullable: true isSocialSecurityRegistered: type: boolean bankBranchCode: type: string nullable: true idCard: type: integer format: int64 nullable: true householdRegistration: type: integer format: int64 nullable: true nickname: type: string nullable: true nicknameForeign: type: string nullable: true lineId: type: string nullable: true conditionsWithholdingTax: nullable: true oneOf: - $ref: '#/components/schemas/ConditionsOfWithholdingTax' paidPeriod: default: 1 oneOf: - $ref: '#/components/schemas/PaidPeriod' bank: nullable: true oneOf: - $ref: '#/components/schemas/Bank' company: nullable: true oneOf: - $ref: '#/components/schemas/Company' gallery: nullable: true oneOf: - $ref: '#/components/schemas/Gallery' galleryIdCard: nullable: true oneOf: - $ref: '#/components/schemas/Gallery' galleryHouseholdRegistration: nullable: true oneOf: - $ref: '#/components/schemas/Gallery' payrollDetail: type: array nullable: true items: $ref: '#/components/schemas/PayrollDetail' department: nullable: true oneOf: - $ref: '#/components/schemas/Department' ProductCategory: type: object additionalProperties: false properties: id: type: integer format: int64 name: type: string nullable: true isDelete: type: boolean isShare: type: boolean resetTransactionId: type: integer format: int64 nullable: true IChartOfAccount: type: object x-abstract: true additionalProperties: false properties: id: type: integer format: int64 category: $ref: '#/components/schemas/ChartOfAccountCategory' code: type: string nullable: true nameLocal: type: string nullable: true nameForeign: type: string nullable: true descriptionLocal: type: string nullable: true descriptionForeign: type: string nullable: true parentId: type: integer format: int64 nullable: true isFolder: type: boolean isBank: type: boolean isReceivable: type: boolean isDelete: type: boolean isLock: type: boolean createdon: type: string format: date-time modifiedon: type: string format: date-time modifiedby: type: integer format: int64 value: type: number format: decimal left: type: integer format: int32 right: type: integer format: int32 isDefault: type: boolean ListItem: type: object additionalProperties: false properties: text: type: string nullable: true value: type: string nullable: true DocumentTemplates: type: integer description: '1 = Default 3 = Template1 5 = Template2 7 = Template3 9 = Template4 11 = Template5 13 = TemplateA5 15 = Template9x11withOriginal 17 = Template8 101 = NativeDefault 103 = Native1 105 = Native3 107 = Native5 109 = Native7 111 = Native9 113 = Native11 115 = Native13 201 = Thermal1 203 = Thermal2 205 = SocialSlip 301 = ShortCA1 303 = ShortCA2 305 = ShortCA3' x-enumNames: - Default - Template1 - Template2 - Template3 - Template4 - Template5 - TemplateA5 - Template9x11withOriginal - Template8 - NativeDefault - Native1 - Native3 - Native5 - Native7 - Native9 - Native11 - Native13 - Thermal1 - Thermal2 - SocialSlip - ShortCA1 - ShortCA2 - ShortCA3 enum: - 1 - 3 - 5 - 7 - 9 - 11 - 13 - 15 - 17 - 101 - 103 - 105 - 107 - 109 - 111 - 113 - 115 - 201 - 203 - 205 - 301 - 303 - 305 SendEmailStatus: type: integer description: '1 = Sent 3 = NoEmail' x-enumNames: - Sent - NoEmail enum: - 1 - 3 ConditionsOfWithholdingTax: type: integer description: '1 = WithholdsTaxAtSource 2 = PayEveryTime 3 = PayOneTime' x-enumNames: - WithholdsTaxAtSource - PayEveryTime - PayOneTime enum: - 1 - 2 - 3 DateType: type: integer description: '1 = PublishDate 3 = PaymentDate 5 = ExpenseDate 7 = TransitionDate' x-enumNames: - PublishDate - PaymentDate - ExpenseDate - TransitionDate enum: - 1 - 3 - 5 - 7 Cheque: type: object additionalProperties: false required: - companyId properties: id: type: integer format: int64 companyId: type: integer format: int64 bankAccountId: type: integer format: int64 bankAccount: nullable: true oneOf: - $ref: '#/components/schemas/BankAccount' chartOfAccountId: type: integer format: int64 nullable: true chartOfAccount: nullable: true oneOf: - $ref: '#/components/schemas/ChartOfAccount' status: $ref: '#/components/schemas/BankingChannelsStatus' isDelete: type: boolean default: false createdOn: type: string format: date-time modifiedOn: type: string format: date-time PaymentChannel: type: integer description: '1 = Omise 3 = InAppIOS 5 = InAppAndriod 7 = UssdAis 9 = BankTranfer 11 = PrePaidSerial' x-enumNames: - Omise - InAppIOS - InAppAndriod - UssdAis - BankTranfer - PrePaidSerial enum: - 1 - 3 - 5 - 7 - 9 - 11 PettyCash: type: object additionalProperties: false required: - companyId properties: id: type: integer format: int64 companyId: type: integer format: int64 createdOn: type: string format: date-time modifiedOn: type: string format: date-time isDelete: type: boolean default: false description: type: string nullable: true name: type: string nullable: true cashLimit: type: number format: decimal chartOfAccountId: type: integer format: int64 nullable: true chartOfAccount: nullable: true oneOf: - $ref: '#/components/schemas/ChartOfAccount' cashHolderId: type: integer format: int64 cashHolder: nullable: true oneOf: - $ref: '#/components/schemas/User' status: $ref: '#/components/schemas/BankingChannelsStatus' cashHolderName: type: string nullable: true remainingBalance: type: number format: decimal DeductionType: type: integer description: '0 = None 1 = CashDiscount 3 = Commission 5 = ManagementFee 7 = Roundings 9 = Retentions' x-enumNames: - None - CashDiscount - Commission - ManagementFee - Roundings - Retentions enum: - 0 - 1 - 3 - 5 - 7 - 9 CompanyExpenseCategory: type: object additionalProperties: false properties: companyId: type: integer format: int64 expenseCategoryId: type: integer format: int64 company: nullable: true oneOf: - $ref: '#/components/schemas/Company' expenseCategory: nullable: true oneOf: - $ref: '#/components/schemas/ExpenseCategory' PredicateOperator: type: integer description: '0 = Or 1 = And' x-enumNames: - Or - And enum: - 0 - 1 CompanySubscription: type: object additionalProperties: false properties: id: type: integer format: int64 companyId: type: integer format: int64 packageId: type: integer format: int32 packageStatus: $ref: '#/components/schemas/PackageStatus' transactionDate: type: string format: date-time transactionId: type: string nullable: true expirationDate: type: string format: date-time couponId: type: integer format: int32 nullable: true paidBy: type: integer format: int64 createdOn: type: string format: date-time modifiedOn: type: string format: date-time days: type: integer format: int32 packageDays: type: integer format: int32 quantity: type: integer format: int32 nullable: true type: $ref: '#/components/schemas/UpgradeType' paymentChannel: nullable: true oneOf: - $ref: '#/components/schemas/PaymentChannel' value: type: number format: decimal nullable: true isWithheld: type: boolean withheld: type: number format: decimal nullable: true internalFile: type: string nullable: true invoiceId: type: integer format: int64 nullable: true remarks: type: string nullable: true isRequestInvoice: type: boolean nullable: true addOn: type: string nullable: true packageList: nullable: true oneOf: - $ref: '#/components/schemas/PackageList' paySlipImageDate: type: string format: date-time nullable: true paySlipImageTime: type: string format: time-span nullable: true paySlipImageAmount: type: number format: decimal nullable: true paySlipImageContact: type: string nullable: true Gallery: type: object additionalProperties: false properties: id: type: integer format: int64 name: type: string nullable: true description: type: string maxLength: 255 minLength: 0 nullable: true productList: type: array nullable: true items: $ref: '#/components/schemas/ProductList' media: type: array nullable: true items: $ref: '#/components/schemas/Media' journalEntry: type: array nullable: true items: $ref: '#/components/schemas/JournalEntry' receivableInvoice: type: array nullable: true items: $ref: '#/components/schemas/ReceivableInvoice' supplierInvoice: type: array nullable: true items: $ref: '#/components/schemas/SupplierInvoice' SalesType: type: integer description: '1 = Cash 3 = Credit 5 = Both' x-enumNames: - Cash - Credit - Both enum: - 1 - 3 - 5 IJournalEntryBase: type: object x-abstract: true additionalProperties: false properties: id: type: integer format: int64 companyId: type: integer format: int64 documentSerial: type: string nullable: true documentType: $ref: '#/components/schemas/DocumentTypes' status: $ref: '#/components/schemas/JournalEntryStatus' documentDate: type: string format: date-time description: type: string nullable: true descriptionForeign: type: string nullable: true voidDescription: type: string nullable: true createdOn: type: string format: date-time modifiedOn: type: string format: date-time voidedOn: type: string format: date-time nullable: true approvedOn: type: string format: date-time nullable: true transactionNo: type: integer format: int64 nullable: true note: type: string nullable: true templateType: $ref: '#/components/schemas/JournalEntryTemplateType' contactName: type: string nullable: true documentSerialNoPrefix: type: integer format: int64 nullable: true createdBy: type: integer format: int64 modifiedBy: type: integer format: int64 approvedBy: type: integer format: int64 nullable: true voidedBy: type: integer format: int64 nullable: true galleryId: type: integer format: int64 nullable: true contactId: type: integer format: int64 nullable: true runningNumberType: nullable: true oneOf: - $ref: '#/components/schemas/RunningNumberType' fiscalYearId: type: integer format: int64 nullable: true reference: type: string nullable: true referenceId: type: integer format: int64 nullable: true referenceDocumentType: nullable: true oneOf: - $ref: '#/components/schemas/DocumentTypes' isSystemDocument: type: boolean ruleCompileStatus: $ref: '#/components/schemas/RuleCompileStatus' RuleCompileStatus: type: integer description: '1 = Pending 3 = Execute 5 = Success 7 = Error 9 = WHTWarning 11 = NoMoreCompile 13 = Ignore' x-enumNames: - Pending - Execute - Success - Error - WHTWarning - NoMoreCompile - Ignore enum: - 1 - 3 - 5 - 7 - 9 - 11 - 13 User: type: object additionalProperties: false properties: id: type: integer format: int64 firstname: type: string maxLength: 255 minLength: 0 nullable: true lastname: type: string maxLength: 255 minLength: 0 nullable: true createdon: type: string format: date-time default: CURRENT_TIMESTAMP email: type: string maxLength: 255 minLength: 0 nullable: true phoneNumber: type: string maxLength: 2147483647 minLength: 0 nullable: true mobile: type: string maxLength: 100 minLength: 0 nullable: true referralCode: type: string maxLength: 50 minLength: 0 nullable: true PackageStatus: type: integer description: '10 = Pending 30 = Approve 50 = Suspend 70 = Terminated 90 = Delete' x-enumNames: - Pending - Approve - Suspend - Terminated - Delete enum: - 10 - 30 - 50 - 70 - 90 PartialPaymentMethod: type: integer description: '0 = Default 1 = None 3 = Quantity 5 = Price 7 = Percentage 11 = RECPartial' x-enumNames: - Default - None - Quantity - Price - Percentage - RECPartial enum: - 0 - 1 - 3 - 5 - 7 - 11 ChartOfAccountCategory: type: integer description: '1 = Assets 2 = Liabilities 3 = Equity 4 = Revenue 5 = Expenses' x-enumNames: - Assets - Liabilities - Equity - Revenue - Expenses enum: - 1 - 2 - 3 - 4 - 5 PayrollType: type: integer description: '1 = FirstVersion 3 = PayrollPayment 5 = Kconnect 7 = Cash 9 = Transfer' x-enumNames: - FirstVersion - PayrollPayment - Kconnect - Cash - Transfer enum: - 1 - 3 - 5 - 7 - 9 PayrollDetail: type: object additionalProperties: false properties: id: type: integer format: int64 payrollId: type: integer format: int64 employeeId: type: integer format: int64 salary: type: number format: decimal socialSecurityValue: type: number format: decimal commission: type: number format: decimal bonus: type: number format: decimal deduction: type: number format: decimal withholdingTax: type: number format: decimal status: $ref: '#/components/schemas/PayrollDetailStatus' isDelete: type: boolean withheld: type: number format: decimal datePayment: type: string format: date-time nullable: true fee: type: number format: decimal nullable: true ref: type: string nullable: true transactionId: type: string nullable: true amount: type: number format: decimal nullable: true payStatus: type: integer format: int32 nullable: true remarks: type: string nullable: true expenseId: type: integer format: int64 nullable: true overtime: type: number format: decimal advance: type: number format: decimal otherAddition: type: number format: decimal otherDeduction: type: number format: decimal providentFund: type: number format: decimal securityMoney: type: number format: decimal value: type: number format: decimal note: type: string nullable: true createdOn: type: string format: date-time nullable: true createdBy: type: integer format: int64 nullable: true modifiedOn: type: string format: date-time nullable: true lastModifiedBy: type: integer format: int64 employerSocialSecurity: type: number format: decimal allowance: type: number format: decimal cola: type: number format: decimal medicalExpense: type: number format: decimal accommodation: type: number format: decimal directorRemuneration: type: number format: decimal methodPayment: type: integer format: int32 nullable: true bankId: type: integer format: int32 nullable: true accountNumber: type: string nullable: true accountNumberMasking: type: string nullable: true employeeTitle: type: string nullable: true employeeCode: type: string nullable: true employeeFirstName: type: string nullable: true employeeLastName: type: string nullable: true employeeFirstNameForeign: type: string nullable: true employeeLastNameForeign: type: string nullable: true employeeStartDate: type: string format: date-time nullable: true isSocialSecurityRegistered: type: boolean bankBranchCode: type: string nullable: true accountType: nullable: true oneOf: - $ref: '#/components/schemas/BankAccountType' referenceId: type: string nullable: true isMigrate: type: boolean employee: nullable: true oneOf: - $ref: '#/components/schemas/Employee' expenseList: nullable: true oneOf: - $ref: '#/components/schemas/ExpenseList' payroll: nullable: true oneOf: - $ref: '#/components/schemas/Payroll' bank: nullable: true oneOf: - $ref: '#/components/schemas/Bank' lastModifiedByUser: nullable: true oneOf: - $ref: '#/components/schemas/User' ruleCompileStatus: $ref: '#/components/schemas/RuleCompileStatus' employerAccountBranch: type: string nullable: true employerAccountNumber: type: string nullable: true bankAccountId: type: integer format: int64 nullable: true paymentRemarks: type: string nullable: true payrollPaymentId: type: integer format: int64 nullable: true kcProcessingStatus: type: integer format: int32 nullable: true departmentId: type: integer format: int64 nullable: true departmentName: type: string nullable: true departmentCode: type: string nullable: true workDays: type: number format: decimal nullable: true wage: type: number format: decimal nullable: true isSocialSecurityAutoCal: type: boolean socialSecurityPercent: type: number format: decimal default: 5 sendEmailStatus: nullable: true oneOf: - $ref: '#/components/schemas/SendEmailStatus' studentLoan: type: number format: decimal conditionsWithholdingTax: nullable: true oneOf: - $ref: '#/components/schemas/ConditionsOfWithholdingTax' overtimePND: type: integer format: int32 nullable: true commissionPND: type: integer format: int32 nullable: true bonusPND: type: integer format: int32 nullable: true allowancePND: type: integer format: int32 nullable: true colaPND: type: integer format: int32 nullable: true medicalExpensePND: type: integer format: int32 nullable: true accommodationPND: type: integer format: int32 nullable: true directorRemunerationPND: type: integer format: int32 nullable: true otherAdditionPND: type: integer format: int32 nullable: true withholdingTax401: type: number format: decimal withholdingTax402: type: number format: decimal statusInt: type: integer format: int32 JournalEntryStatus: type: integer description: '0 = Delete 1 = Awaiting 5 = Approved 9 = Void' x-enumNames: - Delete - Awaiting - Approved - Void enum: - 0 - 1 - 5 - 9 securitySchemes: bearer: type: http description: Specify the authorization token. scheme: bearer bearerFormat: Reference x-generator: NSwag v13.11.3.0 (NJsonSchema v10.4.4.0 (Newtonsoft.Json v13.0.0.0))