System Requirements Document for Invoice Creation for Company

Problem 

A consulting company which focuses on advising companies on how best they can use technology in achieving their business goals. The consulting firm administrates and implements behalf of their clients. This company employees working on different projects with different clients. They work according to the requirements of the client project. The accountant collects the data of the employee like the working hours and the number of projects and the respective client company is noted down and calculated manually. The detailed invoice is sent to the client through email.  The accountant might have made mistakes in entering the data or calculating the amount. This would result in a false report and could create problems.

The consulting company would like to have a software invoice that automatically generates a detailed report about the payment. This would replace the existing system and improve the accuracy in the present system.

Objectives 

  • Maintains a detailed record of the employees such as a total number of hours, type of project, job role, and hourly pay.
  • Reduce human errors and automatic calculations are done without errors.
  • Can generate an invoice and detailed report on employee payments.
  • The automatically generated reports are flexible for the clients to pay to the employees.
  • Flexible usability for the employees to enter their login and logout hours.
  • Improves accuracy and timeliness, security.

Existing System:

In the existing system, we have employees working for different clients on different projects. The accountant calculates all the working hours of employees. But if he makes any mistake in data entry of calculating the hours then a wrong report about payment is sent to the client and it may over cost the client. The client again has to recheck everything and sent it back to the consultancy for re-evaluation or sometimes the employee does not get the correct pay. This helps to generate an invoice which is done manually.

The client has identified these problems:

  • Generation of the Invoice is very slow and takes a long time to remit to the employee.
  • The generation reports took even longer then invoice.
  • Delay in all the reports due to manual work and there are possible human errors which may cost the client.
  • Manual work is expensive
  • Data loss can happen easily
  • There is no way to find a duplicate entry of data.

Functional Requirements:

Maintain company information:

The manager maintains the company information in the system which has details about a company like its name, Address, City, State, Zip code.

Taking up the project:

The consulting company takes up the project from the client. They need to know every detail about the project.

Maintain project person information:

The company should maintain all the information about the project person such as project number, project name.

Maintain Employee information:

The company should maintain information about the employees working. It should provide details like Name, their title in the company and also the role they play in completing the project.

Maintain project data:

The company should have the proper information about the project such as client id which is provided by the company, project number, its name, start date, and end date, status, the name of the manager, name of the client, and budget for the project completion. 

Maintain client data:

The company should the client details such as project id, the name of the client, address of the company, email id, contact information, invoice frequency, billing terms, invoice grouping.

Enter Time for Employee

  • Input number of hours worked in a week
  • Input overtime hours

Generate Invoice

Create an invoice based on the following criteria

  • Input employee hours within the budget goal.
  • Project data that contains the Client*, Project number, Project name, Start Date*, End Date*, Status, Project Manager and Budget*.
  • There are employees who work overtime when needed.

Generate Reports

  1. Invoice Report
  2. Project Report
  3. Budget Report
  4. Payroll Report

Non-Functional Requirements 

  • Usability
    • The system must be easy to use so that user can easily perform any actions.
      • A User should be able to create an invoice without any difficulty in PDF format.
      • A user should be able to do that inaccurate time.
      • A user should be able to effectively operate the system with less than one hour of training.
    • Availability
      • The system must be highly reliable since, if the system is not available, the user can’t easily able to create an invoice.
        • The system should be available 99.999% of the office open hours.
      • Performance
        • All the actions should be performed in accurate time.
        • All the imports should be performed inaccurate time.
        • Generation of Invoice should be performed inaccurate time.
        • Generation of reports should be performed inaccurate time.
      • Supportability
        • The system should be developed in a common technology that the Accountants in the Consulting company should be able to use to make upgrades to the system
        • The system should be documented and coded in a way that a developer that was not originally on the development team could determine how to make updates.
      • Interface
        • The system must support an interface with some users.
        • The system must support a file exchange interface.
        • The system interface should provide multiple accesses.
        • Accountants, Project Manager, and Employees will operate and use this system.
  • Operations
    • In-office personnel will use the system. These users are not trained computer operators.
  • Legal
    • The system should meet legal and OC security requirements for People data.
    • No one should have access to specific People data.
    • Copyright protected.
    • Trade protected. 

Target Environment 

The system must normally function on a stand-alone Windows 10 based PC with 4G of memory and 200 GB hard drive. 

Use Cases 

This is a list of use cases identified for this system.  The definition of each use case follows. 

  • Log in
  • Log out
  • Add employee
  • Update employee
  • Delete employee
  • Add client
  • Update client
  • Add Client project
  • Update Client project
  • Start time for an employee
  • The end time for an employee
  • Enter time
  • Make an employee report
    • Add an employee
    • Number of hours worked
  • Which client

How many projects

Hourly pay

Method of payments by the client (monthly, weekly, bi-week, calendar)

  • Cancel
  • Save

Generate Reports

Client ID

Payment details

  • Date

Description

Rate

Hourly pay

  • Amount
  • Payment terms

Invoice number

Billing frequency

Total amount due 

System Authorization Use Cases

1         Log In

2         Log Out

 

Name Log in
Description Grant user access as an authorized user
Actor(s) User
Flow of Events 1. A User wants to use the system.

2. The user selects to login

3. User enters credentials

4. System tests the credentials and grants access or shows an error.

Special Requirements Require credentials (username and password)

 

Pre- Conditions The user has previously been set up as a user in the system
Post- Conditions The user is authorized to the system if requirements and exceptions are met.
Exceptions Credentials do not match what is in the system
Name Log out
Description Remove user access as an authorized user
Actor(s) User
Flow of Events 1. A User wants to end using the system.

2. The user selects to log out.

3. System logs out the users

4. The manager selects to save

Special Requirements Require store number and name

 

Pre- Conditions The user is currently authorized to the system
Post- Conditions No user is currently authorized if requirements and exceptions are met.
Exceptions There must be a user authorized before a user can be logged out.

 Maintain Client details 

Client data

Name Client Data
Description The manager should maintain all details about the client such as name, id, billing information etc.
Actor(s) Manager
Flow of Events

1. The manager should enter all the details about the client.

2. He should all the correct details of the client.

3. he should provide them with the payment details such as hourly payment rate, billing frequency.

 

Special Requirements Should require unique id for every client

 

Pre- Conditions The manager has been authorized to the system
Post- Conditions The manager will be able to enter all the details when he has accurate information from the client
Exceptions None

Maintain Employee information

  • Add employee
  • Delete employee
  • Update employee

 

Name Add employee
Description The manager should add an employee to the system
Actor(s) Manager
Flow of Events 1. When there is any new employee, the manager should enter all the required details to add the employee to the system

2. The manager should have all the details about employee details

3. The manager enters information about the employee

4. The manager should save all the details

Special Requirements The employee should have a unique id

 

Pre- Conditions The manager has been authorized to the system
Post- Conditions The manager will be able to add information to the system
Exceptions Do not add if the employee already exists in the system

 

Name Update employee
Description Update the information for an existing employee in the system.  This happens when a correction is required.
Actor(s) Manager
Flow of Events 1. A change in employee information is detected.

2. The manager selects to update an employee.

3. The manager selects the employee to update.

3. The manager enters information about the employee.

4. The manager selects to save the employee.

Special Requirements Require employee id

 

Pre- Conditions The manager has been authorized to the system
Post- Conditions Employee details will be updated when it meets all the requirements and expectations are met
Exceptions Do not add if the employee exists in the system

 

Name Delete employee
Description Delete the information for an existing employee in the system.  This happens when an employee detail is entered in error.
Actor(s) Manager
Flow of Events 1. Employee details are identified that needs deletion.

2. The manager selects to delete an employee.

3. The manager selects the employee to delete.

4. Manager deletes an employee.

Special Requirements
Pre- Conditions The manager has been authorized to the system
Post- Conditions The employee is deleted from the system if requirements and exceptions are met.
Exceptions  

 

Report maintenance

Name Generate project report
Description
Actor(s) Manager
Flow of Events 1. The manager should be able to generate a report.

2. The manager should enter all details

3. He should give all the required details

4. The manager selects to save

Special Requirements Require to give every detail as accurate

 

Pre- Conditions The manager has been authorized to the system
Post- Conditions The manager will be able to generate a report
Exceptions

Client Data

Name Client  Project Details
Description Report for project details for the client
Actor(s) Manager
Flow of Events 1. The manager should have all the details about the project

2. The manager selects the project by giving information like client id.

3. The manager enters the start date and end date

3. The manager enters information payment details

4. The manager selects to save all the details

Special Requirements Require unique client id
Pre- Conditions The manager has been authorized to the system
Post- Conditions The manager will be able to give a report regarding project details to the client
Exceptions

Client

Name Add Client
Description Add the details about for the new client.
Actor(s) Manager
Flow of Events 1. The new client is identified that needs to be added.

2. The manager selects to add a new client.

3. The manager enters the details about the client.

4. The manager adds the client.

Special Requirements Need to give the accurate details.
Pre- Conditions The manager has been authorized to the system
Post- Conditions Client details will be updated when it meets all the requirements and expectations are met
Exceptions Do not add if the client exists in the system

 

Name Update Client
Description Update the details about for the new client.
Actor(s) Manager
Flow of Events 1. Client details have identified that need to be deleted.

2. The manager selects to update a client.

3. The manager selects the client to update.

4. Manager updates a client.

Special Requirements Need to give the accurate details.
Pre- Conditions The manager has been authorized to the system
Post- Conditions Client details will be updated when it meets all the requirements and expectations are met
Exceptions

Project:

Name Add Project
Description Add the details about for the new project.
Actor(s) Manager
Flow of Events 1. The new project is identified that needs to be added.

2. The manager selects to add a new project.

3. The manager enters the details about the new project to be added.

4. The manager adds the project.

Special Requirements Need to give the accurate details.
Pre- Conditions The manager has been authorized to the system
Post- Conditions The manager will be able to give all the details when he has accurate information for the project.
Exceptions

 

Name Update Project
Description Update the details about the project.
Actor(s) Manager
Flow of Events 1. The new project is identified that needs to be added.

2. The manager selects to add a new project.

3. The manager enters the details about the new project to be added.

4. The manager adds the project.

Special Requirements Need to give the accurate details.
Pre- Conditions The manager has been authorized to the system
Post- Conditions The manager will be able to give all the details when he has accurate information for the project.
Exceptions

 Glossary

Term Definition
Company A company which handles all the projects
Manager A manager is a person who he responsible for maintaining project details.
Client A client is a person who gives a project for the manufacturing company
Employee A person who works for a manufacturing company
Billing information Billing information which gives details about payment information to the client about the project.
Project data Project data is given which has all the details about the project such as name and id.
Enter time The employee enters the that he worked in the week
Budget The Project should not exceed the budget
Payment remit This is generated by invoice and paid to the employee
Invoice This is a report which shows all details about the employees and the number of hours worked.
Project person It describes the project who is related to the project who gives it to the company.

Leave a Reply

Your email address will not be published. Required fields are marked *