Banking - Account types

From Cyclos Wiki
Jump to navigation Jump to search

Related sub-modules

Banking - Currencies, Banking - Transfer types, Banking - Account fees, Banking - Transfer filters, Users - Products.

Description

Account types allows administrators to create member and system accounts. Accounts are used to store the currency on. All transfers are done from and to an account and this information is stored on the accounts.

Business rules

There are two sorts of account types:

  • Member account type in the member product, members can get an account of a member account type. Members with this product have the same account type, but each member owns an individual account with its own balance, account history etc.
  • System account type unlike the member account type there is only one system account for each system account type. This single system account is commonly managed by the administrators who have the permission for this account. Administrators can be given permissions to perform payments from the system account.


An account type is always in a Currency. If there are more currencies in the system, then for each currency there must be at least one account type, to make it possible to use the currency. Finally the maximal positive and negative account balances can be set for an account. When this is unlimited the account has no limit to go positive or negative on with the balance. When this is limited a user cannot have less then "-1000 units" or more than "500 000 units" (this is just an example).


The following (extra) tabs can be displayed for an account type:


An important thing to note is that the balance for a given account is not stored - it's calculated summing the amounts of the transfer destination minus the sum for transfers where the account is the source. Several questions arose from this approach, specially performance. It is important to say that even on systems with millions of transfers, calculating the balance does not impact in a sensible way on performance. This may, however change in the future, where caching or storing mechanisms will have to be developed.

???? What is the latest status about this ????


Per member product one member account can be enabled, in this case a lot of settings can be specified e.g. the accessibility, the payment filters, which transfer types the user may use etc. When a user has more then one product enabling the same user account type the permissions of both products are added (e.g. a user has two products enabling the same user account. The first product gives him the permission to do transfer type A, B and C. The second product gives him the permission to do transfers type C and D. Then the user is allowed to do use transfer type A, B, C and D.)

  • Also the maximal negative and positive account balance can be specified. If a user has multiple products enabling the same user account type the highest values (most unrestrained) are taken (see also Account_balance_limits).
  • Finally also the initial credit must be set. This is the amount transfered to the account when it is created. An account is created in the following cases:
    • When a new user is created:
      • If the user`s group does only have a single product enabling an account, the amount specified in that product is transferred.
      • If the user`s group does have multiple products enabling an account, the highest amount specified in one of these products is transferred.
    • When a new product is added to a user or to the users group:
      • When the user doesn't have a product yet enabling this user account type, the initial balance amount specified in that product is transferred to the user.
      • When the user does already have a product enabling this user account type, no transfer is made.
      • When the user did have a product enabling this user account type in the past, then the account is not created, but activated again, therefore no transfer is made.

Notifications

N/a.

Page: Account types list

Security

Roles:

  • Admin

View permission:

Other permission:

Page sections

Search page (filters)

Fields Type Rules
Keywords TextField Text to be used in the full text search.
Currency Single selection Show currencies the admin has acces to
Type Single selection (radio) All, system or member account type
New Multi Action button Multi action button that lists the possible natures ("Member account type" or "System account type") for the creation of a account type.


Search result (list *)

* Automatically shows all account types, sorted alphabetically first by currency then by type and finally by name (due to technical reasons first the uppercase then lowercase names are shown).

Fields Type Rules
Name Text (read only) The name of the account type.
Currency Text (read only) The currency of the account type.
Type Text (read only) The nature of the account type ("Member" or "System").
Remove Action button Removes the account type.
  • The account type can only be removed if no transfers have been made (yet) with this account type.
  • Only visible if the admin has the Account configuration - Managepermission.
"Row" "Row" Clicking on the row will open the account type details page. Here are the following new tabs:
  • Account type details.
  • Transfer types.
  • Payment filters.
  • Account fees.


Page: Account type details

Security

Roles:

  • Admin

View permission:

Other permission:

Page sections

Details page

Fields Type Rules
Name Text
  • Required.
  • Max. length: 100 characters.
Description Text area
  • Max. length: 1000 characters.
Currency At creation:
  • Single selection.

When editing:

  • Text (read only).
  • Required.
  • The options of the selection field must be a list of all existing currencies.
  • The field is only editable when the user is inserting a new account type.
Freeze maturity on accounts At creation:
  • checkbox (boolean)

When editing:

  • Text (read only).
  • Required.
  • Only visible if d-rate (maturity) on the selected currency is enabled.
  • The field is only editable when the user is inserting a new account type.
Account balance limit type At creation:
  • Single selection.

When editing:

  • Text (read only).
Options: "Limited" and "Unlimited".
  • Default value: "Limited".
  • Visible only for system account types.
  • The field is only editable when the administrator is inserting a new account type.
Maximal negative account balance Negative decimal
  • Visible only for system account types.
  • Required and visible if "Account balance limit type" is "Limited".
Maximal positive account balance Positive decimal / Boolean
  • A checkbox is shown that wraps the input field (when the checkbox is selected the positive decimal field is shown).
  • Visible only for system account types.
  • Visible if "Account balance limit type" is "Limited".
?????? Card number format ?????? Text
  • Required.
  • The character '#' represents a digit.
  • Possible characters to be used as separators are:
    • / slash
    • \ backslash
    • - hyphen
    • . dot

Examples of possible formats:

  • "####-####-####-####"
  • "###/###/###"
  • "##\##\####\#"

Same widget is used for card numbers, when inserting a new account it check all accounts (of all types) if this number is unique.