UNPKG

@fin.cx/skr

Version:

SKR03 and SKR04 German accounting standards for double-entry bookkeeping

35 lines (34 loc) 1.14 kB
import * as plugins from './plugins.js'; import type { TSKRType, IJournalEntry, IJournalEntryLine } from './skr.types.js'; declare const SmartDataDbDoc: typeof plugins.smartdata.SmartDataDbDoc; export declare class JournalEntry extends SmartDataDbDoc<JournalEntry, JournalEntry> { id: string; journalNumber: string; date: Date; description: string; reference: string; lines: IJournalEntryLine[]; skrType: TSKRType; totalDebits: number; totalCredits: number; isBalanced: boolean; status: 'draft' | 'posted' | 'reversed'; transactionIds: string[]; period: string; fiscalYear: number; createdAt: Date; postedAt: Date; createdBy: string; constructor(data?: Partial<IJournalEntry>); private generateJournalNumber; private sanitizeLines; private calculateTotals; static createJournalEntry(data: IJournalEntry): Promise<JournalEntry>; addLine(line: IJournalEntryLine): void; removeLine(index: number): void; validate(): Promise<void>; post(): Promise<void>; reverse(): Promise<JournalEntry>; beforeSave(): Promise<void>; } export {};