Skip to content

matthewdaluz/fisca

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Fisca - Transaction and Income Tracker

License: GPL v3 Android Offline

Fisca is a Canada-only, offline-only Android application designed to help ODSP (Ontario Disability Support Program) recipients manually log transactions and income for easier tax filing and income reporting.

๐ŸŽฏ Purpose

Fisca helps people with ODSP or DSO in Ontario by:

  • Tracking all transactions with detailed information (date, price, GST/HST, total, category, payment method)
  • Recording ODSP income including regular payments, DSO payments, and additional support
  • Organizing financial data for easier tax filing and income reporting
  • Maintaining privacy - all data stays on your device (no internet connection required or used)

โœจ Features

Transaction Management

  • Add Transactions with comprehensive details:
    • Date of purchase with calendar picker
    • Item/service description
    • Multi-currency support (CAD/USD with automatic exchange rate conversion)
    • Price before tax
    • Auto-calculated GST/HST (Ontario's 13% HST)
    • Total price (including tax, converted to CAD)
    • 11 transaction categories (Groceries, Medical, Housing, Utilities, Transportation, Personal Care, Clothing, Entertainment, Education, Insurance, Other)
    • 11 payment methods (Cash, Debit, Credit, ODSP Card, Cheque, E-Transfer, PayPal, Bank Transfer, Mobile Payment, Prepaid Card, Other)
    • Bank/financial institution tracking
    • Business GST/HST ID recording
    • Custom notes
  • View All Transactions in a scrollable list with details
  • Edit/Delete transactions with swipe actions

ODSP Income Tracking

  • Add Income Entries with:
    • Date of income receipt
    • Gross pay (before deductions)
    • Deductions (tax, CPP, EI, etc.)
    • Auto-calculated net pay
    • Income type (ODSP Payment, DSO Payment, Additional Support, Other Income)
    • Deduction details tracking
    • Custom notes
  • View Income History with all entries
  • Edit/Delete income entries

Personal Information Management

  • Store your personal information for tax reporting:
    • Full name
    • Date of birth
    • Social Insurance Number (SIN)
    • Complete address (Street, City, Province, Postal Code)
    • Phone number and email (optional)
  • Province selector with Canadian provinces
  • Postal code validation

Statistics and Reports

  • Overall Statistics:
    • Total number of transactions
    • Total amount spent (in CAD)
    • Total tax paid
    • Average transaction amount
  • Category Breakdown:
    • Spending by category
    • Transaction count per category
    • Visual breakdown of where money goes
  • Payment Method Analysis:
    • Spending by payment method
    • Track which payment methods you use most
  • Tax Summary:
    • Total HST/GST paid
    • Tax information for filing
  • Currency Breakdown:
    • Separate tracking of CAD vs USD transactions
    • Exchange rate summaries

Data Export and Import

  • Export to CSV:
    • Export all transactions, income, and personal data
    • UTF-8 with BOM encoding for Office compatibility
    • Windows line endings (CRLF) for Excel/LibreOffice
    • Timestamped export files
    • Share exported files via email or other apps
  • Import from CSV:
    • Restore data from previous exports
    • Validate data before import
    • Detailed import results

๐Ÿ”’ Privacy & Security

  • 100% Offline: No internet permissions in AndroidManifest - data never leaves your device
  • Local Storage: All data stored securely using Room database on your Android device
  • No Accounts: No sign-up, no login, no personal information collected or transmitted
  • Your Data, Your Control: Export and backup your data at any time to CSV format
  • File Provider Security: Export files use secure FileProvider for controlled sharing

๐Ÿš€ Quick Start

First Time Setup

  1. Install the App on your Android device (API 26+)
  2. Add Personal Information (optional but recommended for tax filing):
    • Tap the menu (โ‹ฎ) and select "Personal Information"
    • Enter your details (name, address, SIN, etc.)
    • Save your information
  3. Start Tracking:
    • Use "Add Transaction" from the menu to log purchases
    • Use "View Income" to add ODSP/DSO payments

Daily Usage

  • Adding a Transaction:

    1. Tap menu โ†’ "Add Transaction"
    2. Select date and enter description
    3. Choose currency (CAD or USD)
    4. Enter item price (HST auto-calculated for CAD purchases)
    5. Select category and payment method
    6. Add notes if needed and save
  • Adding Income:

    1. Tap menu โ†’ "View Income" โ†’ (+) button
    2. Select date received
    3. Enter gross pay and deductions
    4. Net pay calculates automatically
    5. Select income type and save
  • Viewing Statistics:

    1. Tap menu โ†’ "Statistics"
    2. View spending by category, payment method
    3. See total HST paid for tax filing
  • Exporting Data:

    1. Tap menu โ†’ "Export Data"
    2. Tap "Export to CSV"
    3. Share via email or save to device

๐Ÿ‡จ๐Ÿ‡ฆ Canada-Specific Features

This app is designed specifically for Ontario, Canada:

  • HST Calculations: Automatic 13% HST calculation for Ontario transactions
  • ODSP/DSO Income Categories: Specialized income tracking for Ontario disability support programs
  • Canadian Tax Compliance: Data organized for Canadian tax reporting requirements
  • Categories: Relevant to Ontario residents and ODSP recipients
  • Multi-Currency: CAD/USD support with exchange rate tracking for cross-border purchases

๐Ÿ“ฑ Requirements

  • Android Version: Android 8.0 (API 26) or higher
  • Storage: Minimal storage space (~10 MB for app + your data)
  • Internet: Not required or used (completely offline)
  • Permissions: Storage access for CSV export/import only

๐Ÿ› ๏ธ Building from Source

Prerequisites

  • Android Studio (latest version recommended)
  • JDK 17
  • Android SDK with API 26+ and API 36 (target)
  • Gradle 8.13.2 (included via wrapper)

Build Instructions

# Clone the repository
git clone https://github.com/matthewdaluz/fisca.git
cd fisca

# Build the application
./gradlew assembleDebug

# Install on connected device or emulator
./gradlew installDebug

# Or build a release version (requires signing)
./gradlew assembleRelease

Project Structure

app/
โ”œโ”€โ”€ src/main/
โ”‚   โ”œโ”€โ”€ AndroidManifest.xml (NO internet permission)
โ”‚   โ”œโ”€โ”€ java/matthewdaluz/app/fisca/
โ”‚   โ”‚   โ”œโ”€โ”€ MainActivity.kt
โ”‚   โ”‚   โ”œโ”€โ”€ AddTransactionActivity.kt
โ”‚   โ”‚   โ”œโ”€โ”€ TransactionListActivity.kt
โ”‚   โ”‚   โ”œโ”€โ”€ AddIncomeActivity.kt
โ”‚   โ”‚   โ”œโ”€โ”€ IncomeListActivity.kt
โ”‚   โ”‚   โ”œโ”€โ”€ PersonalInfoActivity.kt
โ”‚   โ”‚   โ”œโ”€โ”€ StatisticsActivity.kt
โ”‚   โ”‚   โ”œโ”€โ”€ ExportActivity.kt
โ”‚   โ”‚   โ”œโ”€โ”€ ImportActivity.kt
โ”‚   โ”‚   โ”œโ”€โ”€ model/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Transaction.kt
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ODSPIncome.kt
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ PersonalInfo.kt
โ”‚   โ”‚   โ”œโ”€โ”€ database/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ FiscaDatabase.kt
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ TransactionDao.kt
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ODSPIncomeDao.kt
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ PersonalInfoDao.kt
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ Converters.kt
โ”‚   โ”‚   โ”œโ”€โ”€ export/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ CSVExporter.kt
โ”‚   โ”‚   โ””โ”€โ”€ import_export/
โ”‚   โ”‚       โ””โ”€โ”€ CSVImporter.kt
โ”‚   โ””โ”€โ”€ res/
โ”‚       โ”œโ”€โ”€ layout/ (Activity layouts)
โ”‚       โ”œโ”€โ”€ menu/ (Main menu)
โ”‚       โ””โ”€โ”€ values/ (Strings, colors, themes)

๐Ÿ—๏ธ Technical Details

Architecture

  • Language: Kotlin
  • Architecture Pattern: MVVM-ready with ViewModels and LiveData
  • Database: Room Persistence Library
  • UI Framework: Material Design 3 Components
  • Minimum SDK: API 26 (Android 8.0)
  • Target SDK: API 36 (Android 14+)

Key Dependencies

  • AndroidX Core KTX 1.17.0
  • Material Components 1.13.0
  • Room Database 2.8.4
  • Lifecycle Components 2.10.0
  • ConstraintLayout 2.2.1

๐Ÿ“„ License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License v3.0 as published by the Free Software Foundation.

Fisca - Transaction and Income Tracking for ODSP Recipients
Copyright (C) 2026 Matthew Daluz

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

See LICENSE file for full license text.

๐Ÿค Contributing

Contributions are welcome! Since this app is designed for ODSP recipients in Ontario, please ensure any contributions:

  • Maintain offline-only functionality (no network calls)
  • Are relevant to Canadian/Ontario tax and benefit systems
  • Follow the GNU GPLv3 license requirements
  • Respect user privacy and data security
  • Include GPL license headers in all source files
  • Follow Kotlin coding conventions
  • Add appropriate documentation

See CONTRIBUTING.md for detailed guidelines.

๐Ÿ“ง Contact

For questions, issues, or suggestions, please open an issue on GitHub.

โš ๏ธ Disclaimer

This app is provided as-is for personal financial tracking. It is not a substitute for professional financial or tax advice. Always consult with a qualified tax professional or financial advisor for specific guidance on your situation.

๐Ÿ—บ๏ธ Roadmap

โœ… Completed Features

  • Basic project structure and build configuration
  • Transaction data models with multi-currency support
  • ODSP income models with gross/net pay tracking
  • Personal information model
  • Room database implementation with DAOs
  • Transaction entry UI with auto-calculation
  • Income entry UI with deduction tracking
  • Personal information form with validation
  • Transaction list view with edit/delete
  • Income history view with edit/delete
  • Statistics and reports page
  • Category and payment method breakdowns
  • CSV export functionality
  • CSV import functionality
  • Share exported files
  • Multi-currency support (CAD/USD)
  • Offline-only implementation (no internet permission)
  • GNU GPLv3 licensing

๐Ÿšง Future Enhancements

  • Data filtering and search
  • Date range selection for reports
  • PDF export for tax filing
  • HST calculator tool
  • Receipt photo attachment
  • Backup to local storage
  • Dark mode theme
  • Enhanced data visualization (charts/graphs)
  • Accessibility improvements
  • Multi-language support (English/French)
  • Widget for quick transaction entry
  • Recurring transaction support
  • Budget tracking features
  • Notification reminders

About

Fisca - A local-only Android app for logging transactions for making tax filing and similar easier. (Designed for Canada only)

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages