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.
471 lines (469 loc) • 11.5 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/payment.gen.ts
var PUBLISHED = "24A";
var PAYMENT = [
{
key: "INSTRUMENT_NOT_DEFINED",
name: "Instrument not defined",
value: "1",
usage: void 0
},
{
key: "AUTOMATED_CLEARING_HOUSE_CREDIT",
name: "Automated clearing house credit",
value: "2",
usage: void 0
},
{
key: "AUTOMATED_CLEARING_HOUSE_DEBIT",
name: "Automated clearing house debit",
value: "3",
usage: void 0
},
{
key: "ACH_DEMAND_DEBIT_REVERSAL",
name: "ACH demand debit reversal",
value: "4",
usage: void 0
},
{
key: "ACH_DEMAND_CREDIT_REVERSAL",
name: "ACH demand credit reversal",
value: "5",
usage: void 0
},
{
key: "ACH_DEMAND_CREDIT",
name: "ACH demand credit",
value: "6",
usage: void 0
},
{
key: "ACH_DEMAND_DEBIT",
name: "ACH demand debit",
value: "7",
usage: void 0
},
{ key: "HOLD", name: "Hold", value: "8", usage: void 0 },
{
key: "NATIONAL_OR_REGIONAL_CLEARING",
name: "National or regional clearing",
value: "9",
usage: void 0
},
{ key: "IN_CASH", name: "In cash", value: "10", usage: void 0 },
{
key: "ACH_SAVINGS_CREDIT_REVERSAL",
name: "ACH savings credit reversal",
value: "11",
usage: void 0
},
{
key: "ACH_SAVINGS_DEBIT_REVERSAL",
name: "ACH savings debit reversal",
value: "12",
usage: void 0
},
{
key: "ACH_SAVINGS_CREDIT",
name: "ACH savings credit",
value: "13",
usage: void 0
},
{
key: "ACH_SAVINGS_DEBIT",
name: "ACH savings debit",
value: "14",
usage: void 0
},
{
key: "BOOKENTRY_CREDIT",
name: "Bookentry credit",
value: "15",
usage: void 0
},
{
key: "BOOKENTRY_DEBIT",
name: "Bookentry debit",
value: "16",
usage: void 0
},
{
key: "ACH_DEMAND_CASH_CONCENTRATIONDISBURSEMENT_CCD_CREDIT",
name: "ACH demand cash concentration/disbursement (CCD) credit",
value: "17",
usage: void 0
},
{
key: "ACH_DEMAND_CASH_CONCENTRATIONDISBURSEMENT_CCD_DEBIT",
name: "ACH demand cash concentration/disbursement (CCD) debit",
value: "18",
usage: void 0
},
{
key: "ACH_DEMAND_CORPORATE_TRADE_PAYMENT_CTP_CREDIT",
name: "ACH demand corporate trade payment (CTP) credit",
value: "19",
usage: void 0
},
{ key: "CHEQUE", name: "Cheque", value: "20", usage: void 0 },
{
key: "BANKERS_DRAFT",
name: "Banker's draft",
value: "21",
usage: void 0
},
{
key: "CERTIFIED_BANKERS_DRAFT",
name: "Certified banker's draft",
value: "22",
usage: void 0
},
{
key: "BANK_CHEQUE_ISSUED_BY_A_BANKING_OR_SIMILAR_ESTABLISHMENT",
name: "Bank cheque (issued by a banking or similar establishment)",
value: "23",
usage: void 0
},
{
key: "BILL_OF_EXCHANGE_AWAITING_ACCEPTANCE",
name: "Bill of exchange awaiting acceptance",
value: "24",
usage: void 0
},
{
key: "CERTIFIED_CHEQUE",
name: "Certified cheque",
value: "25",
usage: void 0
},
{ key: "LOCAL_CHEQUE", name: "Local cheque", value: "26", usage: void 0 },
{
key: "ACH_DEMAND_CORPORATE_TRADE_PAYMENT_CTP_DEBIT",
name: "ACH demand corporate trade payment (CTP) debit",
value: "27",
usage: void 0
},
{
key: "ACH_DEMAND_CORPORATE_TRADE_EXCHANGE_CTX_CREDIT",
name: "ACH demand corporate trade exchange (CTX) credit",
value: "28",
usage: void 0
},
{
key: "ACH_DEMAND_CORPORATE_TRADE_EXCHANGE_CTX_DEBIT",
name: "ACH demand corporate trade exchange (CTX) debit",
value: "29",
usage: void 0
},
{ key: "CREDIT_TRANSFER", name: "Credit transfer", value: "30", usage: "30" },
{ key: "DEBIT_TRANSFER", name: "Debit transfer", value: "31", usage: "31" },
{
key: "ACH_DEMAND_CASH_CONCENTRATIONDISBURSEMENT_PLUS_CCD",
name: "ACH demand cash concentration/disbursement plus (CCD+)",
value: "32",
usage: void 0
},
{
key: "ACH_DEMAND_CASH_CONCENTRATIONDISBURSEMENT_PLUS_CCD",
name: "ACH demand cash concentration/disbursement plus (CCD+)",
value: "33",
usage: void 0
},
{
key: "ACH_PREARRANGED_PAYMENT_AND_DEPOSIT_PPD",
name: "ACH prearranged payment and deposit (PPD)",
value: "34",
usage: void 0
},
{
key: "ACH_SAVINGS_CASH_CONCENTRATIONDISBURSEMENT_CCD_CREDIT",
name: "ACH savings cash concentration/disbursement (CCD) credit",
value: "35",
usage: void 0
},
{
key: "ACH_SAVINGS_CASH_CONCENTRATIONDISBURSEMENT_CCD_DEBIT",
name: "ACH savings cash concentration/disbursement (CCD) debit",
value: "36",
usage: void 0
},
{
key: "ACH_SAVINGS_CORPORATE_TRADE_PAYMENT_CTP_CREDIT",
name: "ACH savings corporate trade payment (CTP) credit",
value: "37",
usage: void 0
},
{
key: "ACH_SAVINGS_CORPORATE_TRADE_PAYMENT_CTP_DEBIT",
name: "ACH savings corporate trade payment (CTP) debit",
value: "38",
usage: void 0
},
{
key: "ACH_SAVINGS_CORPORATE_TRADE_EXCHANGE_CTX_CREDIT",
name: "ACH savings corporate trade exchange (CTX) credit",
value: "39",
usage: void 0
},
{
key: "ACH_SAVINGS_CORPORATE_TRADE_EXCHANGE_CTX_DEBIT",
name: "ACH savings corporate trade exchange (CTX) debit",
value: "40",
usage: void 0
},
{
key: "ACH_SAVINGS_CASH_CONCENTRATIONDISBURSEMENT_PLUS_CCD",
name: "ACH savings cash concentration/disbursement plus (CCD+)",
value: "41",
usage: void 0
},
{
key: "PAYMENT_TO_BANK_ACCOUNT",
name: "Payment to bank account",
value: "42",
usage: void 0
},
{
key: "ACH_SAVINGS_CASH_CONCENTRATIONDISBURSEMENT_PLUS_CCD",
name: "ACH savings cash concentration/disbursement plus (CCD+)",
value: "43",
usage: void 0
},
{
key: "ACCEPTED_BILL_OF_EXCHANGE",
name: "Accepted bill of exchange",
value: "44",
usage: void 0
},
{
key: "REFERENCED_HOME_BANKING_CREDIT_TRANSFER",
name: "Referenced home-banking credit transfer",
value: "45",
usage: void 0
},
{
key: "INTERBANK_DEBIT_TRANSFER",
name: "Interbank debit transfer",
value: "46",
usage: void 0
},
{
key: "HOME_BANKING_DEBIT_TRANSFER",
name: "Home-banking debit transfer",
value: "47",
usage: void 0
},
{ key: "BANK_CARD", name: "Bank card", value: "48", usage: "48" },
{ key: "DIRECT_DEBIT", name: "Direct debit", value: "49", usage: void 0 },
{
key: "PAYMENT_BY_POSTGIRO",
name: "Payment by postgiro",
value: "50",
usage: void 0
},
{
key: "FR_NORME_6_97_TELEREGLEMENT_CFONB_FRENCH_ORGANISATION_FOR",
name: "FR, norme 6 97-Telereglement CFONB (French Organisation for",
value: "51",
usage: void 0
},
{
key: "URGENT_COMMERCIAL_PAYMENT",
name: "Urgent commercial payment",
value: "52",
usage: void 0
},
{
key: "URGENT_TREASURY_PAYMENT",
name: "Urgent Treasury Payment",
value: "53",
usage: void 0
},
{ key: "CREDIT_CARD", name: "Credit card", value: "54", usage: void 0 },
{ key: "DEBIT_CARD", name: "Debit card", value: "55", usage: void 0 },
{ key: "BANKGIRO", name: "Bankgiro", value: "56", usage: void 0 },
{
key: "STANDING_AGREEMENT",
name: "Standing agreement",
value: "57",
usage: "57"
},
{
key: "SEPA_CREDIT_TRANSFER",
name: "SEPA credit transfer",
value: "58",
usage: "58"
},
{
key: "SEPA_DIRECT_DEBIT",
name: "SEPA direct debit",
value: "59",
usage: "59"
},
{
key: "PROMISSORY_NOTE",
name: "Promissory note",
value: "60",
usage: void 0
},
{
key: "PROMISSORY_NOTE_SIGNED_BY_THE_DEBTOR",
name: "Promissory note signed by the debtor",
value: "61",
usage: void 0
},
{
key: "PROMISSORY_NOTE_SIGNED_BY_THE_DEBTOR_AND_ENDORSED_BY_A_BANK",
name: "Promissory note signed by the debtor and endorsed by a bank",
value: "62",
usage: void 0
},
{
key: "PROMISSORY_NOTE_SIGNED_BY_THE_DEBTOR_AND_ENDORSED_BY_A",
name: "Promissory note signed by the debtor and endorsed by a",
value: "63",
usage: void 0
},
{
key: "PROMISSORY_NOTE_SIGNED_BY_A_BANK",
name: "Promissory note signed by a bank",
value: "64",
usage: void 0
},
{
key: "PROMISSORY_NOTE_SIGNED_BY_A_BANK_AND_ENDORSED_BY_ANOTHER",
name: "Promissory note signed by a bank and endorsed by another",
value: "65",
usage: void 0
},
{
key: "PROMISSORY_NOTE_SIGNED_BY_A_THIRD_PARTY",
name: "Promissory note signed by a third party",
value: "66",
usage: void 0
},
{
key: "PROMISSORY_NOTE_SIGNED_BY_A_THIRD_PARTY_AND_ENDORSED_BY_A",
name: "Promissory note signed by a third party and endorsed by a",
value: "67",
usage: void 0
},
{
key: "ONLINE_PAYMENT_SERVICE",
name: "Online payment service",
value: "68",
usage: void 0
},
{
key: "TRANSFER_ADVICE",
name: "Transfer Advice",
value: "69",
usage: void 0
},
{
key: "BILL_DRAWN_BY_THE_CREDITOR_ON_THE_DEBTOR",
name: "Bill drawn by the creditor on the debtor",
value: "70",
usage: void 0
},
{
key: "BILL_DRAWN_BY_THE_CREDITOR_ON_A_BANK",
name: "Bill drawn by the creditor on a bank",
value: "74",
usage: void 0
},
{
key: "BILL_DRAWN_BY_THE_CREDITOR_ENDORSED_BY_ANOTHER_BANK",
name: "Bill drawn by the creditor, endorsed by another bank",
value: "75",
usage: void 0
},
{
key: "BILL_DRAWN_BY_THE_CREDITOR_ON_A_BANK_AND_ENDORSED_BY_A",
name: "Bill drawn by the creditor on a bank and endorsed by a",
value: "76",
usage: void 0
},
{
key: "BILL_DRAWN_BY_THE_CREDITOR_ON_A_THIRD_PARTY",
name: "Bill drawn by the creditor on a third party",
value: "77",
usage: void 0
},
{
key: "BILL_DRAWN_BY_CREDITOR_ON_THIRD_PARTY_ACCEPTED_AND",
name: "Bill drawn by creditor on third party, accepted and",
value: "78",
usage: void 0
},
{
key: "NOT_TRANSFERABLE_BANKERS_DRAFT",
name: "Not transferable banker's draft",
value: "91",
usage: void 0
},
{
key: "NOT_TRANSFERABLE_LOCAL_CHEQUE",
name: "Not transferable local cheque",
value: "92",
usage: void 0
},
{
key: "REFERENCE_GIRO",
name: "Reference giro",
value: "93",
usage: void 0
},
{ key: "URGENT_GIRO", name: "Urgent giro", value: "94", usage: void 0 },
{
key: "FREE_FORMAT_GIRO",
name: "Free format giro",
value: "95",
usage: void 0
},
{
key: "REQUESTED_METHOD_FOR_PAYMENT_WAS_NOT_USED",
name: "Requested method for payment was not used",
value: "96",
usage: void 0
},
{
key: "CLEARING_BETWEEN_PARTNERS",
name: "Clearing between partners",
value: "97",
usage: void 0
},
{
key: "JP_ELECTRONICALLY_RECORDED_MONETARY_CLAIMS",
name: "JP, Electronically Recorded Monetary Claims",
value: "98",
usage: void 0
},
{
key: "MUTUALLY_DEFINED",
name: "Mutually defined",
value: "ZZZ",
usage: void 0
}
];
var paymentCode = PAYMENT.map(({ value }) => value);
var Payment = createEnum(PAYMENT, {
keyProp: "key",
valueProp: "value"
});
export {
PAYMENT,
PUBLISHED,
Payment,
paymentCode
};