fundstrack_lite 0.0.1 copy "fundstrack_lite: ^0.0.1" to clipboard
fundstrack_lite: ^0.0.1 copied to clipboard

A Flutter plugin to extract and parse debit/credit bank SMS on Android. Supports UPI and bank notifications.

fundstrack_lite #

A Flutter plugin for parsing and extracting banking transaction details from SMS inbox on Android devices.

  • Detects and parses both traditional bank and UPI SMS notifications.
  • Extracts: Amount, Account Number, Date, Time, Transaction Type (debit/credit), and Sender.

⚠️ Android only: iOS support is not available (due to OS restrictions).


Features #

  • Reads SMS inbox for debit/credit transaction messages.
  • Extracts structured data: amount, account, sender, date, time, transaction type.
  • Ready to use with custom ListView widgets and API integrations.

Installation #

Add to your pubspec.yaml:

dependencies:
  fundstrack_lite: ^0.0.1

Of course! Here’s your requested section as clean, ready-to-use Markdown for your README.md:


Android Setup #

1. Required Permission #

Add this line to your android/app/src/main/AndroidManifest.xml (outside <application>):

<uses-permission android:name="android.permission.READ_SMS"/>

2. Request Permission #

You need to request SMS read permission at runtime using permission_handler:

import 'package:permission_handler/permission_handler.dart';

Future<void> requestSmsPermission() async {
  await Permission.sms.request();
}

Call this before attempting to read SMS.


Usage #

import 'package:fundstrack_lite/fundstrack_lite.dart';

final smsList = await FundstrackLite.getBankSms([]);
// Returns: List<Map<String, dynamic>>

Each parsed message includes:

  • amount: Transaction amount
  • account: Account number (often last 4-6 digits or masked)
  • type: "debit" or "credit"
  • sender: Bank sender (e.g., AXISBK, SBI)
  • date: Transaction date (parsed from SMS, if available)
  • time: Transaction time (parsed from SMS, if available)
  • smsTimestamp: SMS received time (milliseconds since epoch)
  • body: Full SMS text

UI Example #

ListView.builder(
  itemCount: smsList.length,
  itemBuilder: (context, i) {
    final sms = smsList[i];
    return ListTile(
      title: Text("Amount: ${sms['amount'] ?? '--'}"),
      subtitle: Text("Type: ${sms['type']} - Account: ${sms['account']}"),
    );
  },
);

API Integration #

You can send each SMS to your backend for storage:

import 'package:http/http.dart' as http;
import 'dart:convert';

Future<void> sendSmsToServer(Map<String, dynamic> sms) async {
  await http.post(
    Uri.parse('https://your-api-endpoint.com/sms'),
    headers: {'Content-Type': 'application/json'},
    body: jsonEncode(sms),
  );
}

Limitations #

  • Android only.
  • Only works if SMS read permission is granted.
  • Some SMS formats may not be parsed; contribute improvements via PR!

Contributions #

Feel free to open an issue or PR to improve pattern recognition for new bank formats.


0
likes
0
points
21
downloads

Publisher

verified publisherfundsroom.com

Weekly Downloads

A Flutter plugin to extract and parse debit/credit bank SMS on Android. Supports UPI and bank notifications.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on fundstrack_lite

Packages that implement fundstrack_lite