1CRWorld 4Features

1CRWorld is a feature-rich online banking solution that is easy to use and maintain, flexible, secure and highly customisable. 1CRWorld comes with a range of banking and payment options, a complete e-commerce system and high and low end mobile access channels. The mobile channel offers a scalable and cheap opportunity for banks to enlarge their offer branchless banking.

1CRWorld is used by local banks, C3 networks, MFI's, barters, community currencies and time banks. The dynamic structure of 1CRWorld allows organisations to ‘build’ a dedicated payment system from scratch just by changing the configuration (without the hassle to make code changes).

This document provides you with an in-depth look at 1CRWorld feature sets:

1CRWorld 4 feature list

Provides a detailed overview of the

many features of 1CRWorld 4. An asterisk

is placed after the feature to indicate:

*Planned features

**Research in progress

1CRWorld 4 system information Information about structural issues concerning 1CRWorld

(architecture,

security, interoperability and hosting)

1

User interfaces & access

Web Interface

Plugin for wordpress integration

Mobile App (Android, iOS)

Mobile POS (Android, iOS)

Web POS

SMS operations

API connectivity

POS & Cards (NFC supported)*

IVR*

USSD*

User functions

Register user

Profile completion progress bar**

Update profile

Multiple pictures per profile

Multiple addresses

User defined language

Geo-location per address (Google Map)

Multiple phones

Enable phone for SMS banking

Manage passwords

Insert & manage custom images

Upload & manage documents

Notification preferences (per channel)

Manage contacts

User directory search

Show users/business on Map

Search users by distance

Search users by group / branch

Business referrals

Custom user forms

Custom user operations

Usability

Easy navigation

Personal dashboard page

Quick operation icons

Quick search (users, contacts, adverts)

Status overview (balances, last login, etc.)

Real time notifications

Payments

Banking payments

Internal payment (between own accounts)

Pay external (non registered) user

PIN less payments (optional thresholds, e.g. max payment amount and daily limit)

Payment requests

Bulk payments

Multi level transaction approval

(authorizations)

View authorisation flows

Show transaction details

Cash-in cash-outpayments *

Qualify transactions

View qualification of other users

Roll-back payments

Scheduled payments (installments)

Loan repayment*

Invoice payments*

Webshop payments

Banking

Multiple currencies

Account numbers (own format or standard, e.g. IBAN)

Loans*

Demurrage

Interest

Transaction fees

Set custom conditions for fee applicability

Scheduled fees (contribution)

Brokering fees

Group credit limit

Individual credit limit

Credit limit change log

Credit overview & search

Savings accounts*

Minimum payment amount per payment / day

Maximum payment amount per payment / day

Restrict destination of payments

(accounts, users)

Access rules per payment types

Unique transaction ID per transaction

2

Login with userID, phone number or e-mail

Picture viewer with navigation

View help file

System configuration

Multi network setup (shared instance)

Define branches (groupsets)

Define URL (domain name) for networks and branches

Set group and branch visibility

Localisation (language, formatting, timezone) per group / branch

Set permissions

Create local account administrators

Customised filters for users and advertisements searches

Create new access channels

Define generated login name

Agents / Brokers

Multiple broker per user

Set main broker

Register new users

Manage user data

Print & export users

Perform operations as user

Define broker permissions

Send mailing to ‘my users’

View connected users

Receive notifications about users

Manage passwords of user

Manage user access

Broker commission

Account operators

Create manage operator groups (by business type user)

Define permissions for individual operators or operator groups

Operators overview

Show transactions per operator

Disconnect operator

Custom payment fields

Unique payment settings per channel (SMS, etc.)

System accounts (debit, community, etc.)

User management

Register user

Disconnect user

Block / unblock user

Disable / enable user

Delete user

Change group

Give individual permissions (product)

Perform actions in behalf of user

Activate ‘pending’ users (public registration)

Send message to user

Send message to group

View connected users (per user role)

Show member activities

Filter by branch region

CRM features (user records)

User comments, history search

Define registration agreement

View user agreement history

View profile changes history

Manage documents

Upload documents

Show agents/brokers

Show users of agent/broker

Account information

View account summary

View current balance

View charges & fees

View payment history

Print & export payments

Search payments (user, date, description, etc.)

View payment details

Print payment details

Dynamic payment filters

View average age of account balance

View average maturity of account balance

3

Content management

Intuitive site design (color pickers)

Multiple websites (per group / branch)

Create new menu items

Manage content pages

Create & manage banners

Manage footers/headers

Manage message board

Upload logos

Define logo/header for pdf pages (e.g reports)

Create new themes (styles, colors and images)

Import / export themes

Translations

Multiple translations per system

Incremental translation keys (only save customisations)

Online translation management

Category browsing

Search for translation keys / values

Update translation keys / values

System management

Create networks

Create system administrators

Create multi network administrators

Fully indexed searches

Set session timeout

Create new (custom) access channels

Create & manage document categories

Import users from file

Create new credential (password) types

Search engine submission (SEO)

SMS banking

Register new user by SMS

Retrieve account information

Retrieve payment details

Make payment

Activate phone via SMS (confirmation code)

Market place

Create / edit advertisement

Multiple pictures per advertisement

Rich text for advertisement editing

Schedule advertisement

Select address per advertisement

Custom search filters (e.g. offers / demands)

List new advertisements

Category browsing

Multiple advertisement categories

Create advertisement categories

Geolocation search (distance filter)

Contact seller

Public advertisement questions/answers

Notification on advertisement status change

Custom advertisement fields

Advertisement matching notifications

Shopping cart

Multi-store management

Stock management

Out of stock warning

Product number management

Define delivery address

Define shipping methods / prices

Define estimated delivery time

Promotional price

Price negotiation process

Display available quantities

Product comments

Order tracking

Add comments to order

Display cart content

Place order (checkout)

Accept / reject order

Order number generation

View purchases history

Notifications on order status changes

Saved shopping cart (in the database)

4

Receive notifications by SMS

Analytics & Reporting

Data on expenditure

Data on income

Number of logins

Groups/branches numbers of users

Percentage of users not trading

Account information

Advertisements

References

Mobile app

Android & iOS app

Blackberry and Windows*

Make payment

View account balance, credit limits

View account history

Make payment (to user, to system)

Search users

Add user to contact list

Customisable layout

Customisable entry page / logo

Add menu item (quick access icon)

Add custom pages in app

Gift vouchers / Loyalty points

Create & manage vouchers types

Set voucher redeeming options (e.g. possible weekdays)

Define voucher layout (logo)

QR code generation

Print & export vouchers

Buy & print voucher by user

Vouchers overview & search by admin

View my vouchers by user (Web and Mobile app)

Passwords & authentication

Login password

Transaction password

Verification code (OTP)

Change PIN

CAPTCHA input on public forms

Complete virtual keyboard (optional)

Smart secure virtual keyboard (optional)

Recover password (optional)

Alerts & Logging

Verbose error logging

Search errors by period

Search errors by user

View error details (complete stack trace)

Generate notifications on error (email, SMS)

Commercial barter

Find users with low balances

Match high balances to low balances

on google maps

Alert when a user balance is below zero for a certain time *

Alert when a user balance is above a certain amount for a certain time *

Procurement/quotes**

Payment wall

Messaging

Send rich text message to user

Send bulk messages (mailings)

by admin or agent

Define message categories (per user group)

Forward internal messages to e-mail

Message history (inbox, sent, trash)

Purge messages in trash after period

(automated task)

Member to member email messages

5

Account operators

Create manage operator groups (by business type user)

Define permissions for individual operators or operator groups

Operators overview

Show transactions per operator

Disconnect operator

Mobile POS (Point of Sale)

Android app

Receive payment

Print daily transaction list (POS owner)

Multiple user identifiers (QR/barcode, userID, NFC card or phone)

NFC card will start up the app in POS mode and open receive payment page with the user identified by NFC card

Format NFC card

Assign NFC card to customer

Make payment to customer (cash-out)

Interface for integration with third party POS or ATM networks

Receive notifications by SMS

6

Architecture

1CRWorld 4 has been built on Java enterprise technologies. The client connects to a Google Web Toolkit (GWT) front end application or through one of the interfaces (see below). The application server is protected by a solid security layer and uses the Spring Framework. The services on the application server uses JPA (aided by Querydsl) to communicate with a PostGres Database server. All transactions are stored as double entry bookings in the accounting system. 1CRWorld can run as stand alone system independently from other currency systems. There is an option to store files (e.g. documents, pictures, other file uploads) in a external file system (not in the 1CRWorld database). Amazon S3 storage service is also supported.

Hosting requirements

1CRWorld can run on a web container such as Apache Tomcat and Jetty, or application servers such as Glassfish, JBoss, IBM Websphere and Oracle Weblogic. The database for 1CRWorld is the Open Source database PostgreSQL. 1CRWorld is also available as a Docker image at the public Docker repository.

The minimal memory space requirements to run a single 1CRWorld instance is 500 Mb.

Interoperability (interfaces)

For communication with third party software products the entire internal services layer can be accessed through a web service API (Application Programming Interface). This will make all 1CRWorld features available to third parties.

Native Java clients can connect directly via Java remoting over HTTP(S). Clients in other languages can use an API with JSON messages over HTTP(S). 1CRWorld has a RESTful web services interface that implements the OpenAPI specification. There is also a PHP client library available which mirrors the services API. In case third party software requires specific interface services other than the available 1CRWorld API formats, a 'custom web service' can be created to provide those methods.

7

Security

Since the beginning the 1CRWorld development team followed the security guidelines defined by the ISO 27002 and EBA (European Banking Authority) standards. The code is constantly tested by an advanced set of automated security tests. Permissions and roles are checked on every request at the internal services level.

The following security areas / points have been addressed:

Confidentiality, integrity, authenticity are guaranteed by security checks in combination with http secure (https)

Resistance to attacks as XSS, CSRF, SQL injections

All passwords hashed with ‘salted’ SHA2

All identifiers are ciphered when sending to client (browser)

Use of cookies limited to user session

Security alerts for administrators

Verbose logging including operation data, users, timestamp

IP whitelist

URL restriction per group

Scalability & availability

The 1CRWorld application supports full clustering (application web container).

The database has been optimised to support database clustering and synchronous replication.

8