Commit 5c682f0
committed
E-Document for Germany - XRechnung/ZUGFeRD VATEX compliance and BR-DE rule fixes
**VATEX Implementation:**
- Export dynamic VATEX code and tax exemption reason from VAT Posting Setup
- Support 'Not Subject to VAT' (Category O) via VAT Clause integration
- Added comprehensive test coverage for XRechnung and ZUGFeRD with all VATEX codes
**EN16931 & BR-DE Compliance Fixes:**
- BR-O-02: Skip Seller/Buyer VAT ID only when ALL invoice lines are category 'O'
(fixed critical bug: previously skipped if ANY line was 'O', breaking mixed invoices)
- BR-O-05: Remove tax percent from line-level 'O' category elements
- BR-DE-14: Always include tax percent at document level
**Code Architecture:**
- Split tax category insertion into line-level and document-level procedures
- Separated AllowanceCharge handling by context (6-param line-level, 11-param document-level)
- Thread document language code to GetVATClauseInfo for localized exemption descriptions
- Add IsTaxCategoryNotSubjectToVAT() helper to centralise the 'O' value
**Files Changed:**
- XRechnung: Export logic refactored for UBL compliance
- ZUGFeRD: CII format aligned with EN16931 requirements
- Tests: Added VATEX scenarios for all supported exemption categories1 parent 342a13d commit 5c682f0
4 files changed
Lines changed: 288 additions & 25 deletions
File tree
- Apps/DE/EDocumentDE
- app/src
- XRechnung
- ZUGFeRD
- test/src
0 commit comments