Class FinIntRemitt

Namespace
Subsembly.FinTS
Assembly
Subsembly.FinTS.Core.dll

Generic class that holds the information of an international remittance (DTAZV).

public class FinIntRemitt
Inheritance
FinIntRemitt
Inherited Members

Remarks

The class FinDtaBuilder provides the method GenerateDTAZV(FinIntRemitt, int) that generates a complete DTAZV file from a FinIntRemitt instance.

Constructors

FinIntRemitt()

public FinIntRemitt()

Fields

AlphaCountryCodes

Table of 2-letter alpha country codes of all SEPA countries.

public static readonly string[] AlphaCountryCodes

Field Value

string[]

Remarks

This table includes all SEPA countries as effective from 2019-03-19, including Germany.

The index of a country in this table is equal to the index of the same country in the table NumericCountryCodes.

MaxLineLength

The maximum number of characters in each text field line in a FinIntRemitt instance. Applies to the properties OrderingCustName, PayeeName, PayeeInstName, and PaymtPurpose. Currently this value is 35.

public const int MaxLineLength = 35

Field Value

int

MaxTextLength

The maximum total number of all characters in each text field in a FinIntRemitt instance. Applies to the properties OrderingCustName, PayeeName, PayeeInstName, and PaymtPurpose. Currently this value is 140.

public const int MaxTextLength = 140

Field Value

int

MaxTextLines

The maximum number of lines in text fields in a FinIntRemitt instance. Applies to the properties OrderingCustName, PayeeName, PayeeInstName, and PaymtPurpose. Currently this value is 4.

public const int MaxTextLines = 4

Field Value

int

NumericCountryCodes

Table of 3-digit numeric country codes of all SEPA countries.

public static readonly string[] NumericCountryCodes

Field Value

string[]

Remarks

This table includes all SEPA countries as effective from 2019-03-19, including Germany.

The index of a country in this table is equal to the index of the same country in the table AlphaCountryCodes.

Properties

Amount

The monetary amount of this remittance.

public SwiftAmt Amount { get; set; }

Property Value

SwiftAmt

The amount is a required field of any remittance.

CostBearer

Who is paying for transaction expenses.

public FinIntRemittCostBearer CostBearer { get; set; }

Property Value

FinIntRemittCostBearer

By default the value of this property is undefined. Therefore it must be set to one of the enumerated values before this remittance can be persisted or converted in any way.

CostBearerAcct

Optional Cost Bearer account.

public FinAcct CostBearerAcct { get; set; }

Property Value

FinAcct

InstructionAdditionalInfo

Additional narrative information to InstructionCodes.

public string InstructionAdditionalInfo { get; set; }

Property Value

string

This string must not be longer than 25 characters. It is inserted into field T20 when generating a DTAZV.

InstructionCode1

public string InstructionCode1 { get; set; }

Property Value

string

InstructionCode2

public string InstructionCode2 { get; set; }

Property Value

string

InstructionCode3

public string InstructionCode3 { get; set; }

Property Value

string

InstructionCode4

public string InstructionCode4 { get; set; }

Property Value

string

InstructionCodes

Ordered set of instruction codes (Weisungsschluessel 1-4).

public string InstructionCodes { get; set; }

Property Value

string

The string must consist of an ordered concatenation of 2-digit instruction codes as defined by the DTAZV specification. The instruction codes are inserted into the DTAZV fields T16, T17, T18, and T19 in the same order as they appear in the string. If present, the code "91" must always be the last (or only) code in the string. As a special case, the code "91" will always be inserted into field T19 when generating a DTAZV.

IsValid

Validates all the properties of this international remittance and indicates whether it is a valid international remittance.

public bool IsValid { get; }

Property Value

bool

NameAndPhoneForInquiries

Name and phone number for inquiries.

public string NameAndPhoneForInquiries { get; set; }

Property Value

string

This string must not be longer than 35 characters. It is inserted into field T24 when generating a DTAZV.

OrderingCustAcct

Ordering customers account.

public FinAcct OrderingCustAcct { get; set; }

Property Value

FinAcct

The ordering customer account is a required field of any remittance and therefore cannot be set to a null value. However, it can be null immediately after construction of an empty FinIntRemitt instance.

Exceptions

ArgumentNullException

An attempt to set a null reference will cause an ArgumentNullException to be thrown.

OrderingCustName

The name of the ordering customer.

public SwiftTextLines OrderingCustName { get; set; }

Property Value

SwiftTextLines

OwnReference

Internal reference of the ordering party. Will not be transmitted to the payee.

public string OwnReference { get; set; }

Property Value

string

This string must not be longer than 27 characters. It is inserted into field T23 when generating a DTAZV.

PayeeAcct

Payee account for this international remittance.

public FinAcct PayeeAcct { get; set; }

Property Value

FinAcct

The payee account is a required field of any remittance and therefore cannot be set to a null value. However, it can be null immediately after construction of an empty FinIntRemitt instance.

Exceptions

ArgumentNullException

An attempt to set a null reference will cause an ArgumentNullException to be thrown.

PayeeCountry

The 2-letter alpha country code of the residence of the payee.

public string PayeeCountry { get; set; }

Property Value

string

Remarks

If this is not explicitly set, then an attempt is made to retrieve it from the payee account BIC property, or the payee account CountryCode property when getting. If the numeric country code from the payee account cannot be translated into a 2-letter alpha country code, then null is ultimately returned.

PayeeInstCountry

The 2-letter alpha country code of the country of the payee bank.

public string PayeeInstCountry { get; set; }

Property Value

string

Remarks

If this is not explicitly set, then an attempt is made to retrieve it from the payee account BIC property, or the payee account CountryCode property when getting. If the numeric country code from the payee account cannot be translated into a 2-letter alpha country code, then null is ultimately returned.

PayeeInstName

The name of the bank of the payee.

public SwiftTextLines PayeeInstName { get; set; }

Property Value

SwiftTextLines

For a standard EU remittance this field is actually not required to contain anything meaningful. However, it still must be set to some non-empty value in order be syntactically complete. It is suggested that the application sets this property to the value "Bank" in such cases.

PayeeName

The name of the payee.

public SwiftTextLines PayeeName { get; set; }

Property Value

SwiftTextLines

PaymtPurpose

Provides access to the payment purpose text field of the remittance.

public SwiftTextLines PaymtPurpose { get; set; }

Property Value

SwiftTextLines

The payment purpose field is generally limited to a maximum of lines.

PaymtType

Optional type of payment indicator.

public string PaymtType { get; set; }

Property Value

string

For an EU standard remittance this should be "13". Other values are defined for DTAZV based international remittances as "Kennzeichnung der Zahlungsart" stored in DTAZV field T22.

Remarks

If this is null, then a suitable value is used automatically.

Methods

GetAlphaCountryCode(string)

Gets the 2-letter alpha country code for a numeric country code.

public static string GetAlphaCountryCode(string sNumericCountryCode)

Parameters

sNumericCountryCode string

The 3-digit numeric country code to get the 2-letter alpha country code for.

Returns

string

Returns the 2-letter alpha country code for the given 3-digit numeric country code. If the given country code is not one of a counrty where the EU regulation applies, then null is returned.

Exceptions

ArgumentNullException

The parameter sNumericCountryCode was null.

ArgumentException

The parameter sNumericCountryCode did not consist of exactly three digits.

GetNumericCountryCode(string)

Gets the 3-digit numeric country code for an alpha country code.

public static string GetNumericCountryCode(string sAlphaCountryCode)

Parameters

sAlphaCountryCode string

The 2-letter alpha country code to get the 3-digit numeric country code for.

Returns

string

Returns the 3-digit numeric country code for the given alpha country code. If the given country code is not one of a counrty where the EU regulation applies, then null is returned.

Exceptions

ArgumentNullException

The parameter sAlphaCountryCode was null.

ArgumentException

The parameter sAlphaCountryCode did not consist of exactly two upper case letters.

IsEuAlphaCountryCode(string)

public static bool IsEuAlphaCountryCode(string sAlphaCountryCode)

Parameters

sAlphaCountryCode string

Returns

bool