Telecom Billing - Invoice Generation
Most of the billing systems generate structured ASCII text containing the information content of the bill. The bill data for each bill is written initially to either database or flat text files. The format of the data at this stage is the same, regardless of how the data is to be processed.
This bill data can then be processed by one of a number of formatting engines to produce output in the desired form. For example, paper, CD-ROM, etc.
There are Billing Systems available which provide internal Bill Formatting tools. If a billing system does not provide capable tool to generate formatted bills, then there are third party tools available like DOC1, is one of the most commonly used tools.
Here is a typical diagram showing the flow of bill formatting:
Following is a snapshot of bill data taken from Convergy's Infinys Billing System:
DOCSTART_85 DOCTYPE BILL GENEVAVERSION 5.0 BILLSTYLE 1 BILLTYPE 1 BILLTEMPLATE 85 BILLSEQ 1 BILLVERSION 1 ACCCURRENCYCODE BEF BILLLANGID 2 BILLLANGNAME English (US) BILLLANGLOCALE us PAYMETHODID 1 FORMATREQ A30001001/0001 COPYBILLNUM 0 BILLPURPOSE 1 ADDRESSNAME Dr D Jackson POSITION Project Manager DEPARTMENT Recruitment ADDRESS1 12 South Street ADDRESS2 Detroit ADDRESS3 Michigan ZIPCODE 12345 COUNTRY United States BSTARTACCFADDR ACCFADDR_1 United States ACCFADDR_2 Michigan ACCFADDR_3 12345 ACCFADDR_4 12 South Street ACCFADDR_5 Detroit ACCFADDR_6 Dr D Jackson BENDACCFADDR CUSTOMERREF C30001 CUSTOMERTYPE Standard ACCTAXSTATUS Exclusive INVOICINGCONAME Invoicing company for English (US) INVOICINGCOADDRESS1 Company House INVOICINGCOADDRESS2 Atlanta INVOICINGCOVATREG taxref000576 ACCOUNTNO A30001001 BENDBFPAYSUMMARY BALOUT 0.00 CHARGES 142.00 NEWBAL 142.00 BSTARTBFPAYDETAILS ACCDEPPREVTOT 0.00 ACCDEPCHANGE 0.00 ACCDEPCURRTOT 0.00 BENDBFPAYDETAILS BENDBFSTATEMENT BILLREF A30001001@0001 BILLDATE 02/20/99 NEXTBILLDATE 03/20/99 BSTARTPAYMENTDUEINFO PAYMENTDUEDATE 03/04/99 DEBTSTARTDATE 02/25/99 PAYMENTTERMDESC Payment due 7 days after the bill date PAYMENTDUEDAYS 7 BENDPAYMENTDUEINFO GIROREF 34 GIROACCOUNT 404 7800 OCRREF 1300010019 OCRSORTCODE V6344047800 GIROAMOUNT 142.00 OCRAMOUNT 000142000 INVOICEACTUALDATE 02/25/99 INVOICETAXDATE 02/25/99 INVOICESTART 01/03/99 INVOICEEND 02/19/99 TAXTYPE 1,2.00, TENDTAXTYPE INVTOTALTAX 2.00 BENDTAXDETAILS INVTOTAL 142.00 INVTOTALROUNDED 142.00 TOTALSAVE -11.00 PERIODEND 02/25/99 POINTSBALANCE 0 POINTSEARNED 0 POINTSREDEEMED 0 POINTSADJUST 0 NEWPOINTSBALANCE 0 DOCEND
Bill data consists of succession of lines of ASCII text. Each line takes the form:
TAGNAME and tagvalue are separated by a tag separator (tagsep) of a space. The tagvalue can be either a single value or a list of values separated by delimiters (sep). The delimiter used is a comma unless specified.
Bill Post Processor:
A Billing Engine may not be able to generate all the information required in the bill or there may be a requirement to perform some special calculation on the data provided in the invoice. This is called Bill Post Processing and usually done by a custom component called Bill Post Processor (BPP).
A BPP can be written in your preferred programming language which reads a raw invoice file and performs required modification into this file before passing it for the final formatting.
There is none billing systems available which provide out-of-the-box BPP functionality because requirements vary operator to operator and this process can not be standardized. At most, billing system can provide a plug-in point to plug your custom BPP along with Billing Engine.
DOC1 Bill Formatter:
DOC1 is very famous Bill Formatter tool available from PitneyBowes company which helps in bill formatting into PDF or Post Script files.
As mentioned above, the output of the Billing Engine is structured ASCII text containing the information content of the bill. A mapping is established between source invoice file tags generated by the billing system and tags required by DOC1. DOC1 requires fixed length tags as shown below.
The following is a hypothetical sample from the invoice file provided:
ACCOUNTNO ACC0010000 ACCUMBONUSPOINTS_1 BON0050100 ACCUMBONUSPOINTS_2 BON0050100 ACCUMBONUSPOINTS_3 BON0050100 ACCUMBONUSPOINTS_4 BON0050100 ACCUMBONUSPOINTS_5 BON0050100 ADDRESS1 ACC0030000 ADDRESS2 ACC0040000 ADDRESS3 ACC0050000 ADDRESS4 ACC0060000 ADDRESS5 ACC0070000 ADDRESSNAME ACC0020000 BUSINESSNAME ACC0120000 TSTARTADJ ADJ0000000 ..........
Now using the above translations, a final file would be generated for DOC1 and DOC1 will take care of generating final invoice using the information provided.
Some modifications can also be performed at DOC1 level but it does not provide much flexibility to modify the invoice. You can try latest version, which can help you much more the expectations.
Final Invoice Generation:
Once all the accounts are billed and invoices are formatted using either internal or external bill formatter, these invoices are sent to the Bill Print Company for final printing.
If an operator is using Electronic e-mail facility to send bill to their customer, then a copy of the same bill can be sent to e-mail system to send it to the end customer.
Tier 1 operators (having 20-30 million or more customer base) usually outsource this task including bill distribution.
What is Next?
After generating invoices, they are sent to the end customers. Now, it is time to collect revenue from the customer. I would discuss revenue collection process after one chapter.
Before we proceed further, let me cover Credit Control Part, which is very important and should be covered before revenue collection.