Skip to content

Library to parse transactional SMS texts. Give structured information about transaction from the SMS notifications received when transacting from banks, cards, wallets etc.

License

Notifications You must be signed in to change notification settings

saurabhgupta050890/transaction-sms-parser

Repository files navigation

Transaction SMS Parser

A library to parse transaction sms text to extract relevant information from it. A naive implementation using mostly regular expressions. Try the Live App to check the functionality

Installation

npm install transaction-sms-parser

How to use

The main method to use be used is:

getTransactionInfo(message: string): ITransactionInfo

It takes sms text as input and will give an object of ITransactionInfo type

interface ITransactionInfo {
  account: IAccountInfo;
  balance: IBalance | null;
  transaction: ITransaction;
}

interface IBalance {
  available: string | null;
  outstanding: string | null;
}

interface IAccountInfo {
  type: IAccountType | null;
  number: string | null;
  name: string | null;
}

enum IAccountType {
  CARD = 'CARD',
  WALLET = 'WALLET',
  ACCOUNT = 'ACCOUNT',
}

interface ITransaction {
  type: TTransactionType | null;
  amount: string | null;
  referenceNo: string | null;
  merchant: string | null;
}

type TTransactionType = "debit" | "credit" | null;

Example

import { getTransactionInfo } from 'transaction-sms-parser';

const sms =
  'INR 2000 debited from A/c no. XX3423 on 05-02-19 07:27:11 IST at ECS PAY. Avl Bal- INR 2343.23.';

const transactionInfo = getTransactionInfo(sms);
//output
{
    account: {
      type: 'ACCOUNT',
      number: '3423',
      name: null,
    },
    balance: { available: '2343.23', outstanding: null },
    transaction: {
      type: 'debit',
      amount: '2343.23',
      referenceNo: null,
      merchant: null,
    }
}

Testing

How to unit test ?

Tested with the SMS text from following banks/cards/wallets:

Banks:

  • Axis
  • ICICI
  • Kotak
  • HDFC
  • Standard Charted
  • IDFC
  • Niyo global
  • SBM Bank
  • Federal Bank

Credit Cards:

  • HSBC
  • Citi Bank
  • Sodexo
  • ICICI
  • Uni Card
  • Indusind Bank
  • Slice
  • One card
  • HDFC
  • IDFC

Wallets

  • Paytm
  • Amazon pay
  • Lazypay
  • Simpl
  • Paytm postpaid

About

Library to parse transactional SMS texts. Give structured information about transaction from the SMS notifications received when transacting from banks, cards, wallets etc.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published