You are on page 1of 6

1) Case Scenario : Supply chain Fianancing underlying challenge

First, it’s important to recognize that numerous supply-chain finance solutions do exist, and they have arisen
for one primary reason: small and midsize businesses (SMEs), which constitute an average of 70% of the
global supply chain, often suffer from cash-flow problems. Indeed, nearly half of all SMEs experience cash-
flow or late-payment difficulties at some point during the year. Such cash-flow challenges are one of the
main reasons why as many as half of all small businesses fail within five years of their founding, and why
only one-third ever reach their tenth anniversary.

with traditional delayed-payment invoices, a company that sells to a customer often must wait from 30 to
120 days or more to receive payment on the invoice. For cash-strapped businesses, this means that they may
have to wait that same 30 to 120 days to purchase other products to sell and/or inputs to create new, saleable
goods. As a result, the opportunity to generate more revenue can be profoundly constrained, which can place
a stranglehold on the company’s ability to grow—or even to survive.
In this situation, it’s easy to see how attractive supply-chain financing offerings—and especially invoice-
buying—can be beneficial to SMEs. Rather than having to wait for payments on their invoices for the 30 to
120 days or more, the SMEs can have the cash immediately—which allows them to accelerate their sales,
purchase more essential products or services from suppliers, upgrade their infrastructure, or make other
expenditures that will add to their long-term financial strength. In light of these advantages, even a relatively
steep discount of several percent off the invoice may be worthwhile.

Supply Chain Financing network platform: E-Finance Network Product

This network can provide easy, fast, digital and low-cost access to financing to counterparties on
both the Sell Side and the Buy Side of the Supply Chain.
This acts as a platform for Small Medium Enterprises to have easy and fast access to working
capital by digitizing all the flow of documnets and handshakes required to intiate loans request to
disbursement and track till repayment with Fianancial Institution.

Services:
 Buyer/Seller Financing Program
 Access finance at lower than market rates

 Better manage working capital

 Reduce risk by digitally sign invoices or trade documents to prove genuine-ness

Target Market can be especially developing countries like Singapore/India/China and USA (Reverse
factoring ).

What is Reverse Factoring :

Unlike traditional factoring, where a supplier wants to finance its receivables, reverse factoring is a financing
solution initiated by the ordering party in order to help its suppliers to finance its receivables more easily and
at a lower interest rate than what would normally be offered.

I visualized it as a web portal where user can upload invoice files , system will create finance
request which users of bank can act upon, so they can decide to finance an invoice or reject ,
updating the status on the webportal .
Conceptual Database Design:

Enterprise_Rules:
we need user and enterprises in our system to start a transaction, so modeled both as base entity
prinicpal as both required some common attributes.
We are keeping some pre defined usernames and enterprise names as to provide logins for user of
enterprises.

1) An enterprise and user is a logically principal in our design.(principals)


2)Principal has type to indicate whether its a user or enterprise and what type of enterprise (bank or
SME)
2) An enterprise can have multiple users associated with it .(Principal_relationships)
3)A user can have multiple privileges to perform a set of actions.(user_privileges)
4) Documents can be of type invoice or Fiannce Request .Also invoice is considered as parent type
for Finance request.(related_documents)
5)An enetrprise can have limit setup for it for a bank.(enterprise_limits).
6) Additional details can be stored for invoice or FinanceRequest (invoices or finance_requests
table).
7) A document associates to a entrprise by the realtion of originator, recipient and
interested_counterparty. (documents has relations to principals table for enterprises association)
3) I have included a seperate create_schema.sqwl file to describe creation of tables.

4)
Index sqls -->

CREATE UNIQUE INDEX uq_doc_docnumber ON FinanceNetwork.documents (doc_number


ASC, ASC);
CREATE INDEX fk_doc_originatoruserid ON FinanceNetwork.documents (originator_user_id
ASC);
CREATE INDEX fk_doc_recipientid ON FinanceNetwork.documents (recipient_id ASC);

So documents table has mainly these 3 indexes so as to quickly search through documents through
doc_number which is actually customer identifiable nmber for an invoice or Finance Request and
also it should be unique as no duplicate invoice/FR can be there.

The other two are helpful for reporting purposes so as to email them the list of documents for a time
period they have uploaded to sytem so as to efficiently track the progress.Then we need to always
search and group by originator or recipient of the document.

CREATE INDEX fk_limits_fientid ON FinanceNetwork.enterprise_limits (fi_entid ASC);

This index helps to get limits displayed for enterprises on the UI easily.

Task 2.5: SQL Query writing


o Selection of particular table columns

This can be used for listing out the enterprises present in our system to tell how many
corporates currently we work with.

select name,type,subtype, created_on from principals where subtype='enterprise' and rownum <= 5;

Inner Join of at least 2 tables

Suppose we want to see user of an enterprise.

select u.id, u.handle as 'user_handle', u.name, us.phone as 'user_phone', us.email as


'user_email', e.handle as 'enterprise_handle', e.name as 'Ent Name', u.version, u.enabled
from principals u, users us, principal_relationships pr, principals e where u.id=us.userid
and u.id=pr.leftid and pr.rightid=e.id and e.handle='suplera';
o Outer Join of at least 2 tables

This is to list all the enterprises which has some limit via a bank or not.

select enterprise.entname , nvl(bank.name,"NA"), nvl(total_limit,0) from enterprises


enterprise left outer join enterprise_limits on
enterprise.entid=enterprise_limits.enterprise_id left outer join principals bank on
enterprise_limits.fi_entid=bank.id and bank.subtype='bank'

o Use of count and/or another similar mathematical expression


Our business model is transaction based.so we need count of FR requested in a month or
given period to bill the bank .

select bank.name,count(*) as "No of FRs", sum(d.amount) as "Total_Amount" from


documents d inner join principals bank on bank.id=d.recipient_id where d.doc_type='frq'
and bank.name like 'Bank%' group by recipient_id;

o Use of a sorting/ordering facility

This will help on when web interface will provide filter to user to sort based on seller name
or by date .

select p.name as Enterprise, firstname as User,doc_number,amount,issue_date from


documents d join principals p on d.originator_id=p.id join users on
d.originator_user_id=users.userid order by issue_date,amount
o A condition using “<”, “>”, LIKE etc.

To check date wise repayment in given period

select sum(fr.liquidated_amount) Repayment,liquidated_on as Date from documents d


inner join finance_requests fr on d.id=fr.frid where doc_type ='frq' and fr.funded_on >=
'2019-06-01' and liquidated_on between '2019-06-01' and '2019-06-30' group by
liquidated_on ;

o A condition using IN, NOT NULL, or similar.

Suppose to featch all user names smith or pankaj..

select userid,firstname,lastname, designation,email from users where firstname in


('steve','pankaj')
o A sub-query

Suppose we need to fetch list of invoices against which FR has been requested to bank.

select doc_number ,amount,issue_date,state,created_on from documents where id in


(select parent_doc_id from related_documents) and state='created';

You might also like