A beautiful, modern GUI application for tracking your income and expenses built with native Windows API (Win32) and C++.
β No external libraries required! Works out of the box on Windows.
- Quick Start Guide - Get up and running in 2 minutes!
FinSyncWin32_Fixed.cpp - The main application file with fully functional dialogs and smooth UI.
The CMakeLists.txt is already configured to build the application.
- β Add Income & Expenses - Track all your financial transactions
- π Category Management - Organize expenses by Food, Rent, Entertainment, Transportation, Utilities, and more
- π Financial Reports - Generate detailed reports with category breakdowns and percentages
- πΎ Data Persistence - Automatically save and load your data
- π¨ Modern UI - Beautiful, intuitive interface with color-coded transactions and smooth dialogs
- π Date Tracking - Easy date input with current date default
- βοΈ Edit & Delete - Modify or remove transactions as needed
- π Real-time Summary - Always see your total income, expenses, and net savings
- π± Philippine Peso (β±) - Full support for Philippine currency
The application features:
- A clean header with "FinSync" branding and modern blue color scheme
- Financial overview panel showing Total Income (green), Total Expenses (red), and Net Savings (blue)
- Action buttons for adding income, expenses, editing, deleting, generating reports, and saving
- A comprehensive transaction table with color-coded entries
- FULLY RESPONSIVE dialog boxes with working OK, Cancel, and X buttons
- Philippine Peso (β±) currency display throughout
β
Fixed laggy/unresponsive dialog buttons - Dialogs now use proper Windows message handling
β
Updated to Philippine Peso (β±) - Full currency support throughout the application
β
Improved GUI appearance - Better colors, spacing, and modern design
β
Removed unnecessary files - Cleaned up old console and duplicate versions
β
Smooth dialog operations - OK, Cancel, and X buttons work instantly
- C++17 compatible compiler (MSVC, MinGW-GCC, or Clang)
- Windows OS (uses native Win32 API)
- CLion, Visual Studio, or any C++ IDE
- NO external libraries needed!
-
Open the project in CLion:
- Launch CLion
- File β Open
- Select the FinSync folder
-
CLion will automatically detect CMakeLists.txt and configure the project
-
Build & Run:
- Click the Build button (π¨) or press Ctrl+F9
- Click the Run button (
βΆοΈ ) or press Shift+F10 - The GUI window will appear immediately!
Alternative: Pre-built Executable
- Simply run
FinSync.exein the main folder or cmake-build-debug folder!
build.batThis will automatically detect your compiler (Visual Studio or MinGW) and build the application.
g++ -std=c++17 -municode -mwindows FinSyncWin32_Fixed.cpp -o FinSync.exe -lcomctl32 -lgdi32 -luser32cl /EHsc /std:c++17 /D UNICODE /D _UNICODE FinSyncWin32_Fixed.cpp /Fe:FinSync.exe /link user32.lib gdi32.lib comctl32.lib- Open the FinSync folder in Visual Studio
- Visual Studio will detect CMakeLists.txt
- Press F5 to build and run
- Click the "β Add Income" button
- Enter the amount
- Select the date (defaults to today)
- Click OK
- Click the "β Add Expense" button
- Select a category from the dropdown
- Enter the amount
- Select the date
- Click OK
- Click on a transaction in the table to select it
- Click the "βοΈ Edit" button
- Modify the fields as needed
- Click OK
- Select a transaction in the table
- Click the "ποΈ Delete" button
- Confirm the deletion
- Click the "π Generate Report" button
- View the comprehensive financial summary including:
- Total income, expenses, and net savings
- Expense breakdown by category with percentages
- Data is automatically saved when you close the application
- You can manually save by clicking "πΎ Save" or using File β Save
- Data is stored in
transactions.txtin the application directory
FinSync/
βββ FinSyncWin32_Fixed.cpp # Main application file (UPDATED & FIXED!)
βββ CMakeLists.txt # CMake build file (for CLion)
βββ transactions.txt # Data file (generated at runtime)
βββ README.md # This file
Transactions are saved in CSV format:
Type,Amount,Category,Date
Income,5000.00,,15/12/2025
Expense,50.25,Food,15/12/2025
Expense,1500.00,Rent,01/12/2025
Edit the categories vector in FinSyncWin32_Fixed.cpp:
const std::vector<std::wstring> categories = {
L"Food", L"Rent", L"Entertainment", L"Transportation",
L"Utilities", L"Healthcare", L"Other" // Add new categories here
};Louis Antonio D. Lapayag - Lead Developer
This project is open source and available for personal and educational use.
For issues or questions, please create an issue in the project repository.
FinSync - Smart Financial Synchronization & Expense Tracking π°
