UNPKG

@openade/fe

Version:

Fatturazione Elettronica - Electronic Invoicing for Sistema di Interscambio (SDI)

60 lines 1.93 kB
import type { FatturaElettronica } from '@openade/common'; export interface InvoiceBuilderConfig { supplierVatNumber: string; supplierBusinessName: string; supplierAddress: { indirizzo: string; cap: string; comune: string; provincia?: string; nazione: string; }; taxRegime?: string; transmissionCountry?: string; transmissionCode?: string; } export interface InvoiceLine { description: string; quantity?: number; unitPrice: number; vatRate: number; vatNature?: 'N1' | 'N2' | 'N3' | 'N4' | 'N5' | 'N6' | 'N7'; } export interface InvoiceData { customer: { vatNumber?: string; fiscalCode?: string; businessName?: string; firstName?: string; lastName?: string; address: { indirizzo: string; cap: string; comune: string; provincia?: string; nazione: string; }; sdiCode?: string; pec?: string; }; invoiceNumber: string; invoiceDate: string; documentType?: 'TD01' | 'TD02' | 'TD03' | 'TD04' | 'TD05' | 'TD06' | 'TD16' | 'TD17' | 'TD18' | 'TD19' | 'TD20' | 'TD21' | 'TD22' | 'TD23' | 'TD24' | 'TD25' | 'TD26' | 'TD27' | 'TD28'; lines: InvoiceLine[]; paymentMethod?: 'MP01' | 'MP02' | 'MP03' | 'MP04' | 'MP05' | 'MP08' | 'MP12' | 'MP13' | 'MP14' | 'MP15' | 'MP16' | 'MP17' | 'MP18' | 'MP19' | 'MP20' | 'MP21' | 'MP22' | 'MP23'; paymentAmount?: number; notes?: string[]; } export declare class InvoiceBuilder { private config; private progressiveCounter; constructor(config: InvoiceBuilderConfig); build(data: InvoiceData): FatturaElettronica; private buildHeader; private buildBody; private calculateVatSummary; generateFilename(): string; resetCounter(): void; getCurrentProgressive(): number; } //# sourceMappingURL=invoice.builder.d.ts.map