@fin.cx/skr
Version:
SKR03 and SKR04 German accounting standards for double-entry bookkeeping
35 lines (34 loc) • 1.14 kB
TypeScript
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 {};