What it shows
Neighbourhood shops often use handwritten bills and lose track of stock. A web application that records products, stock, purchases and sales, calculates GST on each bill and warns of low stock can fit that need. The project designs, builds and tests such software with invented shop data.
The science
The database holds products, stock movements, bills and bill lines. Stock is never edited directly: each purchase adds a movement and each sale subtracts one, so the history can be audited. For each bill line the app calculates taxable value, then CGST and SGST as half of the GST rate each, and sums them in the invoice. Rounding is done once per line in a consistent way.
Materials
Cost: free. Many items come from home or from waste; spare parts such as LEDs, motors and wire are in the store.
- A laptop with Python 3, Flask, SQLite and a PDF library such as ReportLab or WeasyPrint
- A browser
- Sample list of 100 products with HSN-style codes and GST rates written from public information
- DB Browser for SQLite
- A notebook for diagrams
Safety
For this project: Use invented shop and customer data. This is a training project, not certified accounting software, so check tax rules with an accountant before real use.
Never use mains electricity: power models with cells, batteries or a low-voltage adapter. Sharp and hot tools, flames and lab chemicals need an adult or your teacher beside you. Keep magnets, button cells and small parts away from young children, and wash your hands after making.
All the safety rulesStep by step
12 steps. Do them in order, and test each part before you go on to the next. Write what you notice in a notebook as you go.
Write the problem statement after talking to a shopkeeper, and list the screens and reports needed.
Design the tables: products, suppliers, purchases, stock_moves, bills, bill_lines and customers, with keys.
Build product add and edit screens with a barcode or code search.
Build the purchase entry page that adds stock and updates the cost price.
Build the billing page where items are searched, quantity entered and totals update with JavaScript.
Calculate taxable value, CGST, SGST and the total for each line and the bill, with a test table to check against hand calculation.
Block sales above available stock and show a warning when stock goes below the reorder level.
Generate the invoice as a PDF with bill number, date, items, tax split and amount in words.
Create reports: daily sales, top-selling items and low-stock list, with a chart.
Add login for owner and cashier with different permissions.
Run a test day with 50 invented bills and compare the stock and totals with a spreadsheet.
Write the report with the diagrams, screens, test results and limits, including tax compliance.
What you should see
The software produces correct invoices with GST split, stock reduces with each sale, low-stock warnings appear, and the day’s totals match the independent spreadsheet check.
Viva questions
A teacher or a judge will ask how it works. Try to answer each question before you open it, then compare.
1Why use stock movements rather than a stock column?
A history of movements lets you trace errors and recalculate stock at any date.
2How are CGST and SGST computed?
Each is half of the GST rate applied to the taxable value for an intra-state sale.
3How do you handle returns?
Record a credit note and add the stock back through a movement.
4What is the reorder level?
The stock quantity at which new purchases should be planned.
Take it further
Add a barcode scanner input using a phone camera and a JavaScript library for faster billing.
Change one thing, measure what happens, and add a table or chart of your readings: that is what turns a model into your own investigation.
Free ebooks for this project
Programming
Databases and SQL Study Book
The complete study notes, practice questions and glossary for Databases and SQL
Accounting
GST Basics for Students and Small Shops
How Goods and Services Tax works, explained with simple examples
