1 of 12

D-SplitBill

Smart Bill Splitting Made Easy

Submitted By:

Asrith Pandreka (Robotics and Autonomous Systems)

Harshavardhan Karancheti (Robotics and Autonomous Systems)

Rachita Kiran (Biomedical Engineering)

2 of 12

The Problem: Why is Bill Splitting a Hassle?

Manual Calculation is Tedious

Lack of Automation

Unequal Splitting

Confusion in Item Selection

We needed a smarter, fairer, and faster way to split bills!

3 of 12

D-SplitBill: A Smarter Way to Split Bills

  • Bill Upload – Upload a picture of the bill (no need to manually enter items).
  • Item Recognition – The system breaks the bill into individual items (bricks).
  • Simple Selection – Users select which items they paid for using checkboxes.
  • Fair Splitting – The system calculates how much each person owes based on selections.
  • Efficient & User-Friendly – Fast, intuitive interface for quick and accurate splitting.

4 of 12

How D-SplitBill Works – Step-by-Step

User Visits

Input Usernames + Upload Receipt

Save Image Locally 🡪 Send to Asprise OCR API

Receive JSON with Items

Display Item List With Checkboxes for Users

Users Select Who Bought What

POST to / Split 🡪 Calculate Split

Display Result: Who Owes How Much to Whom

5 of 12

Tech Stack Behind D-SplitBill

Libraries & Frameworks

APIs

HTML/CSS (via Jinja2 templates)

  • Flask – lightweight web framework for Python.
  • Werkzeug – for secure filename handling.
  • Requests – to make HTTP requests to the OCR API.
  • Jinja2 – for rendering HTML templates.
  • Asprise OCR API – to extract structured data (like item names and prices) from uploaded receipt images.
  • index.html – for user inputs (names + receipt upload).
  • items.html – to select who bought what.
  • split_result.html – to display the final split.
  • os – for file path handling.
  • json – for working with the API response.
  • collections.defaultdict – for easy summation per user.
  • session – to temporarily store users and items across routes.

Python Standard Libraries

6 of 12

7 of 12

Tech Behind D-SplitBill

User Visits

Input Usernames + Upload Receipt

Save Image Locally 🡪 Send to Asprise OCR API

Receive JSON with Items

Display Item List With Checkboxes for Users

Users Select Who Bought What

POST to / Split 🡪 Calculate Split

Display Result: Who Owes How Much to Whom

8 of 12

Tech Stack Behind D-SplitBill

9 of 12

Tech Stack Behind D-SplitBill

10 of 12

Tech Stack Behind D-SplitBill

11 of 12

Future Enhancements

  • Multi-Currency Support – Allow users to split bills across different currencies.
  • Mobile App Development – Making the service available on iOS and Android for easier access.
  • Group Features – Allow groups to save their preferences or create recurring "group bill" settings.
  • Enhanced Security – Add encryption and security features to protect user data.
  • Voice-to-Text Integration – Implement voice recognition where users can simply say what they bought, and the API will convert their voice into text. This feature will automatically assign items to the correct person and split the bill accordingly.

12 of 12

Conclusion

  • D-SplitBill is a seamless, efficient, and accurate solution for splitting group bills.
  • With automatic item recognition and simple user selection, we’ve made the process easier for everyone.
  • We plan to continuously improve the platform with features like voice-to-text integration and multi-currency support.

  • We hope D-SplitBill can help simplify your group expenses. Thank you for your time!