This commit is contained in:
2025-05-27 21:03:10 +00:00
parent 9e46a55057
commit e4c762658d
9 changed files with 232 additions and 10 deletions

View File

@ -412,6 +412,13 @@ export class EInvoice implements TInvoice {
try {
const encoder = EncoderFactory.createEncoder(format);
const invoice = this.mapToTInvoice();
// Import EN16931Validator dynamically to avoid circular dependency
const { EN16931Validator } = await import('./formats/validation/en16931.validator.js');
// Validate mandatory fields before encoding
EN16931Validator.validateMandatoryFields(invoice);
return await encoder.encode(invoice);
} catch (error) {
throw new EInvoiceFormatError(`Failed to encode to ${format}: ${error.message}`, { targetFormat: format });