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

@ -2,6 +2,7 @@ import { CIIBaseDecoder } from '../cii.decoder.js';
import type { TInvoice, TCreditNote, TDebitNote } from '../../../interfaces/common.js';
import { FACTURX_PROFILE_IDS } from './facturx.types.js';
import { business, finance, general } from '../../../plugins.js';
import { EN16931Validator } from '../../validation/en16931.validator.js';
/**
* Decoder for Factur-X invoice format
@ -90,7 +91,7 @@ export class FacturXDecoder extends CIIBaseDecoder {
const reverseCharge = this.exists('//ram:SpecifiedTradeAllowanceCharge/ram:ReasonCode[text()="62"]');
// Create the common invoice data
return {
const invoiceData = {
type: 'accounting-doc' as const,
accountingDocType: 'invoice' as const,
id: invoiceId,
@ -98,7 +99,7 @@ export class FacturXDecoder extends CIIBaseDecoder {
date: issueDate,
accountingDocStatus: 'issued' as const,
versionInfo: {
type: 'final',
type: 'final' as const,
version: '1.0.0'
},
language: 'en',
@ -114,6 +115,11 @@ export class FacturXDecoder extends CIIBaseDecoder {
deliveryDate: issueDate,
objectActions: []
};
// Validate mandatory EN16931 fields
EN16931Validator.validateMandatoryFields(invoiceData);
return invoiceData;
}
/**