CFONB.Statement (CFONB v0.1.0)

Copy Markdown View Source

A parsed CFONB account statement (relevé de compte).

A statement is delimited by a previous-balance record (01) and a new-balance record (07), and holds every operation (04, with its 05 details) that occurred in between.

Beyond the parsed fields, it can rebuild the raw lines (raw/1) and derive the account's rib/1 and iban/1.

Field names mirror the Ruby cfonb gem for cross-compatibility.

Summary

Functions

Returns the French IBAN derived from the statement's rib/1.

Rebuilds the raw record lines of the statement (previous balance, each operation with its details, new balance), newline-separated.

Returns the 23-character French RIB (bank ++ branch ++ account ++ key).

Types

t()

@type t() :: %CFONB.Statement{
  account: String.t(),
  bank: String.t(),
  begin_raw: String.t() | nil,
  branch: String.t(),
  currency: String.t(),
  end_raw: String.t() | nil,
  from: Date.t() | nil,
  from_balance: Decimal.t() | nil,
  operations: [CFONB.Operation.t()],
  to: Date.t() | nil,
  to_balance: Decimal.t() | nil
}

Functions

iban(statement)

@spec iban(t()) :: String.t()

Returns the French IBAN derived from the statement's rib/1.

raw(statement)

@spec raw(t()) :: String.t()

Rebuilds the raw record lines of the statement (previous balance, each operation with its details, new balance), newline-separated.

rib(statement)

@spec rib(t()) :: String.t()

Returns the 23-character French RIB (bank ++ branch ++ account ++ key).