Technical writing/Making a bad requirement good/AdamHanaExercise

Terms and Definitions

 * Billing Session (referred to as a Session for Bill Results, SFBR)
 * Hot-bill
 * Personal Account

Prerequisits: The system shall allow customers to have several contracts that may contain several Personal Accounts each.

Printing Invoices

 * PI 01: The system shall automatically print invoices at the end of a Billing Session, be it a regular Billing Session or a Hot-bill.
 * PI 02: The system shall allow for the following types of invoice printing:
 * Regular
 * Reprint
 * Hot Billing

Regular Printing
input: SFBR (session for bill results)


 * RP 01: The system shall print invoices for the previous month (Billin Session) for all customers at the beginning of the month.
 * RP 02: The system shall print regular invoices in a bulk procedure.
 * RP 03: The system shall allow the user to define for which customers invoices will be printed according to a list of Personal Accounts.

Reprint

 * Re 01: The system shall allow for the reprinting of all invoices for particular periods of time (for example, previous year, previous month and so forth).

Hot Billing

 * HB 01: The system shall allow for the immediate printing of selected customers' invoices at any point before the end of the reqular Billing Session (Hot-bills).
 * HB 02: At the end of each month, the system shall allow the printing all Hot-bills generated in the Billing Session in one-step procedure.

One customer can have several contracts; each contract can have several personal accounts. So to print invoices of one customer it is necessary to use list of personal accounts. If customer closes contract (usually other day then at date of billing session), then a hot-bill will be created and the regular bill created as well. At the billing session close there runs a check-up for any hot-bills. For the personal account with a hot-bill there will be created a new shorter billing period for the regular bill, excluding the period of the hot-bill.