My first suggestion is that they abandon Visual Baisic 6 as that is really not used any longer. But, enough of that rant.
A software specification can be very detailed, down to the subroutine level if it's for developers, or it can be written by "business types" who know nothing about programming. This is usually what is specified. Basically, you need to lay out what you want the program to do -- what you want it to accomplish. You should include a good amount of specificity.
You need to think about what the system has to do. If it's a credit card system, it needs to process transactions. It has to receive information about charges and credit sand process that correctly. You should provide additional information about this.
It also may have to generate reports for the credit card holders and for the companies that take credit cards. In other words, it needs to produce statements. In addition, you probably need to specify something about payments. It needs to receive and process payments; credit the proper accounts; pass the money along to the vendors and take its share of cash along with it.
If people will interact with the program, you will have to specify how you want them to interact. You don't have to specify what the screens will look like (though sometimes you get that type of thing), but more of how you want the user to interact with the program -- what you want him/her to see and possibly how you want the input to go.