feat(validation): Implement EN16931 compliance validation types and VAT categories

- Added validation types for EN16931 compliance in `validation.types.ts`, including interfaces for `ValidationResult`, `ValidationOptions`, and `ValidationReport`.
- Introduced `VATCategoriesValidator` in `vat-categories.validator.ts` to validate VAT categories according to EN16931 rules, including detailed checks for standard, zero-rated, exempt, reverse charge, intra-community, export, and out-of-scope services.
- Enhanced `IEInvoiceMetadata` interface in `en16931-metadata.ts` to include additional fields required for full standards compliance, such as delivery information, payment information, allowances, and charges.
- Implemented helper methods for VAT calculations and validation logic to ensure accurate compliance with EN16931 standards.
This commit is contained in:
2025-08-11 12:25:32 +00:00
parent 01c6e8daad
commit 10e14af85b
53 changed files with 11315 additions and 17 deletions

View File

@@ -11,7 +11,10 @@
"scripts": {
"test": "(tstest test/ --verbose --logfile --timeout 60)",
"build": "(tsbuild --web --allowimplicitany)",
"buildDocs": "(tsdoc)"
"buildDocs": "(tsdoc)",
"download-schematron": "tsx scripts/download-schematron.ts",
"download-test-samples": "tsx scripts/download-test-samples.ts",
"test:conformance": "tstest test/test.conformance-harness.ts"
},
"devDependencies": {
"@git.zone/tsbuild": "^2.6.4",
@@ -24,9 +27,11 @@
"@push.rocks/smartfile": "^11.2.5",
"@push.rocks/smartxml": "^1.1.1",
"@tsclass/tsclass": "^9.2.0",
"@xmldom/xmldom": "^0.9.8",
"jsdom": "^26.1.0",
"pako": "^2.1.0",
"pdf-lib": "^1.17.1",
"saxon-js": "^2.7.0",
"xmldom": "^0.6.0",
"xpath": "^0.0.34"
},