@fin.cx/einvoice
Version:
A TypeScript module for creating, manipulating, and embedding XML data within PDF files specifically tailored for electronic invoice (einvoice) packages.
44 lines (43 loc) • 1.28 kB
TypeScript
import { CIIBaseDecoder } from '../cii.decoder.js';
import type { TCreditNote, TDebitNote } from '../../../interfaces/common.js';
/**
* Decoder for ZUGFeRD invoice format
*/
export declare class ZUGFeRDDecoder extends CIIBaseDecoder {
/**
* Decodes a ZUGFeRD credit note
* @returns Promise resolving to a TCreditNote object
*/
protected decodeCreditNote(): Promise<TCreditNote>;
/**
* Decodes a ZUGFeRD debit note (invoice)
* @returns Promise resolving to a TDebitNote object
*/
protected decodeDebitNote(): Promise<TDebitNote>;
/**
* Extracts common invoice data from ZUGFeRD XML
* @returns Common invoice data
*/
private extractCommonData;
/**
* Extracts party information from ZUGFeRD XML
* @param partyXPath XPath to the party node
* @returns Party information as TContact
*/
private extractParty;
/**
* Extracts invoice items from ZUGFeRD XML
* @returns Array of invoice items
*/
private extractItems;
/**
* Extracts notes from ZUGFeRD XML
* @returns Array of notes
*/
private extractNotes;
/**
* Creates a default date for empty date fields
* @returns Default date as timestamp
*/
private createDefaultDate;
}