UNPKG

@fin.cx/skr

Version:

SKR03 and SKR04 German accounting standards for double-entry bookkeeping

38 lines (37 loc) 1.47 kB
import * as plugins from './plugins.js'; import type { TSKRType, TTransactionStatus, ITransactionData } from './skr.types.js'; declare const SmartDataDbDoc: typeof plugins.smartdata.SmartDataDbDoc; export declare class Transaction extends SmartDataDbDoc<Transaction, Transaction> { id: string; transactionNumber: string; date: Date; debitAccount: string; creditAccount: string; amount: number; description: string; reference: string; skrType: TSKRType; vatAmount: number; costCenter: string; status: TTransactionStatus; reversalOf: string; reversedBy: string; period: string; fiscalYear: number; createdAt: Date; postedAt: Date; createdBy: string; constructor(data?: Partial<ITransactionData>); private generateTransactionNumber; static createTransaction(data: ITransactionData): Promise<Transaction>; static getTransactionById(id: string): Promise<Transaction | null>; static getTransactionsByAccount(accountNumber: string, skrType: TSKRType): Promise<Transaction[]>; static getTransactionsByPeriod(period: string, skrType: TSKRType): Promise<Transaction[]>; static getTransactionsByDateRange(dateFrom: Date, dateTo: Date, skrType: TSKRType): Promise<Transaction[]>; validateAndPost(): Promise<void>; private validateTransaction; private updateAccountBalances; reverseTransaction(): Promise<Transaction>; beforeSave(): Promise<void>; } export {};