You are on page 1of 14

Functional

Design Specification

Firm Billing
Application: Project: Status: Date: Version: Author: Demo Website Firm Billing Draft 06/12/2013 1.0

DOCUMENT HISTORY
Revision

Date

Revised By

Changes/Notes

Corresponding Document


FUNCTIONAL DESIGN FOR INTERNAL USE ONLY Page 1 of 14

Functional Design Specification


Table of Contents

Overview ....................................................................................................................................... 3 1.1 Component Overview ...................................................................................................... 3 1.2 Application Build Requirements ....................................................................................... 3 1.3 Design Assumptions ........................................................................................................ 3 2 Firm Billing Data Model ........................................................................................................... 4 2.1 Data Model....................................................................................................................... 4 3 Firm Billing Features ............................................................................................................... 5 3.1 Firm Billing Summary ....................................................................................................... 5 3.2 Invoice Summary ............................................................................................................. 7 3.3 Invoice Detail ................................................................................................................... 9 3.4 Edit Billing Information ................................................................................................... 12

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 2 of 14

Functional Design Specification


Overview
1.1 Component Overview
This document presents functional design specifications and use cases specific to the Firm Billing Function of the Website. The use cases presented here model the interaction between System end-user and the Website. It will serve the following purpose in our development process: To model the systems requirements; To provide specifications to guide implementation of the system; To validate whether prototypes and the final deployed system meet the initial requirements;

1.2

Application Build Requirements

The Demo Website uses the following supporting technology. The Firm Billing Feature should be built using the same technology. (WAR file or individual HTML pages can be provided from the existing website for developer to stub pages against) Application should be written in Java Build Manager, Apache Maven-3.05 Webserver, Apache Tomcat-07.0.37 Web framework, Apache Wicket Database, MySQL Charting Tool, HiChart

1.3

Design Assumptions
Firm Billing Invoices should be cached and do not have to be generated on-demand

Feature Elements include Billing Summary Page Invoice Summary Invoice Detail Billing Information Page (edit)

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 3 of 14

Functional Design Specification


2
2.1

Firm Billing Data Model


Data Model

For the Firm Billing Feature of the website, the following list the proposed data elements that may be required. This includes both objects that are available in the current system database and proposed objects that will need to be added. Existing Data FromAccountTable Account Status (Active, Suspended) FirmCost Cost (price per user) New Data Required Invoice InvoiceName (reflects billing for the month of) InvoiceNumber (generated by system) InvoiceDate (reflects the date that the invoice is generated, should be 3 days after month end) InvoiceStatus (outstanding, paid) AmountPaid AmountOustanding (Calculated Field = AmountDue AmountPaid) PaidDate (displays date, only if InvoiceStatus is paid Billing Info Address 1 Address 2 City State Zip Purchase Order Department Contact Name Contact # 1(Phone Number) Contact #2 (Phone Number) Fax (Fax Phone Number) Email Payment Info PayType (ACH or Invoice To Billing Address) PaymentInformation (if PayType = ACH) o BankName o RoutingNumber o AccountNumber

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 4 of 14

Functional Design Specification


3
3.1
3.1.1

Firm Billing Features


Firm Billing Summary
Provides a summary of total users on a system and what a firm owes because based on a pre-determined (license fee per user)

3.1.2

Firm Billing Summary Use Case


Use Case Use Case Reference Use Case Goal Actor Pre-Condition Post-Condition Firm Billing Summary 3.1 Displays a Summary of Firm Billing Website User NA Success System is able to display a summary of billing information Failure System is unable to determine and display billing information Actor selects Firm Billing Page 1. 2. 3. 4. 5. 6. Actor selects Firm Billing Page System retrieves the number of users (both inactive and inactive users) System retrieves cost per user (single value for the firm) System calculates billing summary total System displays values End Use Case

Trigger Description

Extensions or Variations Special Requirements 7. 8. Firm Billing Summary process should be performed at the end of each month Values should be stored so that they can be referenced on an ongoing basis

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 5 of 14

Functional Design Specification


3.1.3 Design Display for Firm Billing Summary

3.1.4

Field Elements and Business Rules


Element Display Label Firm Billing Graph Summary institutionID Table Summary Active Users Inactive Users Total Users License Fee (Calculated Field = Total Users X License Fee). For this examples, the license fee should be a value equal to $5 NA

User Input Reqd? Display Rules (data type, control type, sort order, field length) Field Rule

Error Result

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 6 of 14

Functional Design Specification


3.2
3.2.1

Invoice Summary
Displays a summary page for all current invoices generated for a firm.

3.2.2

Invoice Summary
Use Case Use Case Reference Use Case Goal Actor Pre-Condition Post-Condition Invoice Summary 3.2 Allows Actor to view a list of available invoices for his firm Website user NA Success Actor is able to view a list of available invoices Failure System is unable to generate a list, and actor is unable to view Actor selects Invoice in the navigation 1. 2. 3. 4. 5. Extensions or Variations Special Requirements Actor selects Invoice link within the navigation System retrieves list of available invoices System retrieves payment status of available invoices System displays page End Use Case

Trigger Description

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 7 of 14

Functional Design Specification


3.2.3 Design Display for Invoice Summary

3.2.4

Field Elements and Business Rules


Element Display Label Invoice Summary Invoice Summary Month of (Also the Invoice Name) Invoice Date (Date the Invoice is issued, the date following the end of the previous month. For The Month of May the invoice date would be June-1 Status (Details if the invoice has been paid or not paid) Paid Date (only displays if the invoice status = paid) No The Month of (Invoice Name) is linked to a detailed invoice (see next Use Case) Error Result

User Input Reqd? Display Rules (data type, control type, sort order, field length) Field Rule

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 8 of 14

Functional Design Specification


3.3
3.3.1

Invoice Detail
Displays the specific invoice that is generated as a billing record for the firm.

3.3.2

Invoice Detail
Use Case Use Case Reference Use Case Goal Actor Pre-Condition Post-Condition Account Invoice Detail 3.3 Allows Actor to view the specific invoice generated for their firm Website User NA Success Actor is able to select Invoice Name and view detailed invoice information Failure Actor is unable to view invoice detail Actor selects Invoice Name (e.g. May 2013) 1. 2. 3. 4. 5. Actor selects Invoice Name System retrieves billing information System calculates Amount Due System generate invoice End Use Case

Trigger Description

Extensions or Variations Special Requirements 6. Invoices should be generated and stored following the end of the month. This reflects the [invoice date], meaning the date that this process was run and the invoice was generated.

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 9 of 14

Functional Design Specification


3.3.3 Design Display for Invoice Detail

3.3.4

Field Elements and Business Rules


Element Display Label Invoice Detail Invoice Information Invoice Name Invoice Number (generated by system) Invoice Date (date process is run) Firm Name Firm ID (generated by system) Purchase Order Number (provided by firm) Billing Contact Information Address 1 Address 2 City State Zip Department Contact Name Phone 1 Phone 2 Fax Number Email Invoice Amount Users (Active on the system) Users (Inactive on the system) Total Users Cost per user license Subscription Total (calculated field = Total users x Cost per user license) Additional Fees, any outstanding balance

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 10 of 14

Functional Design Specification


Element Invoice Detail User Input Reqd? Display Rules (data type, control type, sort order, field length) Field Rule No Notes field (test field next to additional fees) Total Amount Due (calculated field = Subscription Total + Additional Fees

Error Result

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 11 of 14

Functional Design Specification


3.4
3.4.1

Edit Billing Information


Allows user to edit the billing information associated with the firm and the invoice.

3.4.2

Edit Billing Information


Use Case Use Case Reference Use Case Goal Actor Pre-Condition Post-Condition Edit Billing Information 3.4 Allows Actor to edit their billing and payment information Website User NA Success Actor is able to select Billing Info and edit billing information Failure Actor is unable to edit their billing, contact, or payment information Actor selects Billing Info within Nav 1. 2. 3. 4. 5. 6. 7. Actor selects Billing Info within Navigation System retrieves and displays Billing Information System retrieves and display payment information Actor select edit billing information Actor updates contact information End Use Case Actor may select a second brokerage firm or third brokerage firm. Dependent on how many previous accounts added If enters edit with blank fields, the following error message is returned The following field is required, please enter information

Trigger Description

Extensions or Variations Special Requirements

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 12 of 14

Functional Design Specification


3.4.3 Design Display for Billing Information

Design Display for Edit Billing information

3.4.4

Field Elements and Business Rules


Element Display Label Billing Information Display Only Fields (cannot be edited by user) Firm Name Firm ID (generated by system)

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 13 of 14

Functional Design Specification


Element Billing Information Billing Fields that can be edited Address 1 Address 2 City State Zip Department Contact Name Phone 1 Phone 2 Fax Number Email Purchase Order Number (provided by firm) Required Field Payment Information Payment Method (ACH or Invoice direct to Accounts Payable) If Payment Method = ACH o Bank Name o Bank Routing Number o Bank Account Number

Please NOTE that is user selects Payment Method =ACH, this only stores the value. It is not connected to a payments service.
User Input Reqd? Display Rules (data type, control type, sort order, field length) Field Rule Yes Bank Routing Number and Account Number should be obfuscated except for the last 4digits of the numbers Error Result

FUNCTIONAL DESIGN

FOR INTERNAL USE ONLY

Page 14 of 14