UNPKG

@tomei/finance

Version:

NestJS package for finance module

43 lines 2.13 kB
import Payment from '../payment/payment'; import FinanceCustomerBase from '../customer/customer'; import Account from '../account/account'; import JournalEntry from '../journal-entry/journal-entry'; import Document from '../document/document'; import { DocumentStatus } from '../enum/document-status.enum'; import { ICreateCreditNotePayload } from './create-credit-note-payload.interface'; import { ICreditNote } from './credit-note.interface'; export interface IAccountSystem { createAccount(Account: Account, dbTransaction?: any): Promise<string>; createInvoice(payload: { customer: FinanceCustomerBase; invoice: Document; paymentMode: 'cash' | 'credit'; tagIds?: string[]; discount?: { type: 'percentage' | 'fixed'; value: number; }; }, dbTransaction?: any): Promise<{ invoiceRefId: string; invoiceItems: { name: string; itemRefId: string; }[]; invoiceNo: string; }>; createDebitNote(payload: any, dbTransaction?: any): Promise<any>; createCreditNote(payload: ICreateCreditNotePayload, dbTransaction?: any): Promise<ICreditNote>; postTransaction(journalEntry: JournalEntry, dbTransaction?: any): Promise<any>; createCustomer(customer: FinanceCustomerBase, dbTransaction?: any): Promise<string>; updateCustomer(customer: FinanceCustomerBase, dbTransaction?: any): Promise<any>; makePayment(customer: FinanceCustomerBase, paymentInfo: Payment, dbTransaction?: any): Promise<string>; collectPayments(customer: FinanceCustomerBase, paymentInfo: Payment, dbTransaction?: any): Promise<string>; postJournalEntry(payload: any): Promise<string>; getInvoiceStatus(AccSystemRefId: any): Promise<DocumentStatus>; findTagId(tagName: string): Promise<string>; createTag(tagName: string, tagGroupName?: string): Promise<string>; findTagGroupId(tagGroupName: string): Promise<string>; createTagGroup(tagGroupName: string): Promise<string>; getInvoiceData(AccSystemRefId: any): Promise<any>; } //# sourceMappingURL=account-system.interface.d.ts.map