Informations principales
Sur 6 mois, notre équipe a développé une application web pour automatiser la gestion des factures d'une entreprise allemande de services bancaires numérisés, utilisant Java, Tomcat/JBoss, AngularJS, et Maven. Le système, composé de modules asynchrones, gère les transactions comme des événements, calcule les frais selon des contrats numériques, et permet aux administrateurs de générer, éditer, et envoyer des factures via un tableau de bord intuitif, améliorant ainsi l'efficacité du processus de facturation.
- Résumé
- Publié
- Industrie
- Services Financiers et Bancaires
Technologies
- Java
- Tomcat/JBoss
- AngularJS
- Maven
- Tomcat
- Jersey
- Spring MVC
- JAX-RS
Le défi
L'entreprise disposait d'une plateforme que les clients pouvaient utiliser pour créer et gérer des comptes IBAN à plusieurs monnaies. Les clients étaient facturés à la transaction, et la hauteur des frais dépendaient d'un certain nombre de paramètres. Le calcul de ces frais puis leur facturation étaient une tâche longue et laborieuse que l'entreprise souhaitait automatiser.
Le développement d'un système d'automatisation de la facturation nécessitait plus de programmeurs que ceux dont disposait l'entreprise en interne. Le client a donc contacté plusieurs développeurs, dont Elinext. Nous avons répondu rapidement, nous disposions des compétences adéquates et nous pouvions nous atteler à la tâche sans délai. Nous avons donc été choisis pour ce projet.
La solution
Le client nous a présenté une idée générale pour ce système d'automatisation de la facturation. Il nous revenait de concevoir le système, de définir les exigences et de préciser l'étendue de la tâche. Nous avons écouté la description que le client nous a faite du produit envisagé et avons remonté nos manches.
Avec des projets comme celui-ci, aucune méthodologie ne fonctionne mieux que Scrum, que nous utilisons depuis longtemps. Deux fois par semaine, nous nous connections en appel vidéo avec le client pour nous assurer que nous étions sur la bonne voie. Le client a pris une part de plus en plus active dans la définition des détails du produit au fur et à mesure que l'idée évoluait.
En deux semaines, nous savions exactement ce que nous devions développer.
Nous avons conçu le système sous forme de modules asynchrones. Afin d'aider le client à économiser au début, nous avons effectué la compilation croisée du code et l'avons placé dans le DynamoDB Local d'Amazon. Ainsi, il ne s'exécute que lorsque quelqu'un utilise le système.
Nous avons utilisé plusieurs méthodes pour nous assurer que le système fonctionne selon nos attentes. Celle-ci comprenaient l'intégration continuelle avec Jenkins et les phases de tests, automatisées ainsi que manuelles.
En termes de structure fonctionnelle du système, les trois éléments principaux sont les événements, les contrats et le tableau de bord.
Événements
Le système du client enregistre toutes les transactions sous forme d'événements. Un client a reçu des fonds ? Un événement est enregistré. Il a envoyé des fonds ? Un autre événement est enregistré. Pour chaque événement, le système facture des frais au client. Tous les événements comportent quatre paramètres: Identification, horodatage, quantité et type.
Nous avons dû automatiser le regroupement d'événements, le calcul des frais sur la base de leurs paramètres et la création des factures correspondantes. Pour ce faire, nous avons créé les contrats.
Contrats
Les contrats fonctionnent comme des accords numériques au sein du système, comprenant des règles commerciales uniques pour chaque client. Ces règles déterminent comment le système calcule les frais de chaque événement sur la base du type d'événement, le moment et la quantité d'argent traité.
Les administrateurs du système peuvent utiliser les contrats pour créer des factures sans collecter les informations et calculer les frais manuellement. Il leur suffit de sélectionner un client et une période de facturation. Le système génère une facture en associant le contrat et les événements du client.
Tableau de bord
Les administrateurs peuvent créer, éditer, consulter, publier, envoyer par email et approuver les factures depuis le tableau de bord.
Une fois qu'un administrateur a publié une facture, le client peut l'approuver et le statut de cette facture devient «Approuvée». L'administrateur peut ensuite approuver définitivement la facture et l'envoyer au client par email. Suite à cela, le système extrait automatiquement les fonds du compte client.
Le statut de la facture change à chaque étape de son cycle de vie (approuvée, due, payée, etc.).
Les résultats
Le développement du système de facturation automatique nous a pris trois mois avec très peu de spécifications initiales de la part du client. Pendant les trois mois qui ont suivi, nous avons amélioré le logiciel en nous basant sur les retours des utilisateurs.
Le client prévoit de permettre aux utilisateurs de facturer leurs clients au sein de la plateforme.
+48 22 104 20 98