zugferd-generator
Version:
A lightweight Node.js module for creating ZUGFeRD-compliant invoices.
58 lines (54 loc) • 1.48 kB
TypeScript
declare interface InvoiceData {
id: string;
issueDate: string;
dueDate?: string; // optional
currency: string;
totalAmount: number;
supplier: {
name: string;
country: string;
street?: string; // optional
postalCode?: string; // optional
city?: string; // optional
taxNumber?: string; // optional
legalEntityID?: string; // optional
};
customer: {
name: string;
country: string;
street?: string; // optional
postalCode?: string; // optional
city?: string; // optional
taxNumber?: string; // optional
};
taxTotal: {
taxAmount: number;
taxPercentage: number;
};
paymentDetails?: { // optional
paymentMeansCode?: string; // optional
paymentID?: string; // optional
bankDetails?: { // optional
accountName?: string; // optional
iban?: string; // optional
bic?: string; // optional
bankName?: string; // optional
}
};
notes?: string[]; // optional
lineItems: {
id: string;
description: string;
quantity: number;
unitPrice: number;
lineTotal: number;
}[];
}
declare class ZUGFeRDGenerator {
constructor(invoice: InvoiceData);
embedInPDF(pdfBuffer: Buffer): Promise<Buffer>;
toBlob(): Blob;
toBuffer(): Buffer;
toXMLString(): string;
}
export = ZUGFeRDGenerator;