Theme: 

1. Présentation

Ce document décrit le fonctionnement du service de livre de comptes de la banque Comptes En Ligne (CEL).

Le but de ce service est de maintenir une source de vérité pour les avoirs des comptes.

Le logiciel de l’application est disponible depuis son dépôt en accès libre.

Cette documentation est également consultable en ligne.

1.1. La banque Comptes En Lignes (CEL)

La banque Comptes En Ligne ou CEL a été créée il y a quelques secondes.
C’est de facto la première banque pour les comptes courants et d’épargne.

Cet établissement bancaire français est identifié par son code de banque 12345.

CEL n’a pas d’agences physiques, donc pas de code d’agence.

1.2. Fonctionnalités Du Service

Le service est un livre de comptes, accessible aux clients du CEL.

Un client peut à tout moment :

  1. Consulter la liste de ses comptes

  2. Consulter le solde d’un de ses comptes

  3. Consulter les mouvements sur un de ses comptes

1.3. Événements Sur Les Comptes

1.3.1. Compte Créé

La création d’un compte se fait à la demande du client.

La création d’un compte contient :

  • L'IBAN du compte.

  • Le libellé du compte, choisi par le client ou attribué par défaut.

1.3.2. Mouvement Appliqué

Les opérations sur le compte sont des mouvements bancaires, à savoir des crédits ou des débits.

Un mouvement bancaire contient :

  • L'IBAN du compte observé

  • L’instant de l’opération

  • Le montant de l’opération

La devise du mouvement peut être différent de la devise du compte sur lequel ce mouvement opère.

1.3.3. Solde Mis-À-Jour

Une opération implique une modification du solde.

La mise-à-jour du solde d’un compte contient :

  • L'IBAN du compte.

  • L’instant de mise-à-jour

  • Le nouveau montant

2. Couverture Fonctionnelle

Scénarios Étapes Fonctionnalités: 5

Réussi

Échoué

Total

Réussi

Échoué

Ignoré

En attente

Indéfini

Manquant

Total

Durée

Status

Liste Des Comptes

4

0

4

16

0

0

0

0

0

16

714ms

passed

Solde Des Comptes

7

0

7

35

0

0

0

0

0

35

738ms

passed

Mouvements Sur Les Comptes

7

0

7

35

0

0

0

0

0

35

638ms

passed

Lexique

1

0

1

0

0

0

0

0

0

0

000ms

passed

Références

1

0

1

0

0

0

0

0

0

0

000ms

passed

Total

20

0

20

86

0

0

0

0

0

86

02s 092ms

3. Liste Des Comptes

Les applications mobile et web s’adressent au service pour récupérer la liste des comptes d’un client.
Notons que les contrôles de sécurité ont déjà été effectués en amont à la connexion du client dans son espace sécurisé.

3.1. Contexte

3.2. Les clients du CEL

Prenons ici l’exemple pour un client du CEL.
Il s’est inscrit au CEL, nous avons donc accès à ses informations d’identification.

Nous prendrons le parti de référencer les clients par leur prénom, qui commencera par un C comme client…​

Etant donné

nos clients (255ms)

Identifiant Nom de famille Prénom E-mail

3c128dc9-8166-4b30-b821-59a02708f3cd

LeClient

Christophe

christophe.leclient@un-fournisseur.com

be63d4ac-f06e-4fef-a0e9-2248687a0724

LaCliente

Caroline

caroline.lacliente@une-societe.com

3.3. Un client sans compte

Etant donné que

CEL n’a créé aucun compte (000ms)

Lorsque

Christophe requiert la liste de ses comptes (108ms)

Alors

la liste de comptes retournée doit être (007ms)

{

"customerId": "3c128dc9-8166-4b30-b821-59a02708f3cd",
"accounts": []

}

3.4. Un seul compte

Etant donné que

CEL a créé le compte (157ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

18/01/2025 à 12:00:00

Lorsque

Christophe requiert la liste de ses comptes (006ms)

Alors

la liste de comptes retournée doit être (000ms)

{

"customerId": "3c128dc9-8166-4b30-b821-59a02708f3cd",
"accounts": [
{
"iban": "FR97 1234 5978 0100 0000 0000 134",
"label": "Compte courant"
}
]

}

3.5. Un compte de chaque type

Etant donné que

CEL a créé les comptes (022ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

Perso

18/01/2025 à 12:00:00

FR53 1234 5978 0200 0000 0000 135

Christophe

Tirelire

18/01/2025 à 12:00:00

Lorsque

Christophe requiert la liste de ses comptes (005ms)

Alors

la liste de comptes retournée doit être (000ms)

{

"customerId": "3c128dc9-8166-4b30-b821-59a02708f3cd",
"accounts": [
{
"iban": "FR97 1234 5978 0100 0000 0000 134",
"label": "Perso"
},
{
"iban": "FR53 1234 5978 0200 0000 0000 135",
"label": "Tirelire"
}
]

}

3.6. Plusieurs clients, chacun un compte

Etant donné que

CEL a créé le compte (021ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

18/01/2025 à 12:00:00

FR38 1234 5978 0100 0000 0000 226

Caroline

18/01/2025 à 12:00:00

Lorsque

Caroline requiert la liste de ses comptes (004ms)

Alors

la liste de comptes retournée doit être (000ms)

{

"customerId": "be63d4ac-f06e-4fef-a0e9-2248687a0724",
"accounts": [
{
"iban": "FR38 1234 5978 0100 0000 0000 226",
"label": "Compte courant"
}
]

}

4. Solde Des Comptes

Les applications mobile et web s’adressent au service pour récupérer le solde du compte d’un client.
Notons que les contrôles de sécurité ont déjà été effectués en amont à la connexion du client dans son espace sécurisé.

4.1. Contexte

4.2. Les clients du CEL

Prenons ici l’exemple pour un client du CEL.
Il s’est identifié auprès du CEL, nous avons donc accès à ses informations d’identification.

Nous prendrons le parti de référencer les clients par leur prénom, qui commencera par un C comme client…​

Etant donné

nos clients (036ms)

Identifiant Nom de famille Prénom E-mail

3c128dc9-8166-4b30-b821-59a02708f3cd

LeClient

Christophe

christophe.leclient@un-fournisseur.com

be63d4ac-f06e-4fef-a0e9-2248687a0724

LaCliente

Caroline

caroline.lacliente@une-societe.com

4.3. Solde initial

Etant donné que

CEL a créé le compte (009ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

18/01/2025 à 12:00:00

Et qu'

aucun mouvement n’est constaté (000ms)

Lorsque

Christophe requiert le solde du compte FR97 1234 5978 0100 0000 0000 134 (120ms)

Alors

le solde retourné doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"amount": "0,00 EUR",
"timestamp": "2025-01-18T12:00:00Z"

}

4.4. Crédit de 100,00 EUR

Etant donné que

CEL a créé le compte (010ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

18/01/2025 à 12:00:00

Et que

les mouvements suivants ont été constatés (129ms)

Instant IBAN Montant

18/01/2025 à 12:10:00

FR97 1234 5978 0100 0000 0000 134

100,00 EUR

Lorsque

Christophe requiert le solde du compte FR97 1234 5978 0100 0000 0000 134 (008ms)

Alors

le solde retourné doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"amount": "100,00 EUR",
"timestamp": "2025-01-18T12:10:00Z"

}

4.5. Crédit de 100,00 USD

Un mouvement peut s’appliquer sur une devise différente de celle du compte.
Dans ce cas, une conversion peut s’appliquer.

Ici, nous avons choisi d’appliquer une conversion USD/EUR égale à 0.8.

Etant donné que

CEL a créé le compte (014ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

18/01/2025 à 12:00:00

Et que

les mouvements suivants ont été constatés (015ms)

Instant IBAN Montant

18/01/2025 à 12:10:00

FR97 1234 5978 0100 0000 0000 134

100,00 USD

Lorsque

Christophe requiert le solde du compte FR97 1234 5978 0100 0000 0000 134 (006ms)

Alors

le solde retourné doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"amount": "80,00 EUR",
"timestamp": "2025-01-18T12:10:00Z"

}

4.6. Crédit de 100,00 EUR puis débit de 50,00 EUR

Etant donné que

CEL a créé le compte (009ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

18/01/2025 à 12:00:00

Et que

les mouvements suivants ont été constatés (025ms)

Instant IBAN Montant

18/01/2025 à 12:10:00

FR97 1234 5978 0100 0000 0000 134

100,00 EUR

18/01/2025 à 12:50:00

FR97 1234 5978 0100 0000 0000 134

-50,00 EUR

Lorsque

Christophe requiert le solde du compte FR97 1234 5978 0100 0000 0000 134 (004ms)

Alors

le solde retourné doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"amount": "50,00 EUR",
"timestamp": "2025-01-18T12:50:00Z"

}

4.7. Débit de 100,00 EUR

Etant donné que

CEL a créé le compte (009ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

18/01/2025 à 12:00:00

Et que

les mouvements suivants ont été constatés (003ms)

Instant IBAN Montant

18/01/2025 à 12:10:00

FR97 1234 5978 0100 0000 0000 134

-100,00 EUR

Lorsque

Christophe requiert le solde du compte FR97 1234 5978 0100 0000 0000 134 (004ms)

Alors

le solde retourné doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"amount": "0,00 EUR",
"timestamp": "2025-01-18T12:00:00Z"

}

4.8. Crédit de 100,00 EUR sur plusieurs comptes

Etant donné que

CEL a créé les comptes (018ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

Perso

18/01/2025 à 12:00:00

FR53 1234 5978 0200 0000 0000 135

Christophe

Tirelire

18/01/2025 à 12:00:00

Et que

les mouvements suivants ont été constatés (026ms)

Instant IBAN Montant

18/01/2025 à 12:10:00

FR97 1234 5978 0100 0000 0000 134

100,00 EUR

18/01/2025 à 12:30:00

FR53 1234 5978 0200 0000 0000 135

100,00 EUR

Lorsque

Christophe requiert le solde du compte FR97 1234 5978 0100 0000 0000 134 (005ms)

Alors

le solde retourné doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"amount": "100,00 EUR",
"timestamp": "2025-01-18T12:10:00Z"

}

4.9. Crédit de 100,00 EUR sur les comptes de différents clients

Etant donné que

CEL a créé les comptes (020ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

Perso

18/01/2025 à 12:00:00

FR38 1234 5978 0100 0000 0000 226

Caroline

18/01/2025 à 12:00:00

Et que

les mouvements suivants ont été constatés (023ms)

Instant IBAN Montant

18/01/2025 à 12:10:00

FR97 1234 5978 0100 0000 0000 134

100,00 EUR

18/01/2025 à 12:30:00

FR38 1234 5978 0100 0000 0000 226

100,00 EUR

Lorsque

Christophe requiert le solde du compte FR97 1234 5978 0100 0000 0000 134 (004ms)

Alors

le solde retourné doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"amount": "100,00 EUR",
"timestamp": "2025-01-18T12:10:00Z"

}

5. Mouvements Sur Les Comptes

Les applications mobile et web s’adressent au service pour récupérer le solde du compte d’un client.
Notons que les contrôles de sécurité ont déjà été effectués en amont à la connexion du client dans son espace sécurisé.

5.1. Contexte

5.2. Les clients du CEL

Prenons ici l’exemple pour un client du CEL.
Il s’est identifié auprès du CEL, nous avons donc accès à ses informations d’identification.

Nous prendrons le parti de référencer les clients par leur prénom, qui commencera par un C comme client…​

Etant donné

nos clients (035ms)

Identifiant Nom de famille Prénom E-mail

3c128dc9-8166-4b30-b821-59a02708f3cd

LeClient

Christophe

christophe.leclient@un-fournisseur.com

be63d4ac-f06e-4fef-a0e9-2248687a0724

LaCliente

Caroline

caroline.lacliente@une-societe.com

5.3. Aucun mouvement

Etant donné que

CEL a créé le compte (009ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

18/01/2025 à 12:00:00

Et qu'

aucun mouvement n’est constaté (000ms)

Lorsque

Christophe requiert la liste de mouvements sur le compte FR97 1234 5978 0100 0000 0000 134 (010ms)

Alors

la liste de mouvements retournée doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"movements": []

}

5.4. Crédit de 100,00 EUR

Etant donné que

CEL a créé le compte (016ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

18/01/2025 à 12:00:00

Et que

les mouvements suivants ont été constatés (017ms)

Instant IBAN Montant

18/01/2025 à 12:10:00

FR97 1234 5978 0100 0000 0000 134

100,00 EUR

Lorsque

Christophe requiert la liste de mouvements sur le compte FR97 1234 5978 0100 0000 0000 134 (007ms)

Alors

la liste de mouvements retournée doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"movements": [
{
"amount": "100,00 EUR",
"timestamp": "2025-01-18T12:10:00Z"
}
]

}

5.5. Crédit de 100,00 USD

Etant donné que

CEL a créé le compte (009ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

18/01/2025 à 12:00:00

Et que

les mouvements suivants ont été constatés (011ms)

Instant IBAN Montant

18/01/2025 à 12:10:00

FR97 1234 5978 0100 0000 0000 134

100,00 USD

Lorsque

Christophe requiert la liste de mouvements sur le compte FR97 1234 5978 0100 0000 0000 134 (004ms)

Alors

la liste de mouvements retournée doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"movements": [
{
"amount": "100,00 USD",
"timestamp": "2025-01-18T12:10:00Z"
}
]

}

5.6. Crédit de 100,00 EUR puis débit de 50,00 EUR

Etant donné que

CEL a créé le compte (016ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

18/01/2025 à 12:00:00

Et que

les mouvements suivants ont été constatés (043ms)

Instant IBAN Montant

18/01/2025 à 12:10:00

FR97 1234 5978 0100 0000 0000 134

100,00 EUR

18/01/2025 à 12:30:00

FR97 1234 5978 0100 0000 0000 134

-50,00 EUR

Lorsque

Christophe requiert la liste de mouvements sur le compte FR97 1234 5978 0100 0000 0000 134 (005ms)

Alors

la liste de mouvements retournée doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"movements": [
{
"amount": "-50,00 EUR",
"timestamp": "2025-01-18T12:30:00Z"
},
{
"amount": "100,00 EUR",
"timestamp": "2025-01-18T12:10:00Z"
}
]

}

5.7. Débit de 100,00 EUR

Etant donné que

CEL a créé le compte (011ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

18/01/2025 à 12:00:00

Et que

les mouvements suivants ont été constatés (003ms)

Instant IBAN Montant

18/01/2025 à 12:10:00

FR97 1234 5978 0100 0000 0000 134

-100,00 EUR

Lorsque

Christophe requiert la liste de mouvements sur le compte FR97 1234 5978 0100 0000 0000 134 (003ms)

Alors

la liste de mouvements retournée doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"movements": []

}

5.8. Crédit de 100,00 EUR sur plusieurs comptes

Etant donné que

CEL a créé les comptes (020ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

Perso

18/01/2025 à 12:00:00

FR53 1234 5978 0200 0000 0000 135

Christophe

Tirelire

18/01/2025 à 12:00:00

Et que

les mouvements suivants ont été constatés (016ms)

Instant IBAN Montant

18/01/2025 à 12:10:00

FR97 1234 5978 0100 0000 0000 134

100,00 EUR

18/01/2025 à 12:30:00

FR53 1234 5978 0200 0000 0000 135

100,00 EUR

Lorsque

Christophe requiert la liste de mouvements sur le compte FR97 1234 5978 0100 0000 0000 134 (003ms)

Alors

la liste de mouvements retournée doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"movements": [
{
"amount": "100,00 EUR",
"timestamp": "2025-01-18T12:10:00Z"
}
]

}

5.9. Crédit de 100,00 EUR sur les comptes de différents clients

Etant donné que

CEL a créé les comptes (023ms)

IBAN Client Libellé Créé le

FR97 1234 5978 0100 0000 0000 134

Christophe

Perso

18/01/2025 à 12:00:00

FR38 1234 5978 0100 0000 0000 226

Caroline

18/01/2025 à 12:00:00

Et que

les mouvements suivants ont été constatés (035ms)

Instant IBAN Montant

18/01/2025 à 12:10:00

FR97 1234 5978 0100 0000 0000 134

100,00 EUR

18/01/2025 à 12:30:00

FR38 1234 5978 0100 0000 0000 226

100,00 EUR

Lorsque

Christophe requiert la liste de mouvements sur le compte FR97 1234 5978 0100 0000 0000 134 (003ms)

Alors

la liste de mouvements retournée doit être (000ms)

{

"iban": "FR97 1234 5978 0100 0000 0000 134",
"movements": [
{
"amount": "100,00 EUR",
"timestamp": "2025-01-18T12:10:00Z"
}
]

}

Lexique

Client (anglais: Customer)

Personne physique ou morale inscrite au CEL.

Un client est identifié par :

  • Un identifiant unique, généré par la banque

  • Son nom de famille

  • Son prénom

  • Son email

Compte (anglais: Account)

Un compte en banque, soit courant, soit d’épargne, géré par le CEL.

Un compte CEL possède donc :

  • Son IBAN.

  • L’identifiant du client qui détient ce compte.

  • Un libellé donné par le client à sa création, par défaut "Compte courant" ou "Compte d’épargne" selon son type.

  • Sa date de création.

    Par défaut, les libellés des comptes seront

    • "Compte courant" pour un compte courant.

    • "Compte d’épargne" pour un compte d’épargne.

    Un IBAN CEL sera toujours de la forme FR[II] 1234 5[DDD] [TT][CC CCCC CCCC C][NN] où :

  • FR est le code pays de la banque, donc la France

  • II est un checksum à deux chiffres sur l’entièreté de l'IBAN

  • 1234 5 identifie la banque CEL

  • DDD correspond à la devise du compte, son code est décrit par l'ISO 4217

  • TT correspond au type de compte, courant ou d’épargne

  • CC CCCC CCCC C est le numéro de ce compte

  • NN est un checksum à deux chiffres dit national

    Les comptes du CEL sont de deux types :

  • Les comptes courants dont le code est 01.

  • Les comptes d’épargne, dont le code est 02.

    Par exemple

    • FR97 1234 5978 0100 0000 0000 134 identifie un compte courant

    • FR53 1234 5978 0200 0000 0000 135 identifie un compte d’épargne

Mouvement (anglais: Movement)

Opération de débit ou de crédit sur le solde d’un compte.
Ces opérations sont générées par des paiements ou des virements bancaires.

Un mouvement bancaire contient :

  • l'IBAN du compte observé

  • L’instant de l’opération

  • Le montant de l’opération

Solde (anglais: Balance)

Montant des avoirs d’un compte.
Cette valeur existe à un instant donné et s’exprime comme un montant dans la devise du compte.

Les soldes ont leur propre modèle qui se compose ainsi :

  • L’instant de calcul

  • L'IBAN du compte référent

  • Son montant, exprimé dans la devise du compte associé

    Le solde initial d’un compte est toujours de zéro.
    Aucun découvert n’est autorisé, par conséquent tous les soldes doivent avoir un montant positif.

Références