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

Digital Receipt Collector Project Report

The document is a project report for a Digital Receipt Collector developed by Soorya K as part of a Bachelor of Technology degree in Artificial Intelligence and Data Science at Anna University. It outlines the project's objective to create a centralized platform for managing digital and physical receipts using a Spring Boot backend with OCR technology for data extraction. The report includes acknowledgments, system analysis, proposed solutions, implementation details, and a structured approach to enhance financial management for users.

Uploaded by

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

Digital Receipt Collector Project Report

The document is a project report for a Digital Receipt Collector developed by Soorya K as part of a Bachelor of Technology degree in Artificial Intelligence and Data Science at Anna University. It outlines the project's objective to create a centralized platform for managing digital and physical receipts using a Spring Boot backend with OCR technology for data extraction. The report includes acknowledgments, system analysis, proposed solutions, implementation details, and a structured approach to enhance financial management for users.

Uploaded by

soorya.k2024aids
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

DIGITAL RECEIPT

COLLECTOR

JAVA PROJECT REPORT SUBMITTED IN PARTIAL FULFILLMENT OF


THE REQUIREMENTS FOR THE AWARD OF THE
DEGREE OF BACHELOR OF TECHNOLOGY

JAVA PROJECT IN ARTIFICIAL INTELLIGENCE AND DATA SCIENCE

OCTOBER 2025 OF THE ANNA UNIVERSITY

PROJECT
WORK

Submitted by
SOORYA K – 722824243211

BATCH
2024 – 2028

Under the Guidance of


[Link],M.E.,(Ph.D).,
Assistant Professor

Department of Artificial Intelligence and Data Science


Sri Eshwar College of Engineering
(An Autonomous Institution – Affiliated to Anna University)
COIMBATORE – 641 202

1
Sri Eshwar College of Engineering
(An Autonomous Institution – Affiliated to Anna University)
COIMBATORE – 641 202

BONAFIDE CERTIFICATE

Certified that this Report titled “DIGITAL RECEIPT COLLECTOR” is the

bonafide work of

SOORYA K 722824243211

who carried out the project work under my supervision.

----------------------------------------- ----------------------------------------
SIGNATURE SIGNATURE
Dr. M. MOHAMMED MUSTAFA [Link],M.E.,(Ph.D).,
HEAD OF THE DEPARTMENT SUPERVISOR
Artificial Intelligence And Data Science, Assistant Professor
Sri Eshwar College of Engineering, Artificial Intelligence And Data Science,
Coimbatore – 641 202. Sri Eshwar College of Engineering,
Coimbatore – 641 202.

Submitted for the Autonomous Semester End Mini Project Viva-Voce held on

…………………..

_________________________ _________________________

INTERNAL EXAMINER EXTERNAL EXAMINER

2
DECLARATION

SOORYA K - 722824243211

To declare that the project entitled “DIGITAL RECEIPT COLLECTOR”


submitted in partial fulfilment to the University as the project work of Bachelor
of Technology (Artificial Intelligence and Data Science) Degree, is a record of
original work done by us under the supervision and guidance of Ms. GOWRI S,
Assistant Professor, Department of Artificial Intelligence And Data Science, Sri
Eshwar College of Engineering, Coimbatore.

Place: Coimbatore
Date: 30.10.2025
SOORYA K

Project Guided by,

Ms. S. GOWRI, [AP/AI&DS].

3
ACKNOWLEDGEMENT

The success of a work depends on a team and cooperation. I take this opportunity
to express my gratitude and thanks to everyone who helped me in my project. I
would like to thank the management for the constant support provided by them to
complete this project.

It is indeed our great honor bounded duty to thank our beloved Chairman Mr. R.
Mohanram, for his academic interest shown towards the students.

We are indebted to our Director Mr. R. Rajaram, for motivating and providing us
with all facilities.

I wish to express my sincere regards and deep sense of gratitude to Dr. Sudha
Mohanram, M.E, Ph.D. Principal, for the excellent facilities and encouragement
provided during the course of the study and project.

We are indebted to Dr. M. Mohammed Mustafa, M.E., Ph.D. Head of Artificial


Intelligence And Data Science Department for having permitted us to carry out this
project and giving the complete freedom to utilize the resources of the department.

I express my sincere thanks to my mini project Coordinator Ms.S.


Gowri,M.E.,(Ph.D)., Assistant Professor of Artificial Intelligence And Data
Science Department for the valuable guidance and encouragement given, to us for
this project.

I solemnly express our thanks to all the teaching and nonteaching staff of the
Artificial Intelligence And Data Science Department, family and friends for their
valuable support which inspired us to work on this project.

4
TABLE OF CONTENT

CONTENT PAGE NO

ABSTRACT 6

LIST OF FIGURES 2

LIST OF TABLE

1. INTRODUCTION 4 7
1.1. OBJECTIVE 7
2. SYSTEM ANALYSIS AND DESIGN 4 8
2.1. EXISTING SCENARIO 8
2.2. PROBLEM STATEMENT 9
3. PROPOSED SOLUTION 4 10
3.1. OVERVIEW 10
3.2. FLOWCHART 11
4. IMPLEMENTATION AND RESULT 4 12
4.1. CODE 12
4.2. OUTPUT 18
5. CONCLUSION AND FUTURE SCOPE 4 19
5.1. CONCLUSION 19

6. REFERENCES
20

5
ABSTRACT

This project details the design and implementation of a Digital Receipt Collector, a
robust, backend RESTful API built using the Spring Boot framework. The primary
objective is to provide users with a centralized and efficient platform for uploading,
storing, managing, and analysing their digital and physical receipts. The system
features core CRUD (Create, Read, Update, Delete) functionality for receipts, along
with automated data extraction from receipt images using Optical Character
Recognition (OCR) technology. Users can categorize their expenses, track spending,
and generate reports. The system is designed with a layered architecture (Controller,
Service, Repository) and utilizes Spring Data JPA with a MySQL database for
persistent storage. Key features include secure user authentication, efficient receipt
processing, advanced search and filtering capabilities, and a foundation for detailed
financial analytics.

6
INTRODUCTION

1.1. Objective

The Spring Boot-based Digital Receipt Collector project aims to develop a modern
and secure web application that eliminates the need for manual record-keeping and
physical receipt storage. The platform enables users to seamlessly register, upload
receipt images, and have key information (such as merchant name, date, and total
amount) automatically extracted and stored. Administrators and users can efficiently
manage, categorize, and search through an organized library of receipts.

Built with Spring Boot, Spring Data JPA, and MySQL, the system emphasizes data
integrity, security, and performance. It supports real-time expense tracking, powerful
search filters, and the generation of summary reports for personal or business
accounting. A simple and responsive Thymeleaf-based frontend ensures a user-
friendly interface for uploading and viewing receipts. Ultimately, the Digital Receipt
Collector empowers users to gain better control over their finances, simplify expense
reporting, and maintain a secure, paperless record of their transactions.

7
SYSTEM ANALYSIS AND DESIGN

2.1 EXISTING SCENARIO

In the current environment, managing receipts is a fragmented and often


tedious process. Individuals and small businesses typically rely on a
combination of methods:
• Physical Storage: Keeping paper receipts in wallets, envelopes, or
shoeboxes, which are prone to fading, damage, or loss. This method
makes searching and data aggregation nearly impossible.
• Manual Spreadsheets: Manually entering data from each receipt
into a spreadsheet program like Excel or Google Sheets. This is time-
consuming, error-prone, and requires consistent discipline.
• Digital Clutter: Storing digital receipts as scattered files in email
inboxes, photo galleries, or cloud storage folders. Without a
dedicated system, these digital copies are disorganized and difficult
to search or consolidate for reporting.
Existing generic solutions like note-taking apps or photo galleries lack the
specialized features needed for efficient receipt management, such as
automated data extraction, categorization, and financial reporting.

8
2.2 PROBLEM STATEMENT

Managing physical and digital receipts is inefficient, disorganized, and


time-consuming. The lack of a centralized system leads to several
problems:
• Data Loss: Physical receipts are easily lost or damaged, and
digital files can be accidentally deleted or hard to locate.
• Inefficient Expense Tracking: Manually tracking expenses for
budgeting or tax purposes is a laborious task that is susceptible to
human error.
• Difficult Retrieval: Finding a specific receipt for a warranty
claim, product return, or tax audit can be incredibly challenging.
• Lack of Insights: Without structured data, it is difficult to analyse
spending patterns, identify savings opportunities, or generate
meaningful financial reports.
The Digital Receipt Collector addresses these issues by providing a secure,
searchable, and automated Spring Boot application where users can easily
upload, categorize, and manage all their receipts in one place, transforming
raw transaction data into valuable financial insights.

9
PROPOSED SOLUTION

3.1 OVERVIEW

The proposed solution is the development of a Digital Receipt Collector


platform built using the Spring Boot framework. This system addresses the
limitations of manual receipt management by offering a centralized, secure,
and intelligent platform for digitizing and organizing receipts.

The application allows users to register and log in to a personal dashboard.


From there, they can upload images of receipts. The backend will process
these images, optionally using an OCR engine to automatically extract key
details like the merchant, date, and total amount, pre-filling the fields for
the user to confirm. The system follows a layered architecture (Controller
→ Service → Repository) to ensure scalability, maintainability, and a
clean separation of concerns.

Built on a Spring Boot RESTful API with Spring Data JPA and a
MySQL database, the platform ensures reliable data storage and quick
access. It provides secure endpoints for managing users, receipts, and
categories, along with features for advanced searching, filtering by date or
category, and generating expense summary reports.

10
3.2 FLOW CHART

DESCRIPTION

The flowchart illustrates the process of recording and splitting expenses in the
Expense Split Tracker. The client sends an HTTP request with expense details,
which is validated in the service layer. If valid, the system saves the expense
record and updates the split amounts in the database. Finally, a response (HTTP
201 Created) is sent, confirming the successful operation.

11
IMPLEMENTATION AND RESULT

4.1 CODE

[Link]

package [Link];

import [Link].*;
import [Link];
import [Link];
import [Link];

@Entity
@Table(name = "receipts")
@Data
public class Receipt {

@Id
@GeneratedValue(strategy = [Link])
private Long id;

@Column(nullable = false)
private String merchant;

@Column(nullable = false)
private BigDecimal totalAmount;

@Column(nullable = false)
private LocalDate purchaseDate;

private String category;

private String imagePath; // Path to the stored receipt image

@ManyToOne(fetch = [Link])
@JoinColumn(name = "user_id", nullable = false)
private User user;
}

12
[Link]

package [Link];

import [Link].*;
import [Link];
import [Link];

@Entity
@Table(name = "users")
@Data
public class User {

@Id
@GeneratedValue(strategy = [Link])
private Long id;

@Column(nullable = false)
private String username;

@Column(nullable = false, unique = true)


private String email;

@Column(nullable = false)
private String password;

@OneToMany(mappedBy = "user", cascade = [Link],


orphanRemoval = true)
private List<Receipt> receipts;
}

[Link]

package [Link];

import [Link];
import [Link];
import [Link];

import [Link];
import [Link];

13
@Repository
public interface ReceiptRepository extends JpaRepository<Receipt, Long> {

List<Receipt> findByUserId(Long userId);

List<Receipt> findByUserIdAndCategory(Long userId, String category);

List<Receipt> findByUserIdAndPurchaseDateBetween(Long userId,


LocalDate startDate, LocalDate endDate);
}

[Link]

package [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

import [Link];
import [Link];

@Service
@RequiredArgsConstructor
public class ReceiptService {

private final ReceiptRepository receiptRepository;


// Assume FileStorageService and OcrService are implemented elsewhere
// private final FileStorageService fileStorageService;
// private final OcrService ocrService;

public Receipt saveReceipt(Receipt receipt, MultipartFile imageFile) {


// 1. Store the image file and get its path
// String imagePath = [Link](imageFile);
// [Link](imagePath);

// 2. (Optional) Perform OCR on the file


// OcrResult ocrResult = [Link](imageFile);
// [Link]([Link]());
// [Link]([Link]());
14
return [Link](receipt);
}

public Optional<Receipt> getReceiptById(Long id) {


return [Link](id);
}

public List<Receipt> getReceiptsByUserId(Long userId) {


return [Link](userId);
}

public void deleteReceipt(Long id) {


[Link](id);
}
}

[Link]

package [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];

import [Link];

@RestController
@RequestMapping("/api/receipts")
@RequiredArgsConstructor
public class ReceiptController {
private final ReceiptService receiptService;

@GetMapping("/user/{userId}")
public ResponseEntity<List<Receipt>> getUserReceipts(@PathVariable
Long userId) {
return [Link]([Link](userId));
}
15
@PostMapping(consumes = "multipart/form-data")
public ResponseEntity<Receipt> uploadReceipt(@RequestPart("receipt")
Receipt receipt,

@RequestPart("file") MultipartFile file) {


try {
Receipt savedReceipt = [Link](receipt, file);
return
[Link]([Link]).body(savedReceipt);
} catch (Exception e) {
return [Link]().build();
}
}

@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteReceipt(@PathVariable Long id) {
[Link](id);
return [Link]().build();
}
}

HTML

<!DOCTYPE html>
<html xmlns:th="[Link]
<head>
<title>Dashboard - Receipt Collector</title>
<link rel="stylesheet" th:href="@{/css/[Link]}">
</head>
<body>
<div class="container">
<div class="header">
<h1> My Dashboard</h1>
<p>Your recent receipts at a glance.</p>
</div>

<div class="nav">
<a th:href="@{/dashboard}">Home</a>
<a th:href="@{/upload}">Upload Receipt</a>
<a th:href="@{/logout}">Logout</a>
</div>

16
<a th:href="@{/upload}" class="btn">Upload New Receipt</a>

<div th:each="receipt : ${receipts}" class="receipt-card">


<h3 th:text="${[Link]}">Merchant Name</h3>
<p><strong>Date:</strong> <span
th:text="${#[Link]([Link], 'dd-MMM-
yyyy')}">Date</span></p>
<p><strong>Category:</strong> <span
th:text="${[Link]}">Category</span></p>
<div class="stats">
<div class="stat-item">
<div class="stat-value">$<span
th:text="${#[Link]([Link], 1, 'COMMA', 2,
'POINT')}">0.00</span></div>
<div class="stat-label">Total Amount</div>
</div>
</div>
<a th:href="@{/receipt/{id}(id=${[Link]})}" class="btn-
secondary">View Details</a>
</div>

<div th:if="${#[Link](receipts)}" class="form-container">


<h3>No receipts found.</h3>
<p>Click "Upload New Receipt" to add your first one!</p>
</div>
</div>
</body>
</html>

17
4.2 OUTPUT

Fig 4.1 Home Page

18
CONCLUSION

The development of the Digital Receipt Collector marks the


successful implementation of a scalable and secure web-based
expense management system using the Spring Boot framework.
The project achieves its core objective of providing a centralized
platform for users to digitize, organize, and track their receipts
effortlessly. Through a layered architecture, the system ensures
modularity, maintainability, and a clean separation of business
logic.

Key functionalities such as user management, receipt CRUD


operations, and file handling have been efficiently implemented.
The RESTful API structure ensures that the backend is robust and
can easily integrate with various frontend clients or mobile
applications in the future. Overall, the Digital Receipt Collector
provides an effective and extensible foundation for modern,
paperless financial record-keeping, demonstrating how a well-
structured backend can solve a common real-world challenge.

19
REFERENCE

1. Walls, C. (2022). Spring in action (6th ed.). Manning Publications.

• Retrieved from Manning Publications.


• Relevance: The primary book reference for building the Spring Boot
backend and layered architecture.

2. Fielding, R. R. (2000). Architectural styles and the design of network-based


software architectures [Doctoral dissertation, University of California, Irvine].

• Retrieved from [Insert a public URL for the dissertation or its abstract].
• Relevance: The foundational academic paper defining REST
(Representational State Transfer) principles for your API design.

3. Pivotal Software, Inc. (n.d.). Spring Data JPA Reference Documentation:


Query Creation.

• Retrieved from Spring Data JPA Documentation.


• Relevance: Essential documentation for implementing the persistence layer
and custom methods for complex features like the /api/tasks/search
endpoint.

4. MySQL Documentation. (n.d.). MySQL 8.0 Reference Manual: Data Types and
Constraints.

• Retrieved from PostgreSQL Documentation.


• Relevance: Source for database design, defining schema types (SERIAL,
TIMESTAMP, VARCHAR) and integrity constraints (PK/FK, UNIQUE,
CHECK).

5. Visual Strips, Inc. (n.d.). Stripe API Reference

• Retrieved from [Link]


• Relevance: Reference for integrating online payment gateways forfuture
implementation of real-time donation transactions.

20
PROJECT TITLE DIGITAL RECEIPT COLLECTOR

PROGRAM [Link] ARTIFICIAL INTELLIGENCE AND DATA


SCIENCE

PROJECT BATCH
1
NUMBER

BATCH MEMBER 722824243211 Soorya k

NAME OF THE
Ms. S. GOWRI, M.E., (Ph.D).,
SUPERVISOR

The project aligns with Sustainable Development Goal


NAME OF THE SDG
(SDG) 9: Industry, Innovation, and Infrastructure
GOALS MAPPED
and SDG 12: Responsible Consumption and Production.

MENTION THE SDG SDG 9: Industry, Innovation, and Infrastructure


GOALS NUMBER SDG 12: Responsible Consumption and Production

NAME OF THE TRL Technology Readiness Level (TRL) 6 – Prototype


LEVEL Demonstration in a Relevant Environment

MENTION THE TRL


TRL 6
LEVEL

POs & PSOs Mapping (Put a tick mark in the mapped PO’s & PSO’s):
Program Specific
Program Outcomes Outcomes
P P P P P P P P P P
PO PS PS PS
O O O O O O O O O O
1 O1 O2 O3
2 3 4 5 6 7 8 9 10 11

Signature of the Supervisor


([Link],M.E.,(Ph.D).,)

21
VENUE AND EXPENDITURE STATEMENT FOR THE PROJECT WORK

Laboratory details where


Data Visualization and Analytics Lab
the project is carried out
Java 17+, Maven, Spring Boot 3, MySQL, Thymeleaf,
HTML5, CSS3, JavaScript, Git Bash, IntelliJ, Web
Software / Hardware
Browser, Postman
details

Details of the Component and Expenditure

S. No Name of the Component Qty Price / Unit in (Rs.) Amount (Rs.)

NIL

(*Include any other charges which includes fabrication cost and others)

Signature of the student Signature of the Supervisor


(Soorya K) ([Link],M.E.,(Ph.D).,)

22

You might also like