Files
skr/changelog.md

90 lines
4.4 KiB
Markdown

# Changelog
## 2025-10-28 - 1.2.1 - fix(skr.classes.account)
Remove incorrect SKR04 automatic account 3300; improve VAT posting validation and test isolation; update readme hints and CI settings
- ts/skr.classes.account.ts: Removed account '3300' from the SKR04 automatic accounts list (3300 is Fahrzeugkosten and must be postable).
- ts/skr.postingkeys.ts: Relax VAT amount requirement — VAT amount is no longer required when posting to VAT accounts or to debtor/creditor accounts (settlement lines).
- ts/skr.classes.journalentry.ts: Detect VAT lines in journal entries and pass VAT-aware context into posting key validation to avoid false-positive VAT errors.
- test/test.skr04.ts: Use timestamped database names to ensure isolated test runs and avoid DB conflicts during CI.
- readme.hints.md: Updated status and notes (tests passing, recent fixes, architecture notes and validation pipeline).
- .claude/settings.local.json: Added local CI/agent permission settings used by the project environment.
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.2.0] - 2025-01-09
### Added
- **E-Invoice Integration**: Full XRechnung/ZUGFeRD support with import/export capabilities
- **Invoice Processing**: Automatic booking of electronic invoices to accounting
- **Advanced Export Features**: Comprehensive export functionality for accounts, balances, and ledger data
- **PDF Generation**: Professional PDF report generation with customizable templates
- **Security Features**: Merkle tree audit trails and digital signature support for tamper-proof records
- **Invoice Storage**: Dedicated invoice persistence layer with search and filtering
- **Invoice Adapter**: Bidirectional conversion between e-invoice formats and internal data model
- **Invoice Booking Engine**: Intelligent automatic account detection and VAT splitting
- **Cryptographic Signatures**: Support for signing exports with private keys and certificates
- **Structured Export Formats**: Export data in multiple formats (JSON, CSV, PDF)
- **Jahresabschluss Export**: Complete annual closing package generation
- New dependencies: @e-invoice-eu/core, @fin.cx/einvoice, merkletreejs, node-forge
- Enhanced documentation with invoice and export examples
### Changed
- Updated README with comprehensive documentation of new features
- Expanded API reference with new invoice and export methods
## [1.1.0] - 2025-01-09
### Added
- SKR standard validation in postJournalEntry to ensure accounts match official SKR03/SKR04 data
- Module-level Maps for O(1) SKR standard lookups
- validateAccountsAgainstSKR method for checking account type and class compliance
- Smart validation that allows SKR04 class 8 custom accounts
- Warning logs for non-standard accounts and type/class mismatches
### Fixed
- Test isolation issues by adding timestamps to database names
- SKR04 test using correct account mappings (9xxx equity accounts)
### Changed
- Enhanced README with accurate API documentation and testing instructions
- Updated legal section to Task Venture Capital GmbH
## [1.0.0] - 2025-01-09
### Added
- Initial release of @fin.cx/skr module
- Complete SKR03 implementation (Process Structure Principle)
- Complete SKR04 implementation (Financial Classification Principle)
- Double-entry bookkeeping validation system
- MongoDB persistence layer using @push.rocks/smartdata
- Comprehensive account management (100+ predefined accounts per SKR standard)
- Transaction posting and reversal capabilities
- Journal entry support with multiple lines
- Financial reporting suite:
- Trial Balance generation
- Income Statement (P&L)
- Balance Sheet
- General Ledger
- Cash Flow Statement
- DATEV-compatible export formats
- Full TypeScript support with comprehensive type definitions
- API layer for external integration
- CSV import/export functionality
- VAT handling and cost center tracking
- Automatic balance calculations
- Period closing functionality
- Batch transaction processing
### Technical Features
- Type-safe database operations
- Indexed MongoDB collections for performance
- Transaction atomicity and consistency
- Comprehensive validation rules
- 4-digit account number validation
- Account class hierarchy (0-9)
- Support for custom accounts
- Real-time balance updates