4679 PC17US96/20102
BILLING STATEMENT RENDERING SYSTEM AND METHOD
TECHNICAL FIELD OF THE INVENTION
This invention relates in general to the field of data communication and more particularly to a system and method for the production of billing statements. BACKGROUND OF THE INVENTION
Service and product providers must bill their customers. To do so, these service and product providers, such as cable television operators, local telephone service providers, long distance telephone providers, and credit card companies, must produce periodic billing statements for each of their customers. In the case of a cable television operator, each customer receives a monthly billing statement. A single cable television company may operate numerous cable television franchises in several geographic regions, covering millions of customers. Each of these customers receives a billing statement each month.
Billing statements are often printed and mailed by bill Tenderers, which a service provider, such as a cable television operator, will contract to produce its billing statements. In this arrangement the service provider often furnishes the bill renderer with the customer data to be printed on the billing statements.
A service provider may use more than one bill renderer to produce its billing statements. Employing more than one bill renderer reduces the risks associated with using a single bill renderer for the entire production of btfling statements. If only a single bill renderer is used for the production of all of a service provider's billing statements, the timely delivery of the billing statements may be compromised if the selected bill renderer is unable
to complete the production of the bills promptly because of mechanical failure, natural disaster, work stoppage, or some other reason.
Each bill renderer, however, may require that the service provider format the customer data in a manner unique or proprietary to that bill renderer. Therefore, for each bill renderer, the service provider must be certain mat the data is provided to the bill renderer in the format required by the bill renderer. Separating customer data by bill renderer and then formatting the data according to each bill Tenderer's specifications is a time consuming and costly process for the service providers. SUMMARY OF THE INVENTION
In accordance with the present invention, a billing statement rendering system and method is provided in which the customer data to be printed or rendered onto a series of billing statements is provided to each of the bill Tenderers in a single format that can be interpreted by each of the service provider's bill Tenderers. It is an object of the present invention to provide a single, easily interpretable, bill renderer definition format that may be used by all of a service provider's bill Tenderers.
The customer data to be rendered onto a series of billing statements is formatted according to a bill renderer definition format. The bill Tenderer definition format of the present invention defines the nested format of both global customer data and individual customer data for the billing statement production run.
The global customer data and individual customer data is formatted and provided to a bill renderer. The bill renderer interprets the formatted data and prints a series of customer billing statements.
In another embodiment of the present invention, the formatted global customer data and individual customer data may be interpreted and then displayed on the computer terminal of a customer service representative of the service provider. BRIEF DESCRIPTION OF THE DRAWINGS
A more complete understanding of the present invention and the advantages associated therewith may be acquired by referring to the accompanying drawings in which like reference numbers indicate like features and wherein: FIGURE 1 is a graphical representation of the architecture of a bill renderer and a service provider's customer management system indicating the data flow of the printing of a billing statement;
FIGURE 2 is a graphical representation of a customer billing statement printed according to the billing statement rendering system and method of the present invention; and
FIGURE 3 is a flow chart of a method for providing customer billing data to a bill renderer according to the method of the present invention. DETAILED DESCRIPTION OF THE INVENTION
Service and product providers, such as cable television providers, local telephone service providers, long distance telephone providers, and credit card companies, store customer data on one or more databases within a customer management system. The customer management system manages the data comprising each customer account. As a customer's account changes over time, as a result of, for example, service and product orders and deletions, the customer management system updates the customer
data so that an accurate current and historical record is maintained of each customer's account history.
FIGURE 1 is a graphical representation of a customer management system 10 of a service provider. A customer management system may include one or more data servers 12 connected across one or more communications links 13 to one or more customer databases 14. Databases 14 may be all located in one physical location or may be located in separate physical locations. Each of data servers 12 is connected across one or more communications links 17 to a billing production processor 15, which processes and handles the customer data maintained in customer management system 10. Billing production processor 15 of the present invention includes a billing data extraction processor 16 and a billing data format processor 18.
AU the customers of a service provider are not billed at the same time each month. A service provider will often bill its customers on a rolling monthly schedule so that different sets of customers, perhaps differentiated by geographic region, are each billed during different periods of each month. At the time of the month that a billing statement production run is to be initiated so that a given set of customers may be billed, billing data extraction processor 16 extracts from customer databases 14 the customer data that is to be printed on the billing statements to be sent to the billed customers.
The output of billing data extraction processor 16 is provided to billing statement format processor 18. The output of billing data extraction processor 18 is the unformatted customer data for each customer to be billed. The unformatted customer data provided at the output of billing data extraction processor 16 includes account status information, customer
address information, account balance information, legal notices, promotional notices, and other data for each of the customers to be billed.
Billing statement format processor 18 receives the unformatted customer data from billing data extraction processor 16 and converts this data according to a bill render definition format. The output of billing statement format processor 18 is the formatted customer data for the set of customers to be billed. The output of billing statement format processor 18 may be saved to one or more formatted customer billings file 20, which may on any suitable memorystorage medium, including tapes, disks, optical storage medium, or workstation or data server hard drives. Formatted customer billing file 20 contains the formatted customer data for each of the customers to be billed.
Formatted customer billing file 20 is provided to one of any number of available bill Tenderers 22. A bill renderer interpreter processor 24 (1) interprets the syntax of formatted customer billing file 20, which is formatted according to the bill renderer definition format, (2) extracts the customer data from formatted customer billing file 20, and (3) sends the interpreted and extracted data to a printer 26, which prints a series of customers billing statements 28. The output of billing data format processor 18 is formatted according to the bill renderer definition format of the present invention. The bill renderer definition format provides a simple format for the service provider's customer data. The bill renderer definition format of the present invention is defined according to a set of well defined grammatical rules that can be easily interpreted by the bill renderer interpreter module 18 of each of the service provider's bill Tenderers 22.
The bill renderer definition format of the present invention includes a plurality of elements. Each element has a definition. An element is defined by a series of one or more nested elements, each of which may in turn have one or more elements nested within its definition, and so on. Formatted customer billing file 20 contains a plurality of elements, each arranged one after another on successive lines of customer billing file 20. The elements comprising the bill renderer definition format of the present invention comprise terminal elements, nonterminal elements, and literal elements. Terminal elements, which serve as flags or markers, are indicated in the text below in bold face and are reproduced as shown in formatted customer billing file 20. Nonterminal elements are shown below in angle brackets. Terminal elements, other nonterminal elements, or literal elements may comprise the definition of a nonterminal element. A literal element may be an integer or on alphanumeric string. As shown below, literal elements are preceded by a dash. A terminal element does not have a nested definition. In contrast, a nonterminal element has a nested definition.
Within the definition of a element, the allowable repetition of zero, one, or multiple nonterminal elements is indicated by braces surrounding the nonterminal element. In addition, the bill renderer definition format of the present invention allows for the omission of a nontemύnal element that is bracketed by braces. Further, the definition of nonterminal element may include a list of nonterminal elements or terminal elements separated by a vertical bar, indicating that only one symbol from the list may be selected to complete the definition of the element. The first element in formatted customer billing file 20 is "Render
File", defined below:
< Render File > = < Render File Header >
{ < Statements } < Render File Trailer >
As shown above, nonterminal element "Render File" includes nonteπninal element "Render File Header," followed on the next line by nonterminal element "Statement," followed on the next line by nonterminal element "Render File Trailer". The braces surrounding nonterminal element "Statement" indicate that zero, one, or multiple instances of nonterminal element "Statement" may appear on successive lines of customer billing file 20.
Nonterminal element "Render File Header," which is nested as a nonterminal element in the definition of nonterminal element "Render File," is defined as:
< Render File Header > = Render File Header
- file name
- date
- statement count < BRDF Version >
< Render File Action >
< Stock >
< Insert Definition > { < Message Definition > }
{ < Font Definition > } { < External Picture Definition > }
Indicated in bold, terminal element "Render File Header" serves as a flag to bill renderer interpreter processor 24 that a definition of the file header for each of customer billing statements 28 to be printed follows next in formatted customer billing file 20. "File Name" is a literal element representing the file name of formatted customer billing file 20. "Statement Count" is an integer value literal element representing the number of customer statements to be printed as part of the current billing statement production run from the data contained in formatted customer billing file 20.
The next symbol in the definition of element "Render File Header" is nonterminal element "BRDF Version." Nonterminal element "BRDF Version" is defined as:
< BRDF Version > = 1
The designation "1 " indicates to bill renderer interpreter processor 24 that formatted customer billing file 20 is formatted according to release 1 of the bill renderer definition format.
The next symbol in the definition of element "Render File Header" is nonterminal "Render File Action," defined as:
< Render File Action > = GO I TEST
I HOLD
The terminal element "GO" indicates to bill renderer interpreter processor 24 that the data from formatted customer billing file 20 is to be rendered onto a set of billing statements to be eventually sent to the service providers customers. The terminal element "TEST" indicates that a test run of billing statements is to be printed but not sent to customers, and the terminal element "HOLD" indicates that bill renderer interpreter processor 24 is to interpret the data from customer billing file 20 but should not send the inteφreted data to printer 26. The vertical bars separating terminal elements "GO", "TEST", and "HOLD" indicate that only one of the three available terminal elements may be selected to complete the definition of element "Render File Action."
The next element in the definition of element "Render File Header" is nonterminal element "Stock," defined as:
< Stock > = - Stock Identifier
Terminal element "Stock Identifier" is an alphanumeric string representing the paper stock to be used for the billing statement. Several paper stocks may be available, each having unique preprinted portions, such as company logos, watermarks, or preprinted boxes intended to surround account numbers or account balances. The bill renderer definition format of the present invention is flexible such that it can define customer billing information to be printed on any predefined paper stock. The stock identifiers and the matching paper stocks are provided to the bill renderer in advance of the billing statement production run.
The next element in the definition of element "Render File Header" is nonterminal element "Insert Definition," defined as:
< Insert Definition > = Insert Definition
- Number of Insert Bins { < insert identifier >
< insert priority>}
An insert is a separate legal, public service, or marketing notice placed in the same envelope as one or more billing statements. The terminal element "Insert Definition" signals to bill renderer interpreter processor 24 that a definition of the inserts that may be used in the current billing statement production run follows. The literal element "Number of Insert Bins" represents the number of available inserts for the current billing statement production run. The next element in the definition of nonterminal element
"Insert Definition" is a symbol comprising two nonterminal elements, "Insert Identifier" and "Insert Priority," collectively bracketed by braces:
{ < Insert Identifiers <Insert Priority>}
The brackets indicate that the combination of the bracketed symbols may appear zero, one, or multiple times, with each new symbol appearing on a new line. The nonterminal element "Insert Identifier" is further defined as:
< Insert Identifier > = - Insert Number
Insert Number is a literal element representing an identifying number for an insert that has been previously been provided to the bill renderer. Nonterminal element "Insert Priority" is further defined as:
< Insert Priority > = REQUIRED
I OPTIONAL
The terminal elements "REQUIRED" or "OPTIONAL" indicate, respectively, whether the referenced insert must be included in the same envelope as the referenced billing statement or may be omitted depending on the mailing weight of the envelope or the availability of the insert.
The next element in the definition of element "Render File Header" is nonterminal element "Message Definition," defined as:
< Message Definition > = Message Definition message identifier number < text >
A message is a text message printed on the billing statement and may contain legal or marketing information. A message definition is useful if the same message is to be reproduced on a number of customer billing statements. Nonterminal element "Message Definition" is bracketed by braces in the definition of element "Render File Header," indicating that the element may appear in the definition of element "Message Definition" in formatted customer billing file 20 zero, one, or multiple times, with each new entry appearing on a new line. Terminal element "Message Definition" signals to bill renderer interpreter processor 24 that the identification of a message follows. Literal element "Message Identifier Number" is an alphanumeric identifier for the message. Nonterminal element "Text" is defined as:
< Text > = - Static Text
The literal element "Static Text" is an alphanumeric text string to be printed on the billing statement. In the case of a cable television provider, an example of a "Static Text" literal element may be a marketing or informational notice, such as:
"HBO WILL BE LOCATED ON CHANNEL 42 EFFECT JAN. 1 "
The next element in the definition of element "Render File Header" is nonterminal element "Font Definition." Nonterminal element "Font Definition" is bracketed by braces in the definition of element "Render File Header," indicating that the nonterminal element "Font Definition may appear in formatted customer billing file 20 zero, one, or multiple times, with each new entry appearing on a new line. Nonterminal element "Font Definition is defined as:
< Font Definition > = Font Definition < Font >
Terminal element "Font Definition" signals to bill renderer inteφreter processor 24 that a font definition follows. Nonterminal element "Font" is defined as:
< Font > = Font
Literal element "Font" is an alphanumeric identifier for a predefined font. The next element in the definition of element "Render File Header" is nonterminal element "External Picture Definition. " Nonterminal element "External Picture Definition" is bracketed by braces in the definition of element "Render File Header," indicating that the nonterminal element "External Picture Definition" may appear in formatted customer billing file 20 zero, one, or multiple times, with each new entry appearing on a new line. An external picture is a logo or other picture that may be printed by bill
renderer 22 on the referenced billing statements. Nonterminal element "External Picture Definition" is defined as:
< External Picture Definition > = External Picture Definition
- Picture Identifier
Terminal element "External Picture Definition" signals to bill renderer inteφreter processor 24 that the definition of an external picture follows. Literal element "Picture Identifier" is an alphanumeric value representing an external picture.
The nonterminal element "Render File Header" appears at the beginning of each customer billing file 20. Following nonterminal element "Render File Header" is one or more instances of nonterminal element "Statement." Each nonterminal element "Statement" corresponds to a single customer billing statement that is to be rendered by bill renderer 22. In contrast, the information provided in nonterminal element "Render File Header" is global information pertaining to each of the customer billing statements to be rendered in the current billing production run. As described above, the information provided in nonterminal element "Render File Header" describes (1) the name of customer billing file 20; (2) the date of the production run; (3) the number of statements to be rendered; (4) the release of the bill renderer definition format; (5) the paper stock; (6) the available inserts for the current production run; (7) the available messages for the current production run; (8) the available fonts for the current production run; and (9) the available external pictures for the current production run.
Each nonterminal element "Statement" defines the printed matter that is to appear on a single customer's statement. Nonterminal element "Statement" is defined as:
< Statement > = < Statement Header >
{ < Element > }
Each nonterminal element "Statement" includes a nonterminal element "Statement Header." Nonterminal element "Statement Header" is defined as:
< Statement Header > = Statement Header
- statement number
- account number { < insert identifier s }
< statement action >
Terminal element "Statement Header" signals to bill renderer processor 24 that a definition of a statement header follows. Literal element "Statement Number" represents an integer representing the number of the billing statement in the current billing statement production run. The first statement to be rendered has a literal element "Statement Number" of 1 ; the second statement to be rendered has a literal element "Statement Number" of 2, and so on. The literal element "Account Number" represents the customer account number of the current statement.
The next symbol in nonterminal element "Statement Header" is nonterminal element "Insert Identifier," described above. Nonterminal element "Insert Identifier" is bracketed by braces, indicating that the element may appear in the definition of nonterminal element "Statement Header" in formatted customer billing file 20 zero, one, or multiple times, with each new entry appearing on the same line, separated by spaces. The bill renderer definition format of the present invention contains an exception to the usual formatting conventions with respect to nonterminal element "Insert Identifier." If no inserts are scheduled to be placed in a customer's bill, nonterminal element "Insert Identifier" is represented by a blank line in customer billing file 20. This practice contrasts with the standard formatting convention of the bill renderer definition format of the present invention, which provides that if the data represented by a bracketed symbol is to be omitted, customer billing file continues with the next element, without the insertion of a blank line to denote the omission of a bracketed nonterminal element.
The next symbol in nonterminal element "Statement Header" is nonterminal element "Statement Action," defined as:
< Statement Action > = SEND
I CORPORATE I CABLESYSTEM
In the case of a cable television provider, the terminal elements "SEND," "CORPORATE," AND "CABLESYSTEM" indicate, respectively, whether bill renderer should mail the completed bills to the send address on the bill,
transport the completed bills to the cable service provider's coφorate facility, or transport the completed bills to the cable service provider's local franchise facility.
Following the nonterminal element "Statement Header" in the definition of nonterminal element "Statement" is nonterminal element
"Element," which is bracketed by braces, indicating that nonterminal element
"Element" may appear zero, one, or multiple times in customer billing file
20. Nonterminal element "Element" is defined as:
< Element > = < due date >
I < external picture > I < line >
I < lock box scan line > I < message > I < rectangle >
I < remit address > I < rounded rectangle > I < send address > I < static text >
The nonterminal elements comprising the definition of nonterminal element "Element" are separated by vertical bars, indicating that only one of the nonterminal elements may be selected. Recall, however, that nonteπriinal element "Element" is bracketed by braces in the definition of nonterminal element "Statement," thereby allowing repetition of the nonterminal element "Element" in customer billing file 20.
The first symbol in the definition of nonterminal element "Element" is nonterminal element "Due Date," which is defined as:
< Due Date > = DueDate
< static text>
The terminal element "Due Date" signals to bill renderer inteφreter processor 24 that a definition follows for the due date of the current billing statement. The nonterminal element "Static Text" is defined as:
< Static Text > = StaticText
< font >
Nonteirninal elements "Text" and "Font" are described above. Nonterminal elements "ori x" and "ori y" are defined as:
< ori x > = - x Coordinate of Origin < ori y > = - y Coordinate of Origin
The origin of the billing statement is defined to be the upper lefthand corner of the billing statement. The coordinates of an alphanumeric string of static text are defined to be the lowermost lefthand portion of the alphanumeric string. The literal elements "X Coordinate of Origin" and "Y Coordinate of Origin" represent point sizes, expressed as integers, that indicate the location
of the static text string relative to the origin of the billing statement. There are 72.27 points per inch.
The next element in the definition of nonterminal element "Element" is nonterminal element "External Picture," defined as:
< External Picture > - ExternalPicture
- picture identifier
Terminal element "External Picture" signals to bill renderer inteφreter processor 24 that the location and identifier for an external picture follows. The next element in the definition of nonterminal element "Element" is nonterminal element "Line," defined as:
< Line > = Line
< ptl x > < ptl y > < pt2 x > < pt2 y>
Terminal element "Line" signals to bill renderer inteφreter processor 24 that the location and definition of a line follows. A line may extend in the vertical, horizontal, or diagonal direction on the billing statement.
Nonterminal elements "ptl x," "ptl y," "pt2 x," and "pt2 y" are defined as:
< ptl x > = - X Coordinate of First Point < ptl y > = - Y Coordinate of First Point
< pt2 x > = - X Coordinate of Second Point
< pt2 y > = - Y Coordinate of Second Point
Literal elements "X Coordinate of First Point" and " Y Coordinate of First Point" define the x and y coordinates with respect to the origin of the billing statement of one termination point of the line. Literal elements "X Coordinate of Second Point" and "Y Coordinate of Second Point" define the x and y coordinates with respect to the origin of the billing statement of the other termination point of the line.
The next element in the definition of nonterminal element "Element" is nonterminal element "Lock Box Scan Line," defined as:
< Lock Box Scan Line > = LockBoxScanLine
< Static Text >
Terminal element "LockBoxScanLine" signals to bill renderer inteφreter processor 24 that the location and definition of a Lock Box Scan Line follows. A lock box scan line is the computer readable set of alphanumeric characters that is printed on the bill to aid financial clearinghouses in the processing of remitted bills. The next element in the definition of nonterminal element "Element" is nonterminal element "Message," defined as:
< Message > = Message
- Message Identifier Number
< font >
Terminal element "Message" signals to bill renderer inteφreter processor 24 that the definition and location of a message follows. A message is a text message to be printed on the bill. Literal element "Message Identifier Number" represents an alphanumeric identifier for a message that has previously been identified in the definition of nonterminal element "Render File Header." Nonterminal elements "ori x" and "ori y" define the location of the message with respect to the origin of the billing statement. Nonterminal element "Font" specifies the font of the message.
The next element in the definition of nonterminal element "Element" is nonterminal element "Rectangle," defined as:
< Rectangle > = Rectangle
< ori x > < ori y >
< width > < height>
Terminal element "Rectangle" signals to bill renderer inteφreter processor 24 that the definition and location of a Rectangle fol lows . Nonterminal elements "ori x" and "ori y" specify the location of the upper lefthand corner of the rectangle relative to the origin of the billing statement. Nonterminal element width and height are defined as:
< Width > = - width
< Height > = - height
Literal elements width and height represent integer values that specify, respectively the width and height of the rectangle whose upper lefthand
corner is located at the location specified by nonterminal elements "ori x" and "ori y." Nonterminal element "Rounded Rectangle" also appears in the definition of nonterminal element "Element". Nonterminal element "Rounded Rectangle" is defined as
< Rounded Rectangle > = RoundedRectangle
< ori x > < ori y >
< width > < height>
The definition of nonterminal element "Rounded Rectangle" is similar to the definition of "Rectangle" except for the provision of rounded corners on the rectangle produced by nonterminal element "Rounded Rectangle."
Also included in the definition of nonterminal element "Element" are nonterminal elements "Remit Address" and "Send Address," defined respectively as:
< Remit Address > = RemitAddress
- zip code
- number of elements { < address element > }
< Send Address > = SendAddress
- zip code
- number of elements { < address element > }
Terminal elements "Remit Address" and "Send Address" signal to bill renderer inteφreter processor 24 that the definition and location of a remit address or a send address follows. Literal element zip code represents the five or nine digit zip code of the address specified by the service provider to receive the remitted bill from the customer. Literal element "Number of Elements" specifies the number of address elements that follow in the definition of nonterminal element "Remit Address" or "Send Address." Nonterminal element "Address Element" is bracketed by braces, indicating that nonterminal element "Address Element" may appear zero, one, or multiple times in customer billing file 20 as part of the definition of nonterminal element "Remit Address" or "Send Address." Nonterminal element "Address Element" is defined as:
< Address Element > = < Address Bar Code > I < External Picture >
I < Line > I < Rectangle > I < Rounded Rectangle > I < Static Text >
Each of the nonterminal elements comprising the definition of nonterminal element "Address Element" has been defined above with the exception of nonterminal elements "Address Bar Code," which is defined as:
< Address Bar Code > = AddressBarCode
< static text >
Terminal element "Address Bar Code" signals to bill renderer inteφreter processor 24 that the definition and location of an address bar code follows. An address bar code is a computer readable format placed below a mailing address to aid the automated postal processing of the addressed billing statement.
Each of the nonterminal elements comprising the definition of nonterminal element "Address Element" comprises static text strings that can be printed at a defined location of the billing statement relative to the origin of the billing statement. This feature allows the address element to be positioned so that the remit address and the send address can be seen through a window in the envelope housing the billing statement.
The final element in the definition of nonterminal element "Element" is nonterminal element "Static Text," which is defined above. Finally, formatted customer billing file 20 concludes with the nonterminal element "Render File Trailer," which is defined as:
< Render File Trailer > = RenderFileTrailer
Bill inteφreter processor 24 recognizes literal element "RenderFileTrailer" as the final element of customer billing file 20.
FIGURE 2 is an example of a customer billing statement 30 rendered from customer data provided in the bill renderer definition format of the present invention. Billing statement 30 was rendered from a customer billing file containing the following:
RenderFileHeader
./billimage/renderout951201 - 1515-20- 10145
12/01/95 13:20:54
1
1 GO
TCIS813
InsertDefinition
1
TCI 00 REQUIRED FontDefinition fonts.Font3
FontDefinition fonts.Font4
FontDefinition fonts.BRBold
ExtemalPictureDefinition
TCI001
StatementHeader
1 0001234560001
CORPORATE StaticText 3737 W 10TH ST 58 53 fonts.BRBold
StaticText
GREELEY CO 80634-1818
58 63 fonts.BRBold StaticText
12/05/95
331 38 fonts.BRBold
StaticText 23.19
433 38 fonts.BRBold
StaticText
THANK - YOU 318 51 fonts.BRBold
StaticText
FOR PAYING
318 61 fonts.BRBold
StaticText
YOUR BILL
318 71 fonts.BRBold StaticText
PROMPTLY
318 81 fonts.BRBold
StaticText
(303) 555-1234 68 91 fonts.BRBold
RemitAddress
80217-3379
6 ExternalPicture
304 120
TCI001
StaticText
TCI CABLEVISION 347 126 fonts.BRBold
StaticText
OF COLORADO
347 16 fonts.BRBold
StaticText
PO BOX 173791 T A
308 155 fonts.BRBold StaticText
DENVER CO 80217-3379
308 165 fonts.BRBold
AddressBarCode
StaticText 8021733798
285 185 fonts. Font4
StaticText
JOHN A SMITH 80 156 fonts.BRBold
SendAddress
80631-473836
3 AddressBarCode
StaticText
1234567890
68 120 fonts.Font4 StaticText
100 ELM STREET
80 166 fonts.BRBold
StaticText GREELEY CO 12345-6789
80 176
fonts.BRBold
LockBoxScanLine
StaticText
0000000304 0000123456 0001 4 00002319 2 27 230 fonts.Font3
StaticText
0000123456-0001
136 275 fonts.BRBold
StaticText
12/01/95
245 275 fonts.BRBold StaticText
12/31/95
300 275 fonts.BRBold
StaticText 12/05/95
360 275 fonts.BRBold
StaticText
11/20/95 421 275 fonts.BRBold
StaticText
FOR- 100 ELM STREET
10 300 fonts.BRBold StaticText
10/31
12 319 fonts.BRBold
StaticText BEGINNING BALANCE
82 319 fonts.BRBold
StaticText
23.19 203 319 fonts.BRBold
StaticText
10/27
12 339 fonts.BRBold
StaticText
12/01-12/31
12 349 fonts.BRBold StaticText
BASIC
82 349 fonts.BRBold
StaticText
9.27 209 349 fonts.BRBold
StaticText
12/01-12/31
12 359 fonts.BRBold
StaticText
12.17
203 359 fonts.BRBold StaticText
12/01-12/31
12 369 fonts.BRBold StaticText FCC FEE 82 369 fonts.BRBold StaticText 0.04 209 369 fonts.BRBold
StaticText
12/01-12/31
12 379 fonts.BRBold StaticText
CITY SALES
82 379 fonts.BRBold
StaticText 0.64
209 379 fonts.BRBold
StaticText
12/01-12/31 12 389 fonts.BRBold
StaticText
FRANCHISE FEE
82 389 fonts.BRBold
StaticText
1.07
209 389 fonts.BRBold StaticText
11/30
12 409 fonts.BRBold StaticText BALANCE DUE 82 409 fonts.BRBold StaticText
DEC 01 THRU DEC 31, 1996 35 429 fonts.BRBold RenderFileTrailer
Customer billing statement 30 contains a number of preprinted portions, including service provider logos 32, preprinted boxes 34, and preprinted instructions 36.
The portion of the above example of customer billing file 20 beginning with "Render File Header" and concluding with "TCI001 " is the definition of nonterminal element "Render File Header." This portion of the above example of customer billing file 20 provides a set of global data that specifies (1) the file name of customer billing file 20; (2) the date; (3) the number of customer billing statements to follow; (4) the release version of the bill renderer definition format; (5) the paper stock identifier; (6) a flag indicating that actual customer statements are to be printed; (7) an insert definition; (8) several font definitions; and (9) an external picture definition. The portion of the above example of customer billing file 20 beginning with "Statement Header" and concluding with the instance of the
element "fonts.BRbold" preceding the final element "RenderFileTrailer" defines nonterminal element "Statement." The portion of the above example of customer billing file 20 beginning with "Statement Header" and concluding with the element "CORPORATE" defines nonterminal element "Statement Header." The nonterminal element "Statement Header" portion of the above example of customer billing file 20 specifies (1) the number of the statement in the current billing statement production run; (2) the account number of the current billing statement; and (3) a flag indicating that the rendered billing statements are to be returned to the service provider's coφorate headquarters.
Note that a blank line is between the account number, "0001234560001," and the statement action flag, "CORPORATE." As explained above in the explanation on nonterminal element "Statement Header," a blank line is inserted in place of nonterminal statement "Insert Identifier" when no inserts are to be included in the same envelope as the customer billing statement. Note that this practice is an exception to the usual rule of the bill definition format of the present invention that requires that customer billing file 20 continue with the next element on the next line without the insertion of a blank line to denote the omission of a bracketed nonterminal element. Also note that in the definition of nonterminal element "Render File Header," the available insert "TCI 100" is marked as "REQUIRED." Therefore, had insert "TCI 100" been included in the defimtion of nonterminal element "Statement Header," the inclusion of insert "TCI 100" would have been mandatory. A plurality of the nonterminal elements "Element" comprise the remainder of the definition of nonteπninal element "Statement." The portion
of the above example of customer billing file 20 beginning with the elements "StaticText" and "3737 W 10TH ST" and concluding with the second instance thereafter of "fonts.BRbold" defines the placement of the service provider's business address 38. The portion of the above example of customer billing file 20 beginning with the elements "StaticText" and " 12/05/95" and concluding with the second instance thereafter of "fonts.BRbold" defines the placement of the due date 40 and amount due 42. The portion of the above example of customer billing file 20 beginning with the elements "StaticText" and "THANK - YOU" and concluding with the fourth instance thereafter of "fonts.BRbold" defines the placement of a notice 44 thanking the customer for a pattern of prompt payment. The portion of the above example of customer billing file 20 beginning with the elements "StaticText" and "(303) 555-1234" and concluding with the next instance thereafter of "fonts.BRbold" defmes the service provider's phone number 46. Note that below "(303) 555-1234" is the entry "68 91," which represents the x and y coordinates of the lower lefthand corner of "(303) 555-1234" in points with respect to the origin of billing statement 28.
The portion of the above example of customer billing file 20 beginning with the element "RemitAddress" and concluding with the next instance thereafter of "fonts.Font4" defines the service provider's remit address 48. Included within the defmition of nonterminal element "Remit Address" is the service provider's zip code and an identification of the number of elements in the definition of nonterminal element "Remit Address." These elements include an identification of external picture 50 and address bar code 52.
The portion of the above example of customer billing file 20 beginning with the elements "StaticText" and JOHN A SMITH" and concluding with the next instance thereafter of "fonts.BRbold" defines customer name 54. The portion of the above example of customer billing file 20 beginning with the element "SendAddress" and concluding with the send instance thereafter of "fonts.BRBold" defines the customer's send address 56. Included within the definition of nonterminal element "Send Address" is the service provider's zip code and an identification of the number of elements in the definition of nonterminal element "Remit Address." These elements include an identification of address bar code 58.
The portion of the above example of customer billing file 20 beginning with the element "LockBoxScanLine" and concluding with the next instance thereafter of "fonts. Font3" defines lock box scan line 60. The portion of the above example of customer billing file 20 beginning with the elements "StaticText" and "0000123456-0001 " and concluding with the element "fonts.BRbold" preceding the final element "RenderFileTrailer" defines the placement of the customer account information 60 in the lower portion of customer billing statement 30. Terminal element "RenderFileTrailer" concludes customer billing file 20. The bill renderer definition format of the present may also be implemented in a system in which the customer billing statement 30 of FIGURE 2 is reproduced on the computer terminal screen 64 of a customer service representative (CSR). As shown in FIGURE 1, the customer data provided to CSR terminal 64 is first inteφreted by a bill renderer inteφreter processor 62 before being outputted to CSR terminal 64. The customer data
provided to bill renderer inteφreter processor 62 may come directly from bill data formatting processor 18 or customer billing file 20.
Note that although the bill renderer definition format of the present invention has been described in detail, the bill renderer definition format of the present invention is not limited to the syntax identified above, but is instead limited only by the claims to follow. Various changes, substitutions, and alterations can be made without departing from the spirit and scope of the invention as defined by the appended claims.