0% found this document useful (0 votes)
3 views22 pages

Csce Practical Training Report

Uploaded by

girivinayak0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views22 pages

Csce Practical Training Report

Uploaded by

girivinayak0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

lOMoARcPSD|28157836

CSCE Practical Training Report

Practical Training (Kalinga Institute of Industrial


Technology)
AI ENABLED FINTECH B2B
CLOUD APPLICATION

INDUSTRAIL TRAINING REPORT

Avantika Giri

HIGHRADIUS

DURATION: 22/05/2023 to 30/06/2023

SCHOOL OF COMPUTER ENGINEERING

KALINGA INSTITUTE OF INDUSTRIAL TECHNOLOGY

DEEMED TO BE

UNIVERSITY

BHUBANESWAR, ODISHA

2020-21
CERTIFICATE
INTERNSHIP DETAILS
View Correspondence Add Button Edit Button Display Grid

NAME - ANKIT KUMAR

SEMESTER- 7th

BRANCH - INFORMATION TECHNOLOGY INTERNSHIP

ORGANIZATION - HIGHRADIUS

PERIOD OF INTERNSHIP - 07/01/2021 to 17/03/2021

NUMBER OF DAYS ABSENT - 0


ABSTRACT

In this modern world data plays a very crucial role specially the transaction

data to keep a track of fraud activities and also to keep a track on the

costumers and their paying patterns to determine when the customers are

going to pay the bills. This project helps the vendors that when the other

party will clear the bills with the help of their past payment patterns. .in

simple words this app helps to predict the payment date of the customer

In Business to Business sector, order management is very important as every

deal is done by credit system so it is important to determine when the

payment will be cleared by the opposite party.

This Project determine the date of clearing payment as well as classify the

delay of the payments into three categories the are:

1) On time (The payment is done on the expected time)

2) Less than Zero (The payment is done before the expected time)

3) Greater than Zero (The payment is done after the expected date)
PROJECT ANALYSIS/ PROJECT IMPLEMENTATION
1. Project Block Diagram

Explanation:

* On visiting the website, the user sees the grid panel where all the transactions
made by him will be shown where he can select the bill for which he want to find
the payment date then he can click the predict button to display the prediction date.

* We can add new transaction by using the add button which triggers a pop-up form
where the details of the transactions can be given and then populates the new
transaction in the display grid.

* If we feel like any data field is wrong we can correct it that with the edit
functionality.

* View Correspondence button will give the entire information about the customer
and the transaction details and also gives the flexibility to generate the pdf of the
bill.
RESULTS & DISCUSSIONS

MACHINE LEARNING
WEEK - 1

PREPROCESSING AND DATA CLEANING


● Data Filtering , Duplicate/Constant columns removal , Identification of
target column
● Date time conversion
● Null Imputation
SPLITING
● Train-Test-Val
■ Split in 60% train set and 40% test set
EDA(Exploratory Data Analysis)
● Measure of Central Tendency (mean , median , mode)
● Outlier Detection and Treatment
Data Visualization
● Histograms
● Box Plots
● Bar Charts
● Scatter Plots
● Pie Charts
WEEK - 2

Feature Engineering
● Numeric Column
■ Binning: Create bins of continuous variables.
■ Binarization : Replace values with 0 or 1 .
■ Log Transformation : Do log transform of the data.
● CATEGIRICAL COLUMN
■ Label encoding : Map each category/ unique value to a numeric value
■ One hot encoding : we map each category to a vector that contains 1 and 0
denoting the presence of the feature or not.
■ Target encoding : Here, features are replaced with a blend of the
posterior probability of the target for the given particular categorical
value

Feature Selection
● Filter Method
The selection of features is independent of any machine learning
algorithm.
■ Constant & Quasi-Constant features
■ Covariance Matrix
● Embedded Method
■ Lasso Regression : It is used over regression methods for a more accurate
prediction. This model uses shrinkage. Shrinkage is where data values are
shrunk towards a central point as the mean.
■ Ridge Regression : Ridge regression is a model tuning method that is used
to analyse any data that suffers from multi co-linearity.
■ Tree based Algos : Tree-based algorithms are well-established algorithms
that not only offer good predictive performance but can also provide us
with what we call feature importance as a way to select features.
● Wrapper Method
■ Forward feature selection : This is an iterative method in which we start by
we start by evaluating all features individually,and then select the one that
results in the best performance.
■ Backward Elimination : we start with all the features in the dataset, and
then we evaluate the performance of the algorithm.After that, at each
iteration, backward feature elimination removes one feature at a time,
which produces the best performing algorithm using an evaluation metric.
■ Exhaustive Feature Selection : this method searches across all possible
feature combinations. Its aim is to find the best performing feature subset.

WEEK - 3

Model selection
For this I have used linear model
● Linear Regression Model :
linear regression is a linear approach for modelling the relationship between a
scalar response and one or more explanatory variables (also known as
dependent and independent variables). The case of one explanatory variable is
called simple linear regression; for more than one, the process is called
multiple linear regression.
SQL &
JAVA
WEEK - 4

Below is the sample CSV file screenshot.


For the backend data part we used sql based database.

For the bridge between the data and the front end we have used JDBC(Java Database
Connectivity) and servlets.
All the Columns of the CSV file need to be loaded into the DB.

Business_Code

Customer_Number

Name_Customer

Clear_Date

Business_Year

Doc_Id

Posting_Date

Document_Create_Date

Posting_ID

Due_In_Date

Document_Type

Area_Business

Invoice_ID

Invoice_Currency

Baseline_Create_Date

Total_Open_Amount

Customer_Payment_Terms

Is_Open
WEEK - 5

Servlets
● Servlets are the Java programs that run on the Java-enabled web server or application
server. They are used to handle the request obtained from the webserver, process the
request, produce the response, then send a response back to the webserver.
● Servlets work on the server-side.
● Servlets are capable of handling complex requests obtained from the web server.
JDBC
● Java Database Connectivity is an application programming interface for the
programming language Java, which defines how a client may access a database. It is
a Java-based data access technology used for Java database connectivity. It is part of
the Java Standard Edition platform, from Oracle Corporation

Implementing servlets for Infinite scrolling , Add , Edit.

WEEK - 6

Implementing servlets for View correspondance and Search functionallity

These servlets contains all the basic code for manipulation , retrival and searching of the
data and to provide the api(s).
REACT JS
WEEK - 7

UI Representation of the Data:


The UI consists of a single screen :
Receivables Dashboard Page

It consists of 2 sections:
● Header
● Grid Panel Section

HeaderSection

The header consists of :


Account name logo <ABC Products>on the left,
The HighRadius Logo in the center.
GridPanelSection

The Grid panel section will be divided into 4 portions:


The header of the grid will have a Predict button on the top left corner followedby
a View Correspondence Button, an Add Button, an Edit Button, a DeleteButton
and a Search Bar.
The name of the grid that is Invoice List will be mentioned in the top left cornerof
the grid.
The second portion is the table with customer invoice data as rows and
thefollowing columns:

List of all the columns to be represented on the UI are as follows:

1. Checkbox

2. CustomerName

3. CustomerNumber(Customer#)

4. InvoiceNumber(Invoice#)

5. InvoiceAmount
The Predicted Payment Date and Predicted Aging Bucket columns will remain
blank by default.
Clicking on the Predict button after selecting the one or more rows will auto
populate the two columns with the values derived from the ML model.
The grid will also have a Select all and Deselect All functionality to select one or
more records.
The past due invoices should have the due date marked in red in the grid.
The third portion is the vertical scroll bar. The grid should support infinite scrolling.
A loading icon animation should be displayed while the records are loading.

The grid should be sort able by two columns- due date and invoice amount in
ascending and descending order.
WEEK - 8

Functionalities in Detail:
Add Button Functionality:
The Add button will remain in enabled state if no rows are selected.
Whenever one or more rows are selected, the Add button will still remain
activated. After clicking on the Add button, a pop up window will appear with
all the fields for which values need to be added along with a Cancel and a
Save button.
The user should be able to type in the values, except for the due date of the invoice
for which there should be a calendar view from where the user is able to select the
required date, month and year.
The user should fill all the required fields before adding. If the user tries to click
on add before all mandatory fields are filled, an error message will be displayed.

Once the user clicks on the add button after all mandatory fields are filled, the
new values should be displayed in the UI and should remain persistent.
Edit Button Functionality:

Clicking on the edit button will allow the user to modify the editable fields in the data.
The editable columns are Invoice Amount and Notes.
The edit button will remain in disabled state by default.
When the user selects one row, the Edit button gets
enabled.
If a user selects multiple rows, the edit button will remain disabled.
Clicking on the Edit button displays a popup window on the screen. The window
should contain the Invoice Amount and Notes headers along with the existing data
values for both, a Cancel and a Save button.
The user should be able to edit the values.
Once the user clicks on the save button, the new values should be displayed in
the UI and should remain persistent.
Delete Button Functionality:

Clicking on the delete button will allow the user to delete records from the grid.
The delete button will remain in disabled state by default.
When the user selects one or more rows, the delete button gets enabled.
A pop up should be displayed on clicking delete to confirm that the user wants to
delete the selected records permanently.
Once the user clicks on the delete button, the row(s) should be removed from the
grid in the UI and should remain persistent.
WEEK - 9

View Correspondence Button Functionality:

Single Template in View Correspondence Button(Level1):


Clicking on the view correspondence button will allow the user to view and
generate pdfs of the selected invoices from the grid.
The view correspondence button will remain in disabled state by default.
When the user selects one or more rows, the view correspondence button
gets enabled.
Clicking on the View Correspondence button displays a popup window on the
screen.The window should contain a default template with the data of selected
rows auto populated in it along with a Cancel and a Download button.
The account name in the template should be dynamically filled. The total amount
to be paid should be the sum of the open amounts of the auto populated invoices in
the template.
The senders details should be static values.
On clicking the Download button, a file containing the data from the selected
rows in the selected template should be downloaded in pdf format.
Multiple Templates in View Correspondence Button(Level2):

The user should be able to select from multiple template options from a drop
down menu.
Any template when selected should contain the data of the selected records
auto populated in it.
On clicking the download button, the downloaded file should contain the data in
the format of the template being viewed by the user at the time of clicking the
download button.
Predict Button Functionality:

The Predict button will remain in disabled state if no rows are selected.
Whenever one or more rows are selected, the Predict button will be activated.
After clicking on the Predict button, the Predicted Payment Date and Predicted
AgingBucket will be populated for the respective records.

Search Bar Functionality:

The user should be able to type the invoice number in the search bar.
All invoices with matching invoice numbers should be filtered in the grid
and the matching portion should be highlighted.
If no such invoice is present, a message should be displayed stating “No Results Found”.
The search bar should implement the debouncing concept. Debouncing allows a
function that is bound to an event to fire only once after a specific amount of time
has passed.
CONCLUSION AND FUTURE WORK

Conclusion
An order management system is any tool or platform that tracks sales, orders, inventory,
and fulfillment as well as enables the people, processes, and partnerships necessary for
products to find their way to the customers who bought them.

In this project, I have built an AI-Enabled Fin-Tech B2B Order Management Application
using regression model to predict payment of order will be delayed or not. The accuracy
of the model turned out to be 85%. The same has been then deployed using Flask
Framework and React JS for front-end.

Future Work
The accuracy of the model can be increased and the same can be deployed in cloud
to make it available to a larger audience.

You might also like