Documentation
¶
Overview ¶
Package for ISO 20022 related functionalities. In other words in- and exporting transactions from or to the bank.
Index ¶
Constants ¶
const DateLayout = "2006-01-02"
DateLayout states the default date layout used by the ISO 20022 standard.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BankToCustomerStatement ¶
BankToCustomerStatement contains the path to a ISO 20022 camt XML file.
func NewBankToCustomerStatement ¶
func NewBankToCustomerStatement(path, currency string) BankToCustomerStatement
NewBankToCustomerStatement returns a new BankToCustomerStatement with the given path.
func (BankToCustomerStatement) Transactions ¶
func (s BankToCustomerStatement) Transactions() []schema.Transaction
Transactions reads the file for a given statement and returns the Transactions in the Acc data format.
type Document ¶
type Document struct { XMLName xml.Name `xml:"Document"` Entries []Entry `xml:"BkToCstmrStmt>Stmt>Ntry"` }
Document is the root node of a bank statement.
func (Document) AccTransactions ¶
func (d Document) AccTransactions(currency string) []schema.Transaction
AccTransactions pareses the Transactions of a given file and returns it as Transaction structs.
type Entry ¶
type Entry struct { XMLName xml.Name `xml:"Ntry"` // Amount of transaction. Amount float64 `xml:"Amt"` // Booking is a reversal, should be checked. ReversalIndicator bool `xml:"RvslInd"` // `BOOK` or `PDNG`, in camt.053 only BOOK entries should be apparent. Status string `xml:"Sts"` // Unique number from the bank, identifies transactions. AccountServicerReference string `xml:"AcctSvcrRef"` BookingData string `xml:"BookgDt>Dt"` ValueData string `xml:"ValDt>Dt"` Transactions []Transaction `xml:"NtryDtls>TxDtls"` }
Entry is a ISO 20022 entry.
func (Entry) AccTransactions ¶
func (e Entry) AccTransactions(currency string) []schema.Transaction
AccTransactions returns the transactions of a given entry.
type Party ¶
type Party struct { Name string `xml:"Nm"` AddressLine string `xml:"PstlAdr>AdrLine"` StreetName string `xml:"PstlAdr>StrtNm"` BuildingNumber int `xml:"PstlAdr>BldgNb"` PostalCode int `xml:"PstlAdr>PstCd"` TownName string `xml:"PstlAdr>TwnNm"` Country string `xml:"PstlAdr>Ctry"` }
Party reassembles a ISO 20022 party.
type Transaction ¶
type Transaction struct { XMLName xml.Name `xml:"TxDtls"` Amount string `xml:"Amt"` Description string `xml:"RmtInf>Ustrd"` CreditDebitIndicator string `xml:"CdtDbtInd"` // `CRDT` or `DBIT`. Creditor Party `xml:"RltdPties>Cdtr"` Debitor Party `xml:"RltdPties>Dbtr"` Iban string `xml:"RltdPties>CdtrAcct>Id>IBAN"` AccountCode string `xml:"RltdPties>CdtrAcct>Id>Othr>Id"` BankName string `xml:"RltdAgts>CdtrAgt>FinInstnId>Nm"` }
Transaction reassembles a ISO 20022 transaction.
func (Transaction) AccTransaction ¶
func (t Transaction) AccTransaction(date, currency string) schema.Transaction
AccTransaction converts an ISO 20022 transaction into a Acc bank account transaction.
func (Transaction) String ¶
func (t Transaction) String() string
String returns a human readable string of a given Transaction.