Thursday, May 17, 2018

Setup Meld for GIT on Windows

Try running the following lines on command prompt:

Assumption: GIT is currently installed on your Windows machine.

git config --global merge.tool meld

git config --global diff.tool meld

git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"

Sunday, October 29, 2017

Bills Payment Collection: Teller's Perspective

Typical Scenario in the World of Bills Payment

Mr. Postman approaches a residential gate and leaves a Meralco bill inside the mailbox. After a while, Ms. Millennial checks her mailbox and sees the Meralco bill. She opens it and reads the mail contents. Nothing new - she expects this every month. Ms. Millennial heads to the bank and lines up to pay her month's electricity bill over-the-counter. Mr. Teller receives the Meralco bill a.k.a. Statement of Account (SOA) from Ms. Millennial. Then, he verifies details before processing collection of the payment. On top of the Meralco bill, Mr. Teller asks Ms. Millennial for a service / processing fee in cash.

Upon successful processing, Mr. Teller prints a payment validation for Ms. Millennial's Statement of Account. The bank informs Meralco regarding the payment made by Ms. Millennial.

Ms. Millennial expects an uninterrupted electrical service for the coming month since she successfully paid her electric bill at the bank.

Main Players

Here are the three main players you will notice in any bills payment saga.
Player
Description
1. Merchant
  • Also known as Biller, Institution, Bill-issuing company.
  • The service provider / product supplier.
  • A good example for this is Meralco.
2. Subscriber
  • Also known as Customer, Client.
  • The receiver of services / products provided by Merchant.
3. Payment processor
  • Also known as Payment Center, Financial institution, Bills payment agent.
  • Serves as 'Bayad Center'.
  • An example would be a BDO teller which processes Payment Slips.
  • Payment processor between Subscriber and Merchant.
A teller (a.k.a. cashier or customer representative), being the front liner for bills payment, also bears the burden of validating and processing payments from subscribers paying over-the-counter. Apparently, automation is key to alleviate the problem.


Questions on a Teller's Mind
From the story above, try to imagine what is in Mr. Teller’s mind while processing the payment being made by Ms. Millennial. It might be dozens among the following:
  • Is our branch open and ready to process any payment transaction right now?
  • Do I have access to our bills payment system?
  • Is our branch allowed to accept payment on behalf of the Merchant specified on the customer's Statement of Account (SOA)?
  • Where can I locate the subscriber's number and name from SOA?
  • Can I use a barcode scanner to enter subscriber details?
    • Where is the barcode located on the SOA?
    • Can I manually input in case of barcode scanner unavailability?
      • Do I remove certain characters (space, hyphen, etc.) during manual input of barcode numbers?
  • Will processing of this payment require branch officer override?
  • Can I cancel or modify a successfully posted transaction?
  • Is the subscriber allowed to pay beyond due date?
  • Should I require the payor to present the statement of account while paying?
  • Should the payor present valid identification card/s for this payment to proceed?
  • Should I collect a service fee? How much?
  • Should I collect service fee
    • From the payor?
    • From the Merchant? Will it be collected daily or monthly?
  • In which collection account will the payment go?
  • What are the acceptable mode of payments? Is cash allowed? How about check?
  • If is check payment:
    • Will I allow a late check?
    • Is the check payee name listed on the valid payee names for this merchant?
    • Will I allow multiple checks as payment for this payment transaction?
    • Will I allow combination of cash and check in this transaction?
  • Is this payment transaction reportable to Anti-Money Laundering Association (AMLA)?
  • Are there any payment amount limitations? If any, is the payment amount valid for the minimum and maximum amount allowed?
  • Will I allow it should the customer opts
    • for a partial payment?
    • for advance payment?
  • What currency is allowed for this payment? For the service fee (if any)?
  • Where can I get instructions for this merchant? This merchant’s product/s?
  • Which specific product of the Merchant is being paid for (if any)?
  • Is subscriber number subject to format / check-digit validation?
  • In which media / form should the payment validation be printed on?
    • SOA
    • Payment slip
  • Should the merchant be informed right away about the payment received? Or it can be at the end of the day?
  • How can I get help should problems arise during bill payment?
  • Can I reprint the payment validation?
  • Is the printed validation correct in terms of the following:
    • Transaction date and time
    • My teller ID
    • Sequence number
    • Organization name
    • Branch code
    • Currency
    • Transaction amount
    • Subscriber number
    • Merchant name
    • Transaction code
    • Merchant code
    • Product code (if any)
  • Should I take note of the conversion rate for this payment?
  • How much money is in my cash drawer (before I take a lunch break / end my shift)? Does it correspond to the total of payments I have received (since Start of Day / start of shift)?
  • What are the payments I made for a given time period?

There are a lot of questions. And Mr. Teller may ask these for each bill being paid for by Ms. Millennial and other subscribers.

What All the Fuss Was About
We just discussed above about bills payment from a teller’s point-of-view. As IT specialists, imagining from user’s perspective is the key to building a system that is relevant to the user, in this case a bills payment system for use over-the-counter.

I would like to say thanks to Carl, Claire, Kim, Ben, Dhoris. You know what I mean. :)

Thursday, November 5, 2015

How to open big text files on Ubuntu

Problem:
You want to read a big text file. But the editor is very slow loading it.

Solution:
Chop the big text file into smaller ones.

split -b 1024k <path/of/your/filename.txt>

The Terminal command above splits the file path/of/your/filename.text into 1024kb files.

Thursday, August 13, 2015

Resolve missing .classpath and .project on Grails project

Problem
You have an existing Grails project. It cannot be imported by eclipse / STS IDE because the files .classpath and .project are both missing.

Solution
Open the terminal on the grails project folder.
Then, run the following command on your terminal:
grails integrate-with --eclipse

Friday, April 24, 2015

How to Execute a bin File on Linux

Problem
How do I execute a .bin file on Linux?

Solution
1. Open your terminal

2. Run the following command to make the file executable:
chmod u+x <file name>

3. Execute the bin file using the following command:
./<file name>

If the installer needs administrator rights, try this command instead:
sudo ./<file name>

Friday, April 17, 2015

How to Run Integration Tests on Grails

Problem
How do I run integration tests on Grails?

Solution
Run the following command on the console:
grails test-app integration:integration

Friday, April 10, 2015

How to Drop All User Tables in Oracle

Problem
You want to remove/drop all user tables from on Oracle Database.

Solution
1. Run the following SQL query
select 'drop table '||table_name||' cascade constraints;' from user_tables;

2. Run the SQL query generated after the 1st step above.