All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.konik.zugferd.unece.codes.PaymentMeansCode Maven / Gradle / Ivy

There is a newer version: 1.3.2
Show newest version
/*
 * Copyright (C) 2014 konik.io
 *
 * This file is part of Konik library.
 *
 * Konik library is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Konik library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with Konik library.  If not, see .
 */
package io.konik.zugferd.unece.codes;

import io.konik.util.KonikEnum;

import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;

/**
 * = The Payment Means Code
 * 
 * Represents payment code according to +UNCL 4461+.
 * 
 * @see http://www.unece.org/trade/untdid/d13b/tred/tred4461.htm[UN/EDIFACT 4461 Payment means code^]
 */
@XmlEnum
@XmlType(name = "PaymentMeansCodeType")
public enum PaymentMeansCode {
   /**
    * Instrument not defined
    * 
    * Not defined legally enforceable agreement between two or
    * more parties (expressing a contractual right or a right
    * to the payment of money).
    **/
   @XmlEnumValue("1")
   _1("Instrument not defined"),

   /**
    * Automated clearing house credit
    * 
    * A credit transaction made through the automated clearing
    * house system.
    **/
   @XmlEnumValue("2")
   _2("Automated clearing house credit"),

   /**
    * Automated clearing house debit
    * 
    * A debit transaction made through the automated clearing
    * house system.
    **/
   @XmlEnumValue("3")
   _3("Automated clearing house debit"),

   /**
    * ACH demand debit reversal
    * 
    * A request to reverse an ACH debit transaction to a
    * demand deposit account.
    **/
   @XmlEnumValue("4")
   _4("ACH demand debit reversal"),

   /**
    * ACH demand credit reversal
    * 
    * A request to reverse a credit transaction to a demand
    * deposit account.
    **/
   @XmlEnumValue("5")
   _5("ACH demand credit reversal"),

   /**
    * ACH demand credit
    * 
    * A credit transaction made through the ACH system to a
    * demand deposit account.
    **/
   @XmlEnumValue("6")
   _6("ACH demand credit"),

   /**
    * ACH demand debit
    * 
    * A debit transaction made through the ACH system to a
    * demand deposit account.
    **/
   @XmlEnumValue("7")
   _7("ACH demand debit"),

   /**
    * Hold
    * 
    * Indicates that the bank should hold the payment for
    * collection by the beneficiary or other instructions.
    **/
   @XmlEnumValue("8")
   _8("Hold"),

   /**
    * National or regional clearing
    * 
    * Indicates that the payment should be made using the
    * national or regional clearing.
    **/
   @XmlEnumValue("9")
   _9("National or regional clearing"),

   /**
    * In cash
    * 
    * Payment by currency (including bills and coins) in
    * circulation, including checking account deposits.
    **/
   @XmlEnumValue("10")
   _10("In cash"),

   /**
    * ACH savings credit reversal
    * 
    * A request to reverse an ACH credit transaction to a
    * savings account.
    **/
   @XmlEnumValue("11")
   _11("ACH savings credit reversal"),

   /**
    * ACH savings debit reversal
    * 
    * A request to reverse an ACH debit transaction to a
    * savings account.
    **/
   @XmlEnumValue("12")
   _12("ACH savings debit reversal"),

   /**
    * ACH savings credit
    * 
    * A credit transaction made through the ACH system to a
    * savings account.
    **/
   @XmlEnumValue("13")
   _13("ACH savings credit"),

   /**
    * ACH savings debit
    * 
    * A debit transaction made through the ACH system to a
    * savings account.
    **/
   @XmlEnumValue("14")
   _14("ACH savings debit"),

   /**
    * Bookentry credit
    * 
    * A credit entry between two accounts at the same bank
    * branch. Synonym: house credit.
    **/
   @XmlEnumValue("15")
   _15("Bookentry credit"),

   /**
    * Bookentry debit
    * 
    * A debit entry between two accounts at the same bank
    * branch. Synonym: house debit.
    **/
   @XmlEnumValue("16")
   _16("Bookentry debit"),

   /**
    * ACH demand cash concentration/disbursement (CCD) credit
    * 
    * A credit transaction made through the ACH system to a
    * demand deposit account using the CCD payment format.
    **/
   @XmlEnumValue("17")
   _17("ACH demand cash concentration/disbursement (CCD) credit"),

   /**
    * ACH demand cash concentration/disbursement (CCD) debit
    * 
    * A debit transaction made through the ACH system to a
    * demand deposit account using the CCD payment format.
    **/
   @XmlEnumValue("18")
   _18("ACH demand cash concentration/disbursement (CCD) debit"),

   /**
    * ACH demand corporate trade payment (CTP) credit
    * 
    * A credit transaction made through the ACH system to a
    * demand deposit account using the CTP payment format.
    **/
   @XmlEnumValue("19")
   _19("ACH demand corporate trade payment (CTP) credit"),

   /**
    * Cheque
    * 
    * Payment by a pre-printed form on which instructions are
    * given to an account holder (a bank or building society)
    * to pay a stated sum to a named recipient.
    **/
   @XmlEnumValue("20")
   _20("Cheque"),

   /**
    * Banker's draft
    * 
    * Issue of a banker's draft in payment of the funds.
    **/
   @XmlEnumValue("21")
   _21("Banker's draft"),

   /**
    * Certified banker's draft
    * 
    * Cheque drawn by a bank on itself or its agent. A person
    * who owes money to another buys the draft from a bank for
    * cash and hands it to the creditor who need have no fear
    * that it might be dishonoured.
    **/
   @XmlEnumValue("22")
   _22("Certified banker's draft"),

   /**
    * Bank cheque (issued by a banking or similar establishment)
    * 
    * Payment by a pre-printed form, which has been completed
    * by a financial institution, on which instructions are
    * given to an account holder (a bank or building society)
    * to pay a stated sum to a named recipient.
    **/
   @XmlEnumValue("23")
   _23("Bank cheque (issued by a banking or similar establishment)"),

   /**
    * Bill of exchange awaiting acceptance
    * 
    * Bill drawn by the creditor on the debtor but not yet
    * accepted by the debtor.
    **/
   @XmlEnumValue("24")
   _24("Bill of exchange awaiting acceptance"),

   /**
    * Certified cheque
    * 
    * Payment by a pre-printed form stamped with the paying
    * bank's certification on which instructions are given to
    * an account holder (a bank or building society) to pay a
    * stated sum to a named recipient .
    **/
   @XmlEnumValue("25")
   _25("Certified cheque"),

   /**
    * Local cheque
    * 
    * Indicates that the cheque is given local to the
    * recipient.
    **/
   @XmlEnumValue("26")
   _26("Local cheque"),

   /**
    * ACH demand corporate trade payment (CTP) debit
    * 
    * A debit transaction made through the ACH system to a
    * demand deposit account using the CTP payment format.
    **/
   @XmlEnumValue("27")
   _27("ACH demand corporate trade payment (CTP) debit"),

   /**
    * ACH demand corporate trade exchange (CTX) credit
    * 
    * A credit transaction made through the ACH system to a
    * demand deposit account using the CTX payment format.
    **/
   @XmlEnumValue("28")
   _28("ACH demand corporate trade exchange (CTX) credit"),

   /**
    * ACH demand corporate trade exchange (CTX) debit
    * 
    * A debit transaction made through the ACH system to a
    * demand account using the CTX payment format.
    **/
   @XmlEnumValue("29")
   _29("ACH demand corporate trade exchange (CTX) debit"),

   /**
    * Credit transfer
    * 
    * Payment by credit movement of funds from one account to
    * another.
    **/
   @XmlEnumValue("30")
   _30("Credit transfer"),

   /**
    * Debit transfer
    * 
    * Payment by debit movement of funds from one account to
    * another.
    **/
   @XmlEnumValue("31")
   _31("Debit transfer"),

   /**
    * ACH demand cash concentration/disbursement plus (CCD+)
    * 
    * credit
    * A credit transaction made through the ACH system to a
    * demand deposit account using the CCD+ payment format.
    **/
   @XmlEnumValue("32")
   _32("ACH demand cash concentration/disbursement plus (CCD+)"),

   /**
    * ACH demand cash concentration/disbursement plus (CCD+)
    * 
    * debit
    * A debit transaction made through the ACH system to a
    * demand deposit account using the CCD+ payment format.
    **/
   @XmlEnumValue("33")
   _33("ACH demand cash concentration/disbursement plus (CCD+)"),

   /**
    * ACH prearranged payment and deposit (PPD)
    * 
    * A consumer credit transaction made through the ACH
    * system to a demand deposit or savings account.
    **/
   @XmlEnumValue("34")
   _34("ACH prearranged payment and deposit (PPD)"),

   /**
    * ACH savings cash concentration/disbursement (CCD) credit
    * 
    * A credit transaction made through the ACH system to a
    * demand deposit or savings account.
    **/
   @XmlEnumValue("35")
   _35("ACH savings cash concentration/disbursement (CCD) credit"),

   /**
    * ACH savings cash concentration/disbursement (CCD) debit
    * 
    * A debit transaction made through the ACH system to a
    * savings account using the CCD payment format.
    **/
   @XmlEnumValue("36")
   _36("ACH savings cash concentration/disbursement (CCD) debit"),

   /**
    * ACH savings corporate trade payment (CTP) credit
    * 
    * A credit transaction made through the ACH system to a
    * savings account using the CTP payment format.
    **/
   @XmlEnumValue("37")
   _37("ACH savings corporate trade payment (CTP) credit"),

   /**
    * ACH savings corporate trade payment (CTP) debit
    * 
    * A debit transaction made through the ACH system to a
    * savings account using the CTP payment format.
    **/
   @XmlEnumValue("38")
   _38("ACH savings corporate trade payment (CTP) debit"),

   /**
    * ACH savings corporate trade exchange (CTX) credit
    * 
    * A credit transaction made through the ACH system to a
    * savings account using the CTX payment format.
    **/
   @XmlEnumValue("39")
   _39("ACH savings corporate trade exchange (CTX) credit"),

   /**
    * ACH savings corporate trade exchange (CTX) debit
    * 
    * A debit transaction made through the ACH system to a
    * savings account using the CTX payment format.
    **/
   @XmlEnumValue("40")
   _40("ACH savings corporate trade exchange (CTX) debit"),

   /**
    * ACH savings cash concentration/disbursement plus (CCD+)
    * 
    * credit
    * A credit transaction made through the ACH system to a
    * savings account using the CCD+ payment format.
    **/
   @XmlEnumValue("41")
   _41("ACH savings cash concentration/disbursement plus (CCD+)"),

   /**
    * Payment to bank account
    * 
    * Payment by an arrangement for settling debts that is
    * operated by the Post Office.
    **/
   @XmlEnumValue("42")
   _42("Payment to bank account"),

   /**
    * ACH savings cash concentration/disbursement plus (CCD+)
    * 
    * debit
    * A debit transaction made through the ACH system to a
    * savings account using the CCD+ payment format.
    **/
   @XmlEnumValue("43")
   _43("ACH savings cash concentration/disbursement plus (CCD+)"),

   /**
    * Accepted bill of exchange
    * 
    * Bill drawn by the creditor on the debtor and accepted by
    * the debtor.
    **/
   @XmlEnumValue("44")
   _44("Accepted bill of exchange"),

   /**
    * Referenced home-banking credit transfer
    * 
    * A referenced credit transfer initiated through home-
    * banking.
    **/
   @XmlEnumValue("45")
   _45("Referenced home-banking credit transfer"),

   /**
    * Interbank debit transfer
    * 
    * A debit transfer via interbank means.
    **/
   @XmlEnumValue("46")
   _46("Interbank debit transfer"),

   /**
    * Home-banking debit transfer
    * 
    * A debit transfer initiated through home-banking.
    **/
   @XmlEnumValue("47")
   _47("Home-banking debit transfer"),

   /**
    * Bank card
    * 
    * Payment by means of a card issued by a bank or other
    * financial institution.
    **/
   @XmlEnumValue("48")
   _48("Bank card"),

   /**
    * Direct debit
    * 
    * The amount is to be, or has been, directly debited to
    * the customer's bank account.
    **/
   @XmlEnumValue("49")
   _49("Direct debit"),

   /**
    * Payment by postgiro
    * 
    * A method for the transmission of funds through the
    * postal system rather than through the banking system.
    **/
   @XmlEnumValue("50")
   _50("Payment by postgiro"),

   /**
    * FR, norme 6 97-Telereglement CFONB (French Organisation for
    * 
    * Banking Standards) - Option A
    * A French standard procedure that allows a debtor to pay
    * an amount due to a creditor. The creditor will forward
    * it to its bank, which will collect the money on the bank
    * account of the debtor.
    **/
   @XmlEnumValue("51")
   _51("FR, norme 6 97-Telereglement CFONB (French Organisation for"),

   /**
    * Urgent commercial payment
    * 
    * Payment order which requires guaranteed processing by
    * the most appropriate means to ensure it occurs on the
    * requested execution date, provided that it is issued to
    * the ordered bank before the agreed cut-off time.
    **/
   @XmlEnumValue("52")
   _52("Urgent commercial payment"),

   /**
    * Urgent Treasury Payment
    * 
    * Payment order or transfer which must be executed, by the
    * most appropriate means, as urgently as possible and
    * before urgent commercial payments.
    **/
   @XmlEnumValue("53")
   _53("Urgent Treasury Payment"),

   /**
    * Promissory note
    * 
    * Payment by an unconditional promise in writing made by
    * one person to another, signed by the maker, engaging to
    * pay on demand or at a fixed or determinable future time
    * a sum certain in money, to order or to bearer.
    **/
   @XmlEnumValue("60")
   _60("Promissory note"),

   /**
    * Promissory note signed by the debtor
    * 
    * Payment by an unconditional promise in writing made by
    * the debtor to another person, signed by the debtor,
    * engaging to pay on demand or at a fixed or determinable
    * future time a sum certain in money, to order or to
    * bearer.
    **/
   @XmlEnumValue("61")
   _61("Promissory note signed by the debtor"),

   /**
    * Promissory note signed by the debtor and endorsed by a bank
    * 
    * Payment by an unconditional promise in writing made by
    * the debtor to another person, signed by the debtor and
    * endorsed by a bank, engaging to pay on demand or at a
    * fixed or determinable future time a sum certain in
    * money, to order or to bearer.
    **/
   @XmlEnumValue("62")
   _62("Promissory note signed by the debtor and endorsed by a bank"),

   /**
    * Promissory note signed by the debtor and endorsed by a
    * 
    * third party
    * Payment by an unconditional promise in writing made by
    * the debtor to another person, signed by the debtor and
    * endorsed by a third party, engaging to pay on demand or
    * at a fixed or determinable future time a sum certain in
    * money, to order or to bearer.
    **/
   @XmlEnumValue("63")
   _63("Promissory note signed by the debtor and endorsed by a"),

   /**
    * Promissory note signed by a bank
    * 
    * Payment by an unconditional promise in writing made by
    * the bank to another person, signed by the bank, engaging
    * to pay on demand or at a fixed or determinable future
    * time a sum certain in money, to order or to bearer.
    **/
   @XmlEnumValue("64")
   _64("Promissory note signed by a bank"),

   /**
    * Promissory note signed by a bank and endorsed by another
    * 
    * bank
    * Payment by an unconditional promise in writing made by
    * the bank to another person, signed by the bank and
    * endorsed by another bank, engaging to pay on demand or
    * at a fixed or determinable future time a sum certain in
    * money, to order or to bearer.
    **/
   @XmlEnumValue("65")
   _65("Promissory note signed by a bank and endorsed by another"),

   /**
    * Promissory note signed by a third party
    * 
    * Payment by an unconditional promise in writing made by a
    * third party to another person, signed by the third
    * party, engaging to pay on demand or at a fixed or
    * determinable future time a sum certain in money, to
    * order or to bearer.
    **/
   @XmlEnumValue("66")
   _66("Promissory note signed by a third party"),

   /**
    * Promissory note signed by a third party and endorsed by a
    * 
    * bank
    * Payment by an unconditional promise in writing made by a
    * third party to another person, signed by the third party
    * and endorsed by a bank, engaging to pay on demand or at
    * a fixed or determinable future time a sum certain in
    * money, to order or to bearer.
    **/
   @XmlEnumValue("67")
   _67("Promissory note signed by a third party and endorsed by a"),

   /**
    * Bill drawn by the creditor on the debtor
    * 
    * Bill drawn by the creditor on the debtor.
    **/
   @XmlEnumValue("70")
   _70("Bill drawn by the creditor on the debtor"),

   /**
    * Bill drawn by the creditor on a bank
    * 
    * Bill drawn by the creditor on a bank.
    **/
   @XmlEnumValue("74")
   _74("Bill drawn by the creditor on a bank"),

   /**
    * Bill drawn by the creditor, endorsed by another bank
    * 
    * Bill drawn by the creditor, endorsed by another bank.
    **/
   @XmlEnumValue("75")
   _75("Bill drawn by the creditor, endorsed by another bank"),

   /**
    * Bill drawn by the creditor on a bank and endorsed by a
    * 
    * third party
    * Bill drawn by the creditor on a bank and endorsed by a
    * third party.
    **/
   @XmlEnumValue("76")
   _76("Bill drawn by the creditor on a bank and endorsed by a"),

   /**
    * Bill drawn by the creditor on a third party
    * 
    * Bill drawn by the creditor on a third party.
    **/
   @XmlEnumValue("77")
   _77("Bill drawn by the creditor on a third party"),

   /**
    * Bill drawn by creditor on third party, accepted and
    * 
    * endorsed by bank
    * Bill drawn by creditor on third party, accepted and
    * endorsed by bank.
    **/
   @XmlEnumValue("78")
   _78("Bill drawn by creditor on third party, accepted and"),

   /**
    * Not transferable banker's draft
    * 
    * Issue a bankers draft not endorsable.
    **/
   @XmlEnumValue("91")
   _91("Not transferable banker's draft"),

   /**
    * Not transferable local cheque
    * 
    * Issue a cheque not endorsable in payment of the funds.
    **/
   @XmlEnumValue("92")
   _92("Not transferable local cheque"),

   /**
    * Reference giro
    * 
    * Ordering customer tells the bank to use the payment
    * system 'Reference giro'. Used in the Finnish national
    * banking system.
    **/
   @XmlEnumValue("93")
   _93("Reference giro"),

   /**
    * Urgent giro
    * 
    * Ordering customer tells the bank to use the bank service
    * 'Urgent Giro' when transferring the payment. Used in
    * Finnish national banking system.
    **/
   @XmlEnumValue("94")
   _94("Urgent giro"),

   /**
    * Free format giro
    * 
    * Ordering customer tells the ordering bank to use the
    * bank service 'Free Format Giro' when transferring the
    * payment. Used in Finnish national banking system.
    **/
   @XmlEnumValue("95")
   _95("Free format giro"),

   /**
    * Requested method for payment was not used
    * 
    * If the requested method for payment was or could not be
    * used, this code indicates that.
    **/
   @XmlEnumValue("96")
   _96("Requested method for payment was not used"),

   /**
    * Clearing between partners
    * 
    * Amounts which two partners owe to each other to be
    * compensated in order to avoid useless payments.
    **/
   @XmlEnumValue("97")
   _97("Clearing between partners"),

   /**
    * Mutually defined
    * 
    * A code assigned within a code list to be used on an
    * interim basis and as defined among trading partners
    * until a precise code can be assigned to the code list.
    **/
   @XmlEnumValue("ZZZ")
   _ZZZ("Mutually defined");

   /** prefix before the code in this Enumeration. */
   public static final String PREFIX = "_";

   /** the description for the code. */
   private final String description;

   PaymentMeansCode(String descirption) {
      this.description = descirption;
   }

   /**
    * Gets the code.
    *
    * @return the code
    */
   public String getCode() {
      return name().substring(1);
   }

   /**
    * Gets the description.
    *
    * @return the description
    */
   public String getDescription() {
      return description;
   }

   /**
    * Gets the type by the provided code.
    *
    * @param code the code
    * @return the type by code or throws a IllegalArgumentException if the type does not exist.
    */
   public static PaymentMeansCode getByCode(String code) {
      return valueOf(PREFIX + code);
   }

   /**
    * Checks if the given code is contained in the Enumeration.
    *
    * @param code the code
    * @return true, if is known code
    */
   public static boolean isKnownCode(final String code) {
      return KonikEnum.isKnownCode(PaymentMeansCode.class, code);
   }

   @Override
   public String toString() {
      return new StringBuilder().append("[").append(getCode()).append("] ").append(description).toString();
   }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy