Class SepaAccount

Namespace
Subsembly.Sepa
Assembly
Subsembly.Sepa.dll

Represents an Acct or RltdAcct element as it occurs in a SepaStatement.

public sealed class SepaAccount : SepaObject
Inheritance
SepaAccount
Inherited Members

Remarks

The usual account properties can be found at the following object properties.

IBANIBAN
Domestic account number, BBAN or credit card number.OtherId
BICServicer.BIC
Domestic bank codeServicer.ClearingSystemMemberIdentification
Currency CodeCurrency
Account product nameName
Account holder nameOwner.Name

Constructors

SepaAccount()

public SepaAccount()

SepaAccount(bool)

Creates a SepaAccount with the default TagName "Acct".

public SepaAccount(bool fIsMandatory)

Parameters

fIsMandatory bool

SepaAccount(string)

public SepaAccount(string sTagName)

Parameters

sTagName string

SepaAccount(string, bool)

public SepaAccount(string sTagName, bool fIsMandatory)

Parameters

sTagName string
fIsMandatory bool

Properties

AccountType

public SepaAccountType AccountType { get; set; }

Property Value

SepaAccountType

AcctNo

The domestic account number.

public string AcctNo { get; }

Property Value

string

Remarks

This is either GermanAcctNo or OtherId.

BankCode

The domestic bank ocde.

public string BankCode { get; }

Property Value

string

Remarks

Currency

Optional currency of account.

public string Currency { get; set; }

Property Value

string

The initial value of this property is null. It is possible to set this property to null.

Exceptions

ArgumentException

An attempt was made to set a value that is not a syntactically valid currency code.

GermanAcctNo

If this is a German bank account, then this provides the domestic account number, if it is available.

public string GermanAcctNo { get; }

Property Value

string

GermanBankCode

If this is a German bank account, then this provides the German Bankleitzahl, if it is available.

public string GermanBankCode { get; }

Property Value

string

IBAN

The account IBAN.

public SepaIBAN IBAN { get; set; }

Property Value

SepaIBAN

Remarks

This may be NullIBAN if there is no IBAN for the account. In such case. the OtherId must be used instead.

IsEmpty

public override bool IsEmpty { get; }

Property Value

bool

Name

Optional account product name. NOT the name of the account holder.

public string Name { get; set; }

Property Value

string

The initial value of this property is null. Must not be longer than MaxNmLen characters.

Remarks

Only latin characters should be used. It is up to the caller to ensure that the provided string contains only characters accepted by the recipient of the SEPA document.

Exceptions

ArgumentException

An attempt was made to set a string longer than 70 characters.

See Also

OtherId

Some other proprietary account number.

public string OtherId { get; set; }

Property Value

string

Remarks

This property shall only be used if there is no IBAN available.

For a German domestic account number this should be 000000001111111111, where 00000000 is the BLZ and 1111111111 is the domestic account number filled with leading zeroes. In addition the OtherSchemeNameCode shall be "BBAN".

For credit cards this field may be used to hold the PAN (primary account number) of the credit card. In addition the OtherSchemeNameCode may be set to the special value "CPAN" to indicate that this holds a credit card PAN.

OtherSchemeNameCode

The scheme name code of the OtherId.

public string OtherSchemeNameCode { get; set; }

Property Value

string

Owner

The name and further information about the account owner.

public SepaPartyIdentification Owner { get; }

Property Value

SepaPartyIdentification

Remarks

Only the property Name shall be used. This element does not occur in a Related Account element.

Servicer

The financial institute servicing the account.

public SepaFinancialInstitutionIdentification Servicer { get; }

Property Value

SepaFinancialInstitutionIdentification

Remarks

At least the BIC must be set. This element does not occur in a Related Account element.

TypeCode

Optional type code of account.

public string TypeCode { get; set; }

Property Value

string

This must be null or one of the defined code values. Use "CACC" for current accounts.

TypeProprietary

Optional proprietary account type specification.

public string TypeProprietary { get; set; }

Property Value

string

Remarks

This can be used as an alternative to TypeCode. Only one of TypeCode and TypeProprietary may be set, but never both.

Note that TypeProprietary is not SEPA compliant, however, it is used with Swiss payment schemes.

Methods

Clear()

public override void Clear()

OnReadXml(XmlReader, SepaMessageInfo)

protected override void OnReadXml(XmlReader aXmlReader, SepaMessageInfo aMessageInfo)

Parameters

aXmlReader XmlReader
aMessageInfo SepaMessageInfo

OnValidate(ICollection<SepaException>, string)

protected override void OnValidate(ICollection<SepaException> vErrors, string sPath)

Parameters

vErrors ICollection<SepaException>
sPath string

OnWriteXml(XmlWriter, SepaMessageInfo)

protected override void OnWriteXml(XmlWriter aXmlWriter, SepaMessageInfo aMessageInfo)

Parameters

aXmlWriter XmlWriter
aMessageInfo SepaMessageInfo