@montarist/nilvera-api
Version:
An unofficial SDK for integrating with Nilvera e-Invoice, e-Archive services
188 lines (187 loc) • 4.61 kB
TypeScript
export interface CreateDraftRequest {
EInvoice: EInvoice;
CustomerAlias: string;
}
export interface CreateEInvoiceModelRequest {
EInvoice: EInvoice;
CustomerAlias: string;
}
export interface EInvoice {
InvoiceInfo: InvoiceInfo;
CompanyInfo: CompanyInfo;
CustomerInfo: CustomerInfo;
BuyerCustomerInfo?: CustomerInfo;
ExportCustomerInfo?: ExportCustomerInfo;
InvoiceLines: InvoiceLine[];
Notes?: string[];
}
export interface InvoiceInfo {
UUID: string;
TemplateUUID: string;
TemplateBase64String: string;
InvoiceType: string;
InvoiceSerieOrNumber: string;
IssueDate: string;
CurrencyCode: string;
ExchangeRate: number;
InvoiceProfile: string;
DespatchDocumentReference?: DespatchDocumentReference[];
OrderReference?: OrderReference;
OrderReferenceDocument?: OrderReferenceDocument;
AdditionalDocumentReferences?: AdditionalDocumentReference[];
TaxExemptionReasonInfo?: TaxExemptionReasonInfo;
PaymentTermsInfo?: PaymentTermsInfo;
PaymentMeansInfo?: PaymentMeansInfo;
OKCInfo?: OKCInfo;
ReturnInvoiceInfo?: ReturnInvoiceInfo[];
AccountingCost?: string;
InvoicePeriod?: InvoicePeriod;
SGKInfo?: SGKInfo;
LineExtensionAmount?: number;
GeneralAllowanceTotal?: number;
PayableAmount?: number;
KdvTotal?: number;
}
export interface CompanyInfo {
TaxNumber: string;
Name: string;
TaxOffice: string;
PartyIdentifications?: PartyIdentification[];
AgentPartyIdentifications?: PartyIdentification[];
Address: string;
District: string;
City: string;
Country: string;
PostalCode: string;
Phone?: string;
Fax?: string;
Mail?: string;
WebSite?: string;
}
export interface CustomerInfo {
TaxNumber: string;
Name: string;
TaxOffice: string;
PartyIdentifications?: PartyIdentification[];
AgentPartyIdentifications?: PartyIdentification[];
Address: string;
District: string;
City: string;
Country: string;
PostalCode: string;
Phone?: string;
Fax?: string;
Mail?: string;
WebSite?: string;
}
export interface ExportCustomerInfo {
TaxNumber: string;
LegalRegistrationName: string;
PersonName: string;
PersonSurName: string;
Address: string;
District: string;
City: string;
Country: string;
PostalCode: string;
Phone?: string;
Fax?: string;
Mail?: string;
WebSite?: string;
}
export interface InvoiceLine {
Index: string;
SellerCode: string;
BuyerCode: string;
Name: string;
Description?: string;
Quantity: number;
UnitType: string;
Price: number;
AllowanceTotal?: number;
KDVPercent?: number;
KDVTotal?: number;
Taxes?: Tax[];
}
export interface Tax {
TaxCode: string;
Total: number;
Percent: number;
ReasonCode?: string;
ReasonDesc?: string;
}
export interface DespatchDocumentReference {
IssueDate: string;
Value: string;
}
export interface OrderReference {
IssueDate: string;
Value: string;
}
export interface OrderReferenceDocument {
ID: string;
IssueDate: string;
DocumentType: string;
DocumentTypeCode: string;
DocumentDescription: string;
Attachment: Attachment;
}
export interface Attachment {
Base64Data: string;
MimeCode: string;
FileName: string;
}
export interface AdditionalDocumentReference {
ID: string;
IssueDate: string;
DocumentType: string;
DocumentTypeCode: string;
DocumentDescription: string;
Attachment: Attachment;
}
export interface TaxExemptionReasonInfo {
KDVExemptionReasonCode: string;
OTVExemptionReasonCode: string;
OzelMatrahExemptionReasonCode: string;
}
export interface PaymentTermsInfo {
Percent: number;
Amount: number;
Note: string;
}
export interface PaymentMeansInfo {
Code: string;
ChannelCode: string;
DueDate: string;
PayeeFinancialAccountID: string;
Note: string;
}
export interface OKCInfo {
ID: string;
IssueDate: string;
Time: string;
ZNo: string;
EndPointID: string;
DocumentDescription: string;
}
export interface ReturnInvoiceInfo {
InvoiceNumber: string;
IssueDate: string;
}
export interface InvoicePeriod {
StartDate: string;
StartTime?: string;
EndDate: string;
EndTime?: string;
DurationMeasureValue?: number;
Description?: string;
}
export interface SGKInfo {
RegisterName: string;
DocumentNumber: string;
RegisterCode: string;
}
export interface PartyIdentification {
SchemeID: string;
Value: string;
}