This is a submission for the GitHub Finish-Up-A-Thon Challenge
What I Built
I built and revived Mandi Central, a complete business operations and billing system for mandi-style trading businesses.
Live Project: https://mandicentral.in
Mandi Central helps manage daily mandi operations like purchases, farmer purchase entries, sales entries, payments, bank and cash ledgers, accounting heads, reports, invoices, outstanding balances, and financial statements from one structured platform.
This project was not started as a simple demo. It was a real business-focused software project, but it had many unfinished parts, broken flows, missing reports, pending PDF generation, incomplete mobile API planning, and several UI and accounting issues.
For the GitHub Finish-Up-A-Thon Challenge, I brought it back, fixed the pending issues, completed the core business flow, and made the project live on mandicentral.in.
Demo
Live Website: https://mandicentral.in
GitHub Repository: https://github.com/hiijoshi/bill
Screenshots and demo cover the completed modules:
- Business Operations Hub
- Sales List
- Bank reconciliation
- Cash ledger
- Bank ledger
- Sales entry
- Purchase entry
- Farmer purchase entry
- Bulk PDF download
- Accounting reports
- Party ledger redirection
- Outstanding reports
- Mobile API-ready backend
The Comeback Story
Mandi Central started with a strong idea: create one platform where mandi businesses can manage their complete daily workflow.
But before this challenge, the project was stuck with many incomplete and pending items.
There were more than 40 pending issues across PDF generation, sales invoices, bank ledger, cash ledger, accounting reports, outstanding reports, purchase calculations, sales calculations, mobile APIs, AWS deployment, domain setup, and UI fixes.
Some of the major problems before completion were:
- PDF generation was not working properly.
- Bulk sales bill download was missing.
- Mobile application APIs were pending.
- Farmer Purchase Entry API was pending.
- Purchase Entry API was pending.
- Sales Entry API was pending.
- Bank statement reading and reconciliation flow needed fixing.
- Balance Sheet, Profit and Loss Statement, and Trial Balance were pending.
- Bank ledger had incorrect data in some filters.
- Cash ledger needed completion.
- Journal voucher entries were not reflecting correctly in bank ledger.
- Outstanding reports needed clickable party names.
- Party ledger redirection was missing.
- Outstanding report filters were not visible properly.
- Supplier GST field was missing.
- Marka dropdown/input flow needed improvement.
- Purchase weight calculation needed rechecking.
- Purchase bill payment amount calculation needed correction.
- Purchase report was missing number of bags.
- Sales Entry needed multiple other amount buckets with remarks.
- Record payment needed proper bank visibility for NEFT, RTGS, UPI, and cheque.
- Account Head and Supplier needed controlled selection.
- Payment mode master needed universal modes like Cash, Cheque, NEFT, RTGS, and UPI.
- Sales invoice split module needed support for more than two parts like 17(A), 17(B), and 17(C).
- Financial year concept needed to follow 1 April to 31 March.
- Average rate calculation formula needed correction.
- Mandi tax and commission percentage dropdowns were needed in additional charges.
- Sales invoice and dispatch print were missing marka number.
- Dropdown arrows and outside-click behavior needed UI fixes.
- Stock adjustment remarks were not visible.
- Record sales receipt had unnecessary bank account and IFSC fields.
- Domain change and AWS speed optimization were pending.
The project had functionality, but it was not finished enough to be confidently used as a live business system.
During this finish-up phase, I focused on completing the real business-critical parts first instead of only polishing the UI.
I fixed the PDF generation issue, added bulk PDF download support, improved the sales invoice format, corrected cash and bank ledger flows, completed accounting-related fixes, added mobile application API support, improved outstanding reports, fixed purchase and sales calculation problems, improved dropdown behavior, and completed the domain deployment.
Now the project is live at:
The biggest comeback was turning Mandi Central from an unfinished internal project into a live, usable, business-ready platform.
My Experience with GitHub Copilot
GitHub Copilot helped me a lot during the finishing phase.
This project had many interconnected modules. A small change in sales entry could affect invoice printing, ledger posting, outstanding reports, accounting heads, and financial statements. Copilot helped me move faster while checking and improving these connected flows.
I used GitHub Copilot for:
- Understanding older parts of the codebase.
- Fixing PDF generation and download logic.
- Improving bulk PDF download flow.
- Cleaning sales invoice and dispatch print logic.
- Creating and improving mobile API structures.
- Improving Farmer Purchase Entry, Purchase Entry, and Sales Entry API logic.
- Fixing bank ledger and cash ledger data handling.
- Connecting journal voucher entries with ledger reports.
- Improving accounting head mapping.
- Cleaning repeated form and dropdown logic.
- Writing better validation for payment mode, bank, supplier, and account head.
- Improving report filters and party ledger redirection.
- Writing clearer API documentation and test steps.
Copilot did not replace the business logic decisions. The mandi business rules, accounting behavior, financial year logic, and report expectations still needed manual understanding.
But Copilot helped reduce the time required to inspect files, refactor code, generate validation ideas, and improve repetitive parts of the project.
It felt like having a coding partner while finishing a large, messy, real-world project.
What Changed After Completion
Here are the major completed improvements:
PDF and Invoice
- Fixed PDF generation issue.
- Added bulk sales bill PDF download.
- Added download option for bulk PDF.
- Updated sales invoice format.
- Added marka number in sales invoice and dispatch print.
- Fixed sales invoice split module for multiple invoice parts like 17(A), 17(B), and more.
Mobile Application APIs
Completed mobile API planning and backend support for:
- Farmer Purchase Entry
- Purchase Entry
- Sales Entry
These APIs are now ready for mobile application integration so the same backend and database can be used by both web and mobile apps.
Sales Module
- Fixed Sales Entry additional charges.
- Added multiple other amount bucket support.
- Added remarks in other charges.
- Added mandi tax percentage auto calculation and dropdown support.
- Added commission percentage dropdown in additional charges.
- Moved add charges button to the correct position.
- Allowed total weight in quintal to be editable.
- Removed unnecessary bank account and IFSC fields from sales receipt.
Purchase Module
- Rechecked purchase entry weight calculation.
- Fixed purchase bill kishan bhugtan rashi issue.
- Added number of bags in purchase report.
- Changed Purchase List label from Party to Farmer / Supplier.
- Added marka filter in Purchase List.
- Added supplier GST field.
- Improved marka dropdown and new input option.
Ledger and Accounting
- Fixed Bank Ledger incorrect data issue.
- Completed Cash Ledger.
- Fixed Journal Voucher reflection in Bank Ledger.
- Added Payment Journal Voucher Entry screen.
- Added accounting head related information.
- Improved account head and supplier controlled selection.
- Added universal payment modes: Cash, Cheque, NEFT, RTGS, UPI.
- Added Balance Sheet.
- Added Profit and Loss Statement.
- Added Trial Balance.
- Added financial year concept from 1 April to 31 March. Updated average rate formula:
Average Rate = Gross Total Amount / Total Weight
Outstanding and Reports
- Removed Outstanding Board Report from all operation reports.
- Added outstanding overdue by day.
- Made party names clickable in outstanding reports.
- Added redirection to party ledger.
- Improved outstanding report filter visibility.
- Added party-to-ledger redirection from report dropdown.
- Improved report filter and search behavior.
UI and Deployment
- Fixed company dropdown outside-click closing behavior.
- Fixed dropdown arrow button behavior.
- Improved Business Operations Hub layout.
- Shifted project to AWS.
- Improved speed and deployment stability.
- Changed and connected the domain.
- Made the final project live on mandicentral.in.
Top comments (0)