fix(compliance): Improve compliance
This commit is contained in:
@ -19,7 +19,7 @@ export class UBLEncoder extends UBLBaseEncoder {
|
||||
const doc = new DOMParser().parseFromString(xmlString, 'application/xml');
|
||||
|
||||
// Add common document elements
|
||||
this.addCommonElements(doc, creditNote, UBLDocumentType.CREDIT_NOTE);
|
||||
this.addCommonElements(doc, creditNote as unknown as TInvoice, UBLDocumentType.CREDIT_NOTE);
|
||||
|
||||
// Add credit note specific data
|
||||
this.addCreditNoteSpecificData(doc, creditNote);
|
||||
@ -39,7 +39,7 @@ export class UBLEncoder extends UBLBaseEncoder {
|
||||
const doc = new DOMParser().parseFromString(xmlString, 'application/xml');
|
||||
|
||||
// Add common document elements
|
||||
this.addCommonElements(doc, debitNote, UBLDocumentType.INVOICE);
|
||||
this.addCommonElements(doc, debitNote as unknown as TInvoice, UBLDocumentType.INVOICE);
|
||||
|
||||
// Add invoice specific data
|
||||
this.addInvoiceSpecificData(doc, debitNote);
|
||||
@ -72,9 +72,10 @@ export class UBLEncoder extends UBLBaseEncoder {
|
||||
// Issue Date
|
||||
this.appendElement(doc, root, 'cbc:IssueDate', this.formatDate(invoice.date));
|
||||
|
||||
// Due Date
|
||||
const dueDate = new Date(invoice.date);
|
||||
dueDate.setDate(dueDate.getDate() + invoice.dueInDays);
|
||||
// Due Date - ensure invoice.date is a valid timestamp
|
||||
const issueTimestamp = typeof invoice.date === 'number' ? invoice.date : Date.now();
|
||||
const dueDate = new Date(issueTimestamp);
|
||||
dueDate.setDate(dueDate.getDate() + (invoice.dueInDays || 30));
|
||||
this.appendElement(doc, root, 'cbc:DueDate', this.formatDate(dueDate.getTime()));
|
||||
|
||||
// Document Type Code
|
||||
@ -258,9 +259,10 @@ export class UBLEncoder extends UBLBaseEncoder {
|
||||
// Payment means code - default to credit transfer
|
||||
this.appendElement(doc, paymentMeansNode, 'cbc:PaymentMeansCode', '30');
|
||||
|
||||
// Payment due date
|
||||
const dueDate = new Date(invoice.date);
|
||||
dueDate.setDate(dueDate.getDate() + invoice.dueInDays);
|
||||
// Payment due date - ensure invoice.date is a valid timestamp
|
||||
const issueTimestamp = typeof invoice.date === 'number' ? invoice.date : Date.now();
|
||||
const dueDate = new Date(issueTimestamp);
|
||||
dueDate.setDate(dueDate.getDate() + (invoice.dueInDays || 30));
|
||||
this.appendElement(doc, paymentMeansNode, 'cbc:PaymentDueDate', this.formatDate(dueDate.getTime()));
|
||||
|
||||
// Add payment channel code if available
|
||||
|
Reference in New Issue
Block a user