Global Invoice Factoring Software for a British Company

Global Invoice Factoring Software for a British Company

Information
Region:
The United Kingdom and worldwide
Industry:
Financial Services and Banking
Type:
Web and mobile
Engagement model:
Time and materials
Duration:
One year and ongoing
Staff:
A lead developer, three full-stack developers, a senior DevOps specialist and a business analyst
ID:
591
Technologies used
Java
Spring
Flexmonster
SyncFusion
Conpend
Angular
MS SQL

Client

A startup from the UK used Elinext to develop mobile factoring and web software for helping goods suppliers and buyers avoid delivery gaps.

Challenge

All too often, suppliers do not get paid in advance or even shortly after they have delivered goods to their buyers. In fact, the payment is usually delayed for up to three months due to all the paperwork. And that disrupts the supplier’s cash flow.

Many banks offer services to solve the problem. What they do is purchase the buyer’s debt by paying the supplier for their goods. But whenever banks are involved, there is a lot of bureaucracy and delays, so one British startup conceived of an alternative solution.

The founders’ idea was to create a factoring system that would mimic the services provided by banks in a simplified, digitized manner. To bring the idea to life, the startup partnered with a web developer in 2020, and worked with them for almost a year. But that developer failed to meet the client's request, and the company sought to replace them.

In the end, the startup came across Elinext. And we responded swiftly, providing our programmers’ CVs in the most proactive manner, which made them choose us.

Process

The startup’s CTO disfavored any formal development structures, be it Scrum meetings or other Agile practices we were used to. But that wasn’t a problem for our team — we adapted to their approach and pace, and the client confidently let us do our job without constant supervision.

We tracked the progress in Microsoft Azure using tickets and stories, calling with the client daily and chatting on Slack.

Initially, we had one developer and BA; afterward, our devs replaced the remaining members of their original team and DevOps joined soon after.

The work mostly went off without a hitch, and the only challenge we encountered was related to the illiteracy of some suppliers. In some countries, known as the global production center, people struggled to fill invoice templates. What we did was simplify the UI/UX as much as possible, and everyone could then use the system.

Product

We built the application using microservice-based architecture. And the app succeeds as a simpler procedure of cutting delays in payment through a third party than that offered by banks. Here’s how it works.

A supplier uploads an invoice in the system and gets paid by our client, who will then invoice the supplier’s buyer. As a result, the supplier gets cash shortly after delivering the goods, while the buyer can still take time to pay for them — but instead of paying the supplier, they will pay our client.

Let’s consider the key modules of the application.

Shipment Wizard

The main module within which the two parties work is the Shipment Wizard. And here’s how it works.

It starts when the supplier has agreed with the buyer that the payment should be channeled through our client’s system. After that, the supplier creates a respective deal in the system, enclosing the invoice, which will further be processed by our client.

Once our client has reviewed the details and approved the deal, the buyer will see it listed for approval on their dashboard. And it’s their turn to double-check the deal. If everything is fine, they can push the “Approve” button and, if necessary, upload an approval document with an e-signature. Adding a signed document of the type IPU/IPA during the deal creation is mandatory, while optional documents don’t have to be signed.

Overall, the deal will go through several status changes over its life cycle until it’s “Paid Out” and, finally, “Complete.” These two statuses will be assigned manually by our client after the other two parties have approved the completion.

Automated Document Text Recognition

We simplified entering invoice data into the system by using the text recognition AI tool Conpend. Once you’ve uploaded an invoice in pdf, the tool will pull the text from the file and place it in respective fields. And if the algorithm fails to recognize any text and match it to appropriate fields, you’ll still be able to enter the missing pieces manually.

Back Office

The Back Office is our client’s exclusive remit within the system. After a deal has been submitted, the operator based in the supplier’s country will see it listed in Deals Awaiting Approval. From there, they can check the deal details by reviewing the original invoice in pdf and the fields containing the information from that file.

The operator will then fix any mistakes, check back with the two parties and, after getting their written approval, approve the deal digitally in the system.

Results

It took us a bit less than a year to build this microservice-based application. And this product is now used by some of the world’s largest online fashion retailers and other businesses reselling globally. As of today, about ten people are working on the project. And we are working on another part of this client’s ecosystem: an environmental, social and governance (ESG) platform.

1-118
Do you want the same project?
Got A Project Idea? Lets Discuss It With Us
Contact Us

    • United States+1
    • United Kingdom+44
    • Afghanistan (‫افغانستان‬‎)+93
    • Albania (Shqipëri)+355
    • Algeria (‫الجزائر‬‎)+213
    • American Samoa+1
    • Andorra+376
    • Angola+244
    • Anguilla+1
    • Antigua and Barbuda+1
    • Argentina+54
    • Armenia (Հայաստան)+374
    • Aruba+297
    • Ascension Island+247
    • Australia+61
    • Austria (Österreich)+43
    • Azerbaijan (Azərbaycan)+994
    • Bahamas+1
    • Bahrain (‫البحرين‬‎)+973
    • Bangladesh (বাংলাদেশ)+880
    • Barbados+1
    • Belarus (Беларусь)+375
    • Belgium (België)+32
    • Belize+501
    • Benin (Bénin)+229
    • Bermuda+1
    • Bhutan (འབྲུག)+975
    • Bolivia+591
    • Bosnia and Herzegovina (Босна и Херцеговина)+387
    • Botswana+267
    • Brazil (Brasil)+55
    • British Indian Ocean Territory+246
    • British Virgin Islands+1
    • Brunei+673
    • Bulgaria (България)+359
    • Burkina Faso+226
    • Burundi (Uburundi)+257
    • Cambodia (កម្ពុជា)+855
    • Cameroon (Cameroun)+237
    • Canada+1
    • Cape Verde (Kabu Verdi)+238
    • Caribbean Netherlands+599
    • Cayman Islands+1
    • Central African Republic (République centrafricaine)+236
    • Chad (Tchad)+235
    • Chile+56
    • China (中国)+86
    • Christmas Island+61
    • Cocos (Keeling) Islands+61
    • Colombia+57
    • Comoros (‫جزر القمر‬‎)+269
    • Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)+243
    • Congo (Republic) (Congo-Brazzaville)+242
    • Cook Islands+682
    • Costa Rica+506
    • Côte d’Ivoire+225
    • Croatia (Hrvatska)+385
    • Cuba+53
    • Curaçao+599
    • Cyprus (Κύπρος)+357
    • Czech Republic (Česká republika)+420
    • Denmark (Danmark)+45
    • Djibouti+253
    • Dominica+1
    • Dominican Republic (República Dominicana)+1
    • Ecuador+593
    • Egypt (‫مصر‬‎)+20
    • El Salvador+503
    • Equatorial Guinea (Guinea Ecuatorial)+240
    • Eritrea+291
    • Estonia (Eesti)+372
    • Eswatini+268
    • Ethiopia+251
    • Falkland Islands (Islas Malvinas)+500
    • Faroe Islands (Føroyar)+298
    • Fiji+679
    • Finland (Suomi)+358
    • France+33
    • French Guiana (Guyane française)+594
    • French Polynesia (Polynésie française)+689
    • Gabon+241
    • Gambia+220
    • Georgia (საქართველო)+995
    • Germany (Deutschland)+49
    • Ghana (Gaana)+233
    • Gibraltar+350
    • Greece (Ελλάδα)+30
    • Greenland (Kalaallit Nunaat)+299
    • Grenada+1
    • Guadeloupe+590
    • Guam+1
    • Guatemala+502
    • Guernsey+44
    • Guinea (Guinée)+224
    • Guinea-Bissau (Guiné Bissau)+245
    • Guyana+592
    • Haiti+509
    • Honduras+504
    • Hong Kong (香港)+852
    • Hungary (Magyarország)+36
    • Iceland (Ísland)+354
    • India (भारत)+91
    • Indonesia+62
    • Iran (‫ایران‬‎)+98
    • Iraq (‫العراق‬‎)+964
    • Ireland+353
    • Isle of Man+44
    • Israel (‫ישראל‬‎)+972
    • Italy (Italia)+39
    • Jamaica+1
    • Japan (日本)+81
    • Jersey+44
    • Jordan (‫الأردن‬‎)+962
    • Kazakhstan (Казахстан)+7
    • Kenya+254
    • Kiribati+686
    • Kosovo+383
    • Kuwait (‫الكويت‬‎)+965
    • Kyrgyzstan (Кыргызстан)+996
    • Laos (ລາວ)+856
    • Latvia (Latvija)+371
    • Lebanon (‫لبنان‬‎)+961
    • Lesotho+266
    • Liberia+231
    • Libya (‫ليبيا‬‎)+218
    • Liechtenstein+423
    • Lithuania (Lietuva)+370
    • Luxembourg+352
    • Macau (澳門)+853
    • Macedonia (FYROM) (Македонија)+389
    • Madagascar (Madagasikara)+261
    • Malawi+265
    • Malaysia+60
    • Maldives+960
    • Mali+223
    • Malta+356
    • Marshall Islands+692
    • Martinique+596
    • Mauritania (‫موريتانيا‬‎)+222
    • Mauritius (Moris)+230
    • Mayotte+262
    • Mexico (México)+52
    • Micronesia+691
    • Moldova (Republica Moldova)+373
    • Monaco+377
    • Mongolia (Монгол)+976
    • Montenegro (Crna Gora)+382
    • Montserrat+1
    • Morocco (‫المغرب‬‎)+212
    • Mozambique (Moçambique)+258
    • Myanmar (Burma) (မြန်မာ)+95
    • Namibia (Namibië)+264
    • Nauru+674
    • Nepal (नेपाल)+977
    • Netherlands (Nederland)+31
    • New Caledonia (Nouvelle-Calédonie)+687
    • New Zealand+64
    • Nicaragua+505
    • Niger (Nijar)+227
    • Nigeria+234
    • Niue+683
    • Norfolk Island+672
    • North Korea (조선 민주주의 인민 공화국)+850
    • Northern Mariana Islands+1
    • Norway (Norge)+47
    • Oman (‫عُمان‬‎)+968
    • Pakistan (‫پاکستان‬‎)+92
    • Palau+680
    • Palestine (‫فلسطين‬‎)+970
    • Panama (Panamá)+507
    • Papua New Guinea+675
    • Paraguay+595
    • Peru (Perú)+51
    • Philippines+63
    • Poland (Polska)+48
    • Portugal+351
    • Puerto Rico+1
    • Qatar (‫قطر‬‎)+974
    • Réunion (La Réunion)+262
    • Romania (România)+40
    • Russia (Россия)+7
    • Rwanda+250
    • Saint Barthélemy+590
    • Saint Helena+290
    • Saint Kitts and Nevis+1
    • Saint Lucia+1
    • Saint Martin (Saint-Martin (partie française))+590
    • Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)+508
    • Saint Vincent and the Grenadines+1
    • Samoa+685
    • San Marino+378
    • São Tomé and Príncipe (São Tomé e Príncipe)+239
    • Saudi Arabia (‫المملكة العربية السعودية‬‎)+966
    • Senegal (Sénégal)+221
    • Serbia (Србија)+381
    • Seychelles+248
    • Sierra Leone+232
    • Singapore+65
    • Sint Maarten+1
    • Slovakia (Slovensko)+421
    • Slovenia (Slovenija)+386
    • Solomon Islands+677
    • Somalia (Soomaaliya)+252
    • South Africa+27
    • South Korea (대한민국)+82
    • South Sudan (‫جنوب السودان‬‎)+211
    • Spain (España)+34
    • Sri Lanka (ශ්‍රී ලංකාව)+94
    • Sudan (‫السودان‬‎)+249
    • Suriname+597
    • Svalbard and Jan Mayen+47
    • Sweden (Sverige)+46
    • Switzerland (Schweiz)+41
    • Syria (‫سوريا‬‎)+963
    • Taiwan (台灣)+886
    • Tajikistan+992
    • Tanzania+255
    • Thailand (ไทย)+66
    • Timor-Leste+670
    • Togo+228
    • Tokelau+690
    • Tonga+676
    • Trinidad and Tobago+1
    • Tunisia (‫تونس‬‎)+216
    • Turkey (Türkiye)+90
    • Turkmenistan+993
    • Turks and Caicos Islands+1
    • Tuvalu+688
    • U.S. Virgin Islands+1
    • Uganda+256
    • Ukraine (Україна)+380
    • United Arab Emirates (‫الإمارات العربية المتحدة‬‎)+971
    • United Kingdom+44
    • United States+1
    • Uruguay+598
    • Uzbekistan (Oʻzbekiston)+998
    • Vanuatu+678
    • Vatican City (Città del Vaticano)+39
    • Venezuela+58
    • Vietnam (Việt Nam)+84
    • Wallis and Futuna (Wallis-et-Futuna)+681
    • Western Sahara (‫الصحراء الغربية‬‎)+212
    • Yemen (‫اليمن‬‎)+967
    • Zambia+260
    • Zimbabwe+263
    • Åland Islands+358

    Insert math as
    Block
    Inline
    Additional settings
    Formula color
    Text color
    #333333
    Type math using LaTeX
    Preview
    {}
    Nothing to preview
    Insert