node-zugferd
Version:
A Node.js library for creating ZUGFeRD/Factur-X compliant documents. Generating XML and embedding it into PDF/A files, enabling seamless e-invoicing and digital document compliance.
356 lines (354 loc) • 11.4 kB
JavaScript
// src/codelists/index.ts
var getByPath = (obj, path) => path.split(".").reduce((acc, key) => acc?.[key], obj);
var createEnum = (data, options) => {
return Object.fromEntries(
data.map((item) => [
getByPath(item, options.keyProp),
getByPath(item, options.valueProp)
])
);
};
// src/codelists/eas.gen.ts
var PUBLISHED = "14";
var EAS = [
{
key: "SYSTEM_INFORMATION_ET_REPERTOIRE_DES_ENTREPRISE_ET_DES_ETABLISSEMENTS_SIRENE",
name: "System Information et Repertoire des Entreprise et des Etablissements: SIRENE",
value: "0002"
},
{ key: "ORGANISATIONSNUMMER", name: "Organisationsnummer", value: "0007" },
{ key: "SIRET_CODE", name: "SIRET-CODE", value: "0009" },
{ key: "LY_TUNNUS", name: "LY-tunnus", value: "0037" },
{
key: "DATA_UNIVERSAL_NUMBERING_SYSTEM_D_U_N_S_NUMBER",
name: "Data Universal Numbering System (D-U-N-S Number)",
value: "0060"
},
{ key: "EAN_LOCATION_CODE", name: "EAN Location Code", value: "0088" },
{
key: "THE_DANISH_BUSINESS_AUTHORITY_P_NUMBER_DKP",
name: "The Danish Business Authority - P-number (DK:P)",
value: "0096"
},
{
key: "FTI_EDIFORUM_ITALIA_EDIRA_COMPLIANT",
name: "FTI - Ediforum Italia, (EDIRA compliant)",
value: "0097"
},
{
key: "VERENIGING_VAN_KAMERS_VAN_KOOPHANDEL_EN_FABRIEKEN_IN_NEDERLAND_ASSOCIATION_OF_CHAMBERS_OF_COMMERCE_AND_INDUSTRY_IN_THE_NETHERLANDS_SCHEME_EDIRA_COMPLIANT",
name: "Vereniging van Kamers van Koophandel en Fabrieken in Nederland (Association of\nChambers of Commerce and Industry in the Netherlands), Scheme (EDIRA compliant)",
value: "0106"
},
{
key: "DIRECTORATES_OF_THE_EUROPEAN_COMMISSION",
name: "Directorates of the European Commission",
value: "0130"
},
{
key: "SIA_OBJECT_IDENTIFIERS",
name: "SIA Object Identifiers",
value: "0135"
},
{
key: "SECETI_OBJECT_IDENTIFIERS",
name: "SECETI Object Identifiers",
value: "0142"
},
{
key: "STANDARD_COMPANY_CODE",
name: "Standard Company Code",
value: "0147"
},
{
key: "AUSTRALIAN_BUSINESS_NUMBER_ABN_SCHEME",
name: "Australian Business Number (ABN) Scheme",
value: "0151"
},
{
key: "IDENTIFICATION_NUMBER_OF_ECONOMIC_SUBJECTS_ICO",
name: "Identification number of economic subjects: (ICO)",
value: "0154"
},
{
key: "IDENTIFICATION_NUMBER_OF_ECONOMIC_SUBJECT_ICO_ACT_ON_STATE_STATISTICS_OF_29_NOVEMBER_2001__27",
name: "Identification number of economic subject (ICO) Act on State Statistics of 29 November 2001, \xA7 27",
value: "0158"
},
{ key: "TEIKOKU_COMPANY_CODE", name: "Teikoku Company Code", value: "0170" },
{
key: "ODETTE_INTERNATIONAL_LIMITED",
name: "Odette International Limited",
value: "0177"
},
{
key: "NUMERO_DIDENTIFICATION_SUISSE_DES_ENTERPRISES_IDE_SWISS_UNIQUE_BUSINESS_IDENTIFICATION_NUMBER_UIDB",
name: "Num\xE9ro d'identification suisse des enterprises (IDE), Swiss Unique Business Identification Number (UIDB)",
value: "0183"
},
{ key: "DIGSTORG", name: "DIGSTORG", value: "0184" },
{
key: "CORPORATE_NUMBER_OF_THE_SOCIAL_SECURITY_AND_TAX_NUMBER_SYSTEM",
name: "Corporate Number of The Social Security and Tax Number System",
value: "0188"
},
{
key: "DUTCH_ORIGINATORS_IDENTIFICATION_NUMBER",
name: "Dutch Originator's Identification Number",
value: "0190"
},
{
key: "CENTRE_OF_REGISTERS_AND_INFORMATION_SYSTEMS_OF_THE_MINISTRY_OF_JUSTICE",
name: "Centre of Registers and Information Systems of the Ministry of Justice",
value: "0191"
},
{
key: "ENHETSREGISTERET_VED_BRONNOYSUNDREGISTERNE",
name: "Enhetsregisteret ved Bronnoysundregisterne",
value: "0192"
},
{
key: "UBLBE_PARTY_IDENTIFIER",
name: "UBL.BE party identifier",
value: "0193"
},
{
key: "KOIOS_OPEN_TECHNICAL_DICTIONARY",
name: "KOIOS Open Technical Dictionary",
value: "0194"
},
{
key: "SINGAPORE_UEN_IDENTIFIER",
name: "Singapore UEN identifier",
value: "0195"
},
{
key: "KENNITALA_ICELAND_LEGAL_ID_FOR_INDIVIDUALS_AND_LEGAL_ENTITIES",
name: "Kennitala - Iceland legal id for individuals and legal entities",
value: "0196"
},
{ key: "ERSTORG", name: "ERSTORG", value: "0198" },
{
key: "GLOBAL_LEGAL_ENTITY_IDENTIFIER_GLEIF",
name: "Global legal entity identifier (GLEIF)",
value: "0199"
},
{
key: "LEGAL_ENTITY_CODE_LITHUANIA",
name: "Legal entity code (Lithuania)",
value: "0200"
},
{
key: "CODICE_UNIVOCO_UNITA_ORGANIZZATIVA_I_PA",
name: "Codice Univoco Unit\xE0 Organizzativa iPA",
value: "0201"
},
{
key: "INDIRIZZO_DI_POSTA_ELETTRONICA_CERTIFICATA",
name: "Indirizzo di Posta Elettronica Certificata",
value: "0202"
},
{
key: "E_DELIVERY_NETWORK_PARTICIPANT_IDENTIFIER",
name: "eDelivery Network Participant identifier",
value: "0203"
},
{ key: "LEITWEG_ID", name: "Leitweg-ID", value: "0204" },
{ key: "CODDEST", name: "CODDEST", value: "0205" },
{
key: "NUMERO_DENTREPRISE__ONDERNEMINGSNUMMER__UNTERNEHMENSNUMMER",
name: "Numero d'entreprise / ondernemingsnummer / Unternehmensnummer",
value: "0208"
},
{
key: "GS1_IDENTIFICATION_KEYS",
name: "GS1 identification keys",
value: "0209"
},
{ key: "CODICE_FISCALE", name: "CODICE FISCALE", value: "0210" },
{ key: "PARTITA_IVA", name: "PARTITA IVA", value: "0211" },
{
key: "FINNISH_ORGANIZATION_IDENTIFIER",
name: "Finnish Organization Identifier",
value: "0212"
},
{
key: "FINNISH_ORGANIZATION_VALUE_ADD_TAX_IDENTIFIER",
name: "Finnish Organization Value Add Tax Identifier",
value: "0213"
},
{ key: "NET_SERVICE_ID", name: "Net service ID", value: "0215" },
{ key: "OVTCODE", name: "OVTcode", value: "0216" },
{
key: "THE_NETHERLANDS_CHAMBER_OF_COMMERCE_AND_INDUSTRY_ESTABLISHMENT_NUMBER",
name: "The Netherlands Chamber of Commerce and Industry establishment number",
value: "0217"
},
{
key: "UNIFIED_REGISTRATION_NUMBER_LATVIA",
name: "Unified registration number (Latvia)",
value: "0218"
},
{
key: "THE_REGISTERED_NUMBER_OF_THE_QUALIFIED_INVOICE_ISSUER",
name: "The registered number of the qualified invoice issuer",
value: "0221"
},
{
key: "FRCTC_ELECTRONIC_ADDRESS",
name: "FRCTC ELECTRONIC ADDRESS",
value: "0225"
},
{
key: "NATIONAL_E_INVOICING_FRAMEWORK",
name: "National e-Invoicing Framework",
value: "0230"
},
{
key: "UAE_TAX_IDENTIFICATION_NUMBER_TIN",
name: "UAE Tax Identification Number (TIN)",
value: "0235"
},
{
key: "REGISTER_OF_LEGAL_PERSONS_IN_FRENCH__REPERTOIRE_DES_PERSONNES_MORALES",
name: "Register of legal persons (in French : R\xE9pertoire des personnes morales)",
value: "0240"
},
{ key: "HUNGARY_VAT_NUMBER", name: "Hungary VAT number", value: "9910" },
{
key: "BUSINESS_REGISTERS_NETWORK",
name: "Business Registers Network",
value: "9913"
},
{
key: "OSTERREICHISCHE_UMSATZSTEUER_IDENTIFIKATIONSNUMMER",
name: "\xD6sterreichische Umsatzsteuer-Identifikationsnummer",
value: "9914"
},
{
key: "OSTERREICHISCHES_VERWALTUNGS_BZW_ORGANISATIONSKENNZEICHEN",
name: "\xD6sterreichisches Verwaltungs bzw.\nOrganisationskennzeichen",
value: "9915"
},
{
key: "SOCIETY_FOR_WORLDWIDE_INTERBANK_FINANCIAL_TELECOMMUNICATION_SWIFT",
name: "SOCIETY FOR WORLDWIDE INTERBANK FINANCIAL, TELECOMMUNICATION S.W.I.F.T",
value: "9918"
},
{
key: "KENNZIFFER_DES_UNTERNEHMENSREGISTERS",
name: "Kennziffer des Unternehmensregisters",
value: "9919"
},
{
key: "AGENCIA_ESPANOLA_DE_ADMINISTRACION_TRIBUTARIA",
name: "Agencia Espa\xF1ola de Administraci\xF3n Tributaria",
value: "9920"
},
{ key: "ANDORRA_VAT_NUMBER", name: "Andorra VAT number", value: "9922" },
{ key: "ALBANIA_VAT_NUMBER", name: "Albania VAT number", value: "9923" },
{
key: "BOSNIA_AND_HERZEGOVINA_VAT_NUMBER",
name: "Bosnia and Herzegovina VAT number",
value: "9924"
},
{ key: "BELGIUM_VAT_NUMBER", name: "Belgium VAT number", value: "9925" },
{ key: "BULGARIA_VAT_NUMBER", name: "Bulgaria VAT number", value: "9926" },
{
key: "SWITZERLAND_VAT_NUMBER",
name: "Switzerland VAT number",
value: "9927"
},
{ key: "CYPRUS_VAT_NUMBER", name: "Cyprus VAT number", value: "9928" },
{
key: "CZECH_REPUBLIC_VAT_NUMBER",
name: "Czech Republic VAT number",
value: "9929"
},
{ key: "GERMANY_VAT_NUMBER", name: "Germany VAT number", value: "9930" },
{ key: "ESTONIA_VAT_NUMBER", name: "Estonia VAT number", value: "9931" },
{
key: "UNITED_KINGDOM_VAT_NUMBER",
name: "United Kingdom VAT number",
value: "9932"
},
{ key: "GREECE_VAT_NUMBER", name: "Greece VAT number", value: "9933" },
{ key: "CROATIA_VAT_NUMBER", name: "Croatia VAT number", value: "9934" },
{ key: "IRELAND_VAT_NUMBER", name: "Ireland VAT number", value: "9935" },
{
key: "LIECHTENSTEIN_VAT_NUMBER",
name: "Liechtenstein VAT number",
value: "9936"
},
{ key: "LITHUANIA_VAT_NUMBER", name: "Lithuania VAT number", value: "9937" },
{ key: "LUXEMBURG_VAT_NUMBER", name: "Luxemburg VAT number", value: "9938" },
{ key: "LATVIA_VAT_NUMBER", name: "Latvia VAT number", value: "9939" },
{ key: "MONACO_VAT_NUMBER", name: "Monaco VAT number", value: "9940" },
{
key: "MONTENEGRO_VAT_NUMBER",
name: "Montenegro VAT number",
value: "9941"
},
{
key: "MACEDONIA_THE_FORMER_YUGOSLAV_REPUBLIC_OF_VAT_NUMBER",
name: "Macedonia, the former Yugoslav Republic of VAT number",
value: "9942"
},
{ key: "MALTA_VAT_NUMBER", name: "Malta VAT number", value: "9943" },
{
key: "NETHERLANDS_VAT_NUMBER",
name: "Netherlands VAT number",
value: "9944"
},
{ key: "POLAND_VAT_NUMBER", name: "Poland VAT number", value: "9945" },
{ key: "PORTUGAL_VAT_NUMBER", name: "Portugal VAT number", value: "9946" },
{ key: "ROMANIA_VAT_NUMBER", name: "Romania VAT number", value: "9947" },
{ key: "SERBIA_VAT_NUMBER", name: "Serbia VAT number", value: "9948" },
{ key: "SLOVENIA_VAT_NUMBER", name: "Slovenia VAT number", value: "9949" },
{ key: "SLOVAKIA_VAT_NUMBER", name: "Slovakia VAT number", value: "9950" },
{
key: "SAN_MARINO_VAT_NUMBER",
name: "San Marino VAT number",
value: "9951"
},
{ key: "TURKEY_VAT_NUMBER", name: "Turkey VAT number", value: "9952" },
{
key: "HOLY_SEE_VATICAN_CITY_STATE_VAT_NUMBER",
name: "Holy See (Vatican City State) VAT number",
value: "9953"
},
{ key: "FRENCH_VAT_NUMBER", name: "French VAT number", value: "9957" },
{
key: "EMPLOYER_IDENTIFICATION_NUMBER_EIN_USA",
name: "Employer Identification Number (EIN, USA)",
value: "9959"
},
{
key: "OFTP_ODETTE_FILE_TRANSFER_PROTOCOL",
name: "O.F.T.P. (ODETTE File Transfer Protocol)",
value: "AN"
},
{
key: "X400_ADDRESS_FOR_MAIL_TEXT",
name: "X.400 address for mail text",
value: "AQ"
},
{ key: "AS2_EXCHANGE", name: "AS2 exchange", value: "AS" },
{
key: "FILE_TRANSFER_PROTOCOL",
name: "File Transfer Protocol",
value: "AU"
},
{ key: "ELECTRONIC_MAIL_SMPT", name: "Electronic mail (SMPT)", value: "EM" }
];
var easCode = EAS.map(({ value }) => value);
var Eas = createEnum(EAS, {
keyProp: "key",
valueProp: "value"
});
export {
EAS,
Eas,
PUBLISHED,
easCode
};