export type ValueRef = string; export type SectionRef = string; export interface Mapping { meta: MappingMetaInformation; 'ubl:Invoice': { 'cbc:CustomizationID'?: ValueRef; 'cbc:ProfileID'?: ValueRef; 'cbc:ID': ValueRef; 'cbc:IssueDate': ValueRef; 'cbc:DueDate'?: ValueRef; 'cbc:InvoiceTypeCode': ValueRef; 'cbc:Note'?: { section?: SectionRef; }; 'cbc:TaxPointDate'?: ValueRef; 'cbc:DocumentCurrencyCode': ValueRef; 'cbc:TaxCurrencyCode'?: ValueRef; 'cbc:AccountingCost'?: ValueRef; 'cbc:BuyerReference'?: ValueRef; 'cac:InvoicePeriod'?: DELIVERYORINVOICEPERIOD; 'cac:OrderReference'?: ORDERANDSALESORDERREFERENCE; 'cac:BillingReference'?: { section?: SectionRef; 'cac:InvoiceDocumentReference': INVOICEDOCUMENTREFERENCE; }; 'cac:DespatchDocumentReference'?: DESPATCHADVICEREFERENCE; 'cac:ReceiptDocumentReference'?: RECEIPTADVICEREFERENCE; 'cac:OriginatorDocumentReference'?: TENDERORLOTREFERENCE; 'cac:ContractDocumentReference'?: CONTRACTREFERENCE; 'cac:AdditionalDocumentReference'?: { section?: SectionRef; 'cbc:ID': ValueRef; 'cbc:ID@schemeID'?: ValueRef; 'cbc:DocumentTypeCode'?: ValueRef; 'cbc:DocumentDescription'?: ValueRef; 'cac:Attachment'?: ATTACHMENT; }; 'cac:ProjectReference'?: PROJECTREFERENCE; 'cac:AccountingSupplierParty': SELLER; 'cac:AccountingCustomerParty': BUYER; 'cac:PayeeParty'?: PAYEE; 'cac:TaxRepresentativeParty'?: SELLERTAXREPRESENTATIVEPARTY; 'cac:Delivery'?: DELIVERYINFORMATION; 'cac:PaymentMeans'?: { section?: SectionRef; 'cbc:PaymentMeansCode': ValueRef; 'cbc:PaymentMeansCode@name'?: ValueRef; 'cbc:PaymentID'?: ValueRef; 'cac:CardAccount'?: PAYMENTCARDINFORMATION; 'cac:PayeeFinancialAccount'?: CREDITTRANSFER; 'cac:PaymentMandate'?: DIRECTDEBIT; }; 'cac:PaymentTerms'?: PAYMENTTERMS; 'cac:AllowanceCharge'?: { section?: SectionRef; 'cbc:ChargeIndicator': ValueRef; 'cbc:AllowanceChargeReasonCode'?: ValueRef; 'cbc:AllowanceChargeReason'?: ValueRef; 'cbc:MultiplierFactorNumeric'?: ValueRef; 'cbc:Amount': ValueRef; 'cbc:Amount@currencyID'?: ValueRef; 'cbc:BaseAmount'?: ValueRef; 'cbc:BaseAmount@currencyID'?: ValueRef; 'cac:TaxCategory': TAXCATEGORY; }; 'cac:TaxTotal': { section?: SectionRef; 'cbc:TaxAmount': ValueRef; 'cbc:TaxAmount@currencyID'?: ValueRef; 'cac:TaxSubtotal'?: { section?: SectionRef; 'cbc:TaxableAmount': ValueRef; 'cbc:TaxableAmount@currencyID'?: ValueRef; 'cbc:TaxAmount': ValueRef; 'cbc:TaxAmount@currencyID'?: ValueRef; 'cac:TaxCategory': VATCATEGORY; }; }; 'cac:LegalMonetaryTotal': DOCUMENTTOTALS; 'cac:InvoiceLine': { section?: SectionRef; 'cbc:ID': ValueRef; 'cbc:Note'?: ValueRef; 'cbc:InvoicedQuantity': ValueRef; 'cbc:InvoicedQuantity@unitCode'?: ValueRef; 'cbc:LineExtensionAmount': ValueRef; 'cbc:LineExtensionAmount@currencyID'?: ValueRef; 'cbc:AccountingCost'?: ValueRef; 'cac:InvoicePeriod'?: INVOICELINEPERIOD; 'cac:OrderLineReference'?: ORDERLINEREFERENCE; 'cac:DocumentReference'?: LINEOBJECTIDENTIFIER; 'cac:AllowanceCharge'?: { section?: SectionRef; 'cbc:ChargeIndicator': ValueRef; 'cbc:AllowanceChargeReasonCode'?: ValueRef; 'cbc:AllowanceChargeReason'?: ValueRef; 'cbc:MultiplierFactorNumeric'?: ValueRef; 'cbc:Amount': ValueRef; 'cbc:Amount@currencyID'?: ValueRef; 'cbc:BaseAmount'?: ValueRef; 'cbc:BaseAmount@currencyID'?: ValueRef; }; 'cac:Item': ITEMINFORMATION; 'cac:Price': PRICEDETAILS; }; }; [k: string]: unknown; } export interface MappingMetaInformation { sectionColumn: { [k: string]: string; }; empty?: string[]; } export interface DELIVERYORINVOICEPERIOD { 'cbc:StartDate'?: ValueRef; 'cbc:EndDate'?: ValueRef; 'cbc:DescriptionCode'?: ValueRef; } export interface ORDERANDSALESORDERREFERENCE { 'cbc:ID'?: ValueRef; 'cbc:SalesOrderID'?: ValueRef; } export interface INVOICEDOCUMENTREFERENCE { 'cbc:ID': ValueRef; 'cbc:IssueDate'?: ValueRef; } export interface DESPATCHADVICEREFERENCE { 'cbc:ID': ValueRef; } export interface RECEIPTADVICEREFERENCE { 'cbc:ID': ValueRef; } export interface TENDERORLOTREFERENCE { 'cbc:ID': ValueRef; } export interface CONTRACTREFERENCE { 'cbc:ID': ValueRef; } export interface ATTACHMENT { 'cbc:EmbeddedDocumentBinaryObject'?: ValueRef; 'cbc:EmbeddedDocumentBinaryObject@mimeCode'?: ValueRef; 'cbc:EmbeddedDocumentBinaryObject@filename'?: ValueRef; 'cac:ExternalReference'?: EXTERNALREFERENCE; } export interface EXTERNALREFERENCE { 'cbc:URI': ValueRef; } export interface PROJECTREFERENCE { 'cbc:ID': ValueRef; } export interface SELLER { 'cac:Party': PARTY; } export interface PARTY { 'cbc:EndpointID'?: ValueRef; 'cbc:EndpointID@schemeID'?: ValueRef; 'cac:PartyIdentification'?: { section?: SectionRef; 'cbc:ID': ValueRef; 'cbc:ID@schemeID'?: ValueRef; }; 'cac:PartyName'?: PARTYNAME; 'cac:PostalAddress': SELLERPOSTALADDRESS; 'cac:PartyTaxScheme'?: { section?: SectionRef; 'cbc:CompanyID': ValueRef; 'cac:TaxScheme': TAXSCHEME; }; 'cac:PartyLegalEntity': PARTYLEGALENTITY; 'cac:Contact'?: SELLERCONTACT; } export interface PARTYNAME { 'cbc:Name': ValueRef; } export interface SELLERPOSTALADDRESS { 'cbc:StreetName'?: ValueRef; 'cbc:AdditionalStreetName'?: ValueRef; 'cbc:CityName'?: ValueRef; 'cbc:PostalZone'?: ValueRef; 'cbc:CountrySubentity'?: ValueRef; 'cac:AddressLine'?: ADDRESSLINE; 'cac:Country': COUNTRY; } export interface ADDRESSLINE { 'cbc:Line': ValueRef; } export interface COUNTRY { 'cbc:IdentificationCode': ValueRef; } export interface TAXSCHEME { 'cbc:ID': ValueRef; } export interface PARTYLEGALENTITY { 'cbc:RegistrationName': ValueRef; 'cbc:CompanyID'?: ValueRef; 'cbc:CompanyID@schemeID'?: ValueRef; 'cbc:CompanyLegalForm'?: ValueRef; } export interface SELLERCONTACT { 'cbc:Name'?: ValueRef; 'cbc:Telephone'?: ValueRef; 'cbc:ElectronicMail'?: ValueRef; } export interface BUYER { 'cac:Party': PARTY1; } export interface PARTY1 { 'cbc:EndpointID'?: ValueRef; 'cbc:EndpointID@schemeID'?: ValueRef; 'cac:PartyIdentification'?: PARTYIDENTIFICATION; 'cac:PartyName'?: PARTYNAME1; 'cac:PostalAddress': BUYERPOSTALADDRESS; 'cac:PartyTaxScheme'?: PARTYVATIDENTIFIER; 'cac:PartyLegalEntity': PARTYLEGALENTITY1; 'cac:Contact'?: BUYERCONTACT; } export interface PARTYIDENTIFICATION { 'cbc:ID': ValueRef; 'cbc:ID@schemeID'?: ValueRef; } export interface PARTYNAME1 { 'cbc:Name': ValueRef; } export interface BUYERPOSTALADDRESS { 'cbc:StreetName'?: ValueRef; 'cbc:AdditionalStreetName'?: ValueRef; 'cbc:CityName'?: ValueRef; 'cbc:PostalZone'?: ValueRef; 'cbc:CountrySubentity'?: ValueRef; 'cac:AddressLine'?: ADDRESSLINE1; 'cac:Country': COUNTRY1; } export interface ADDRESSLINE1 { 'cbc:Line': ValueRef; } export interface COUNTRY1 { 'cbc:IdentificationCode': ValueRef; } export interface PARTYVATIDENTIFIER { 'cbc:CompanyID': ValueRef; 'cac:TaxScheme': TAXSCHEME1; } export interface TAXSCHEME1 { 'cbc:ID': ValueRef; } export interface PARTYLEGALENTITY1 { 'cbc:RegistrationName': ValueRef; 'cbc:CompanyID'?: ValueRef; 'cbc:CompanyID@schemeID'?: ValueRef; } export interface BUYERCONTACT { 'cbc:Name'?: ValueRef; 'cbc:Telephone'?: ValueRef; 'cbc:ElectronicMail'?: ValueRef; } export interface PAYEE { 'cac:PartyIdentification'?: PARTYIDENTIFICATION1; 'cac:PartyName': PARTYNAME2; 'cac:PartyLegalEntity'?: PARTYLEGALENTITY2; } export interface PARTYIDENTIFICATION1 { 'cbc:ID': ValueRef; 'cbc:ID@schemeID'?: ValueRef; } export interface PARTYNAME2 { 'cbc:Name': ValueRef; } export interface PARTYLEGALENTITY2 { 'cbc:CompanyID': ValueRef; 'cbc:CompanyID@schemeID'?: ValueRef; } export interface SELLERTAXREPRESENTATIVEPARTY { 'cac:PartyName': PARTYNAME3; 'cac:PostalAddress': SELLERTAXREPRESENTATIVEPOSTALADDRESS; 'cac:PartyTaxScheme': PARTYVATIDENTIFIER1; } export interface PARTYNAME3 { 'cbc:Name': ValueRef; } export interface SELLERTAXREPRESENTATIVEPOSTALADDRESS { 'cbc:StreetName'?: ValueRef; 'cbc:AdditionalStreetName'?: ValueRef; 'cbc:CityName'?: ValueRef; 'cbc:PostalZone'?: ValueRef; 'cbc:CountrySubentity'?: ValueRef; 'cac:AddressLine'?: ADDRESSLINE2; 'cac:Country': COUNTRY2; } export interface ADDRESSLINE2 { 'cbc:Line': ValueRef; } export interface COUNTRY2 { 'cbc:IdentificationCode': ValueRef; } export interface PARTYVATIDENTIFIER1 { 'cbc:CompanyID': ValueRef; 'cac:TaxScheme': TAXSCHEME2; } export interface TAXSCHEME2 { 'cbc:ID': ValueRef; } export interface DELIVERYINFORMATION { 'cbc:ActualDeliveryDate'?: ValueRef; 'cac:DeliveryLocation'?: { 'cbc:ID'?: ValueRef; 'cbc:ID@schemeID'?: ValueRef; 'cac:Address'?: DELIVERTOADDRESS; }; 'cac:DeliveryParty'?: DELIVERPARTY; } export interface DELIVERTOADDRESS { 'cbc:StreetName'?: ValueRef; 'cbc:AdditionalStreetName'?: ValueRef; 'cbc:CityName'?: ValueRef; 'cbc:PostalZone'?: ValueRef; 'cbc:CountrySubentity'?: ValueRef; 'cac:AddressLine'?: ADDRESSLINE3; 'cac:Country': COUNTRY3; } export interface ADDRESSLINE3 { 'cbc:Line': ValueRef; } export interface COUNTRY3 { 'cbc:IdentificationCode': ValueRef; } export interface DELIVERPARTY { 'cac:PartyName': PARTYNAME4; } export interface PARTYNAME4 { 'cbc:Name': ValueRef; } export interface PAYMENTCARDINFORMATION { 'cbc:PrimaryAccountNumberID': ValueRef; 'cbc:NetworkID': ValueRef; 'cbc:HolderName'?: ValueRef; } export interface CREDITTRANSFER { 'cbc:ID': ValueRef; 'cbc:Name'?: ValueRef; 'cac:FinancialInstitutionBranch'?: FINANCIALINSTITUTIONBRANCH; } export interface FINANCIALINSTITUTIONBRANCH { 'cbc:ID': ValueRef; } export interface DIRECTDEBIT { 'cbc:ID'?: ValueRef; 'cac:PayerFinancialAccount'?: PAYERFINANCIALACCOUNT; } export interface PAYERFINANCIALACCOUNT { 'cbc:ID': ValueRef; } export interface PAYMENTTERMS { 'cbc:Note': ValueRef; } export interface TAXCATEGORY { 'cbc:ID': ValueRef; 'cbc:Percent'?: ValueRef; 'cac:TaxScheme': TAXSCHEME3; } export interface TAXSCHEME3 { 'cbc:ID': ValueRef; } export interface VATCATEGORY { 'cbc:ID': ValueRef; 'cbc:Percent'?: ValueRef; 'cbc:TaxExemptionReasonCode'?: ValueRef; 'cbc:TaxExemptionReason'?: ValueRef; 'cac:TaxScheme': TAXSCHEME4; } export interface TAXSCHEME4 { 'cbc:ID': ValueRef; } export interface DOCUMENTTOTALS { 'cbc:LineExtensionAmount': ValueRef; 'cbc:LineExtensionAmount@currencyID'?: ValueRef; 'cbc:TaxExclusiveAmount': ValueRef; 'cbc:TaxExclusiveAmount@currencyID'?: ValueRef; 'cbc:TaxInclusiveAmount': ValueRef; 'cbc:TaxInclusiveAmount@currencyID'?: ValueRef; 'cbc:AllowanceTotalAmount'?: ValueRef; 'cbc:AllowanceTotalAmount@currencyID'?: ValueRef; 'cbc:ChargeTotalAmount'?: ValueRef; 'cbc:ChargeTotalAmount@currencyID'?: ValueRef; 'cbc:PrepaidAmount'?: ValueRef; 'cbc:PrepaidAmount@currencyID'?: ValueRef; 'cbc:PayableRoundingAmount'?: ValueRef; 'cbc:PayableRoundingAmount@currencyID'?: ValueRef; 'cbc:PayableAmount': ValueRef; 'cbc:PayableAmount@currencyID'?: ValueRef; } export interface INVOICELINEPERIOD { 'cbc:StartDate'?: ValueRef; 'cbc:EndDate'?: ValueRef; } export interface ORDERLINEREFERENCE { 'cbc:LineID': ValueRef; } export interface LINEOBJECTIDENTIFIER { 'cbc:ID': ValueRef; 'cbc:ID@schemeID'?: ValueRef; 'cbc:DocumentTypeCode': ValueRef; } export interface ITEMINFORMATION { 'cbc:Description'?: ValueRef; 'cbc:Name': ValueRef; 'cac:BuyersItemIdentification'?: BUYERSITEMIDENTIFICATION; 'cac:SellersItemIdentification'?: SELLERSITEMIDENTIFICATION; 'cac:StandardItemIdentification'?: STANDARDITEMIDENTIFICATION; 'cac:OriginCountry'?: ORIGINCOUNTRY; 'cac:CommodityClassification'?: { section?: SectionRef; 'cbc:ItemClassificationCode': ValueRef; 'cbc:ItemClassificationCode@listID'?: ValueRef; 'cbc:ItemClassificationCode@listVersionID'?: ValueRef; }; 'cac:ClassifiedTaxCategory': LINEVATINFORMATION; 'cac:AdditionalItemProperty'?: { section?: SectionRef; 'cbc:Name': ValueRef; 'cbc:Value': ValueRef; }; } export interface BUYERSITEMIDENTIFICATION { 'cbc:ID': ValueRef; } export interface SELLERSITEMIDENTIFICATION { 'cbc:ID': ValueRef; } export interface STANDARDITEMIDENTIFICATION { 'cbc:ID': ValueRef; 'cbc:ID@schemeID'?: ValueRef; } export interface ORIGINCOUNTRY { 'cbc:IdentificationCode': ValueRef; } export interface LINEVATINFORMATION { 'cbc:ID': ValueRef; 'cbc:Percent'?: ValueRef; 'cac:TaxScheme': TAXSCHEME5; } export interface TAXSCHEME5 { 'cbc:ID': ValueRef; } export interface PRICEDETAILS { 'cbc:PriceAmount': ValueRef; 'cbc:PriceAmount@currencyID'?: ValueRef; 'cbc:BaseQuantity'?: ValueRef; 'cbc:BaseQuantity@unitCode'?: ValueRef; 'cac:AllowanceCharge'?: ALLOWANCE; } export interface ALLOWANCE { 'cbc:ChargeIndicator': ValueRef; 'cbc:Amount': ValueRef; 'cbc:Amount@currencyID'?: ValueRef; 'cbc:BaseAmount'?: ValueRef; 'cbc:BaseAmount@currencyID'?: ValueRef; }