Printer Friendly

A do-it-yourself automated invoicing system: even a CPA with little computer training can build one.

Key to Instructions

To help readers follow the instructions in this article, we use two different typefaces.

Boldface type is used to identify the names of icons, agendas and URLs.

Sans serif type indicates commands and instructions that users should type into the computer and the names of files.

You don't have to be a technology wizard to he]p your company or client take a major first step into the advanced computer age. For example, in less than an hour even a low-tech CPA can create an automated invoice and billing system to replace the slow and error-prone paper-based methods many of their small business clients use. Not only can such a system practically eliminate mistakes and speed bookkeeping and accounting tasks, but it also takes less than an hour of training to teach staff how to use it.

Follow along with me and I'll show you how to set one up; all you need is a computer loaded with Excel and some rudimentary knowledge of that application.


To illustrate how it can be done, I've designed an Excel spreadsheet for a small garden shop that will generate invoices and perform routine accounting tasks.

Let's begin by creating two Excel worksheets. Name one Customers and add data to columns with headings such as customer names, addresses, phone and fax numbers and any special selling terms offered them. It should resemble the format of exhibit 1, below. If you wish, you can download an operational copy of the finished Excel file from www.


Now assign a number to each customer and sort the worksheet by those numbers. To perform a Sort, highlight everything except the column headings and then click on Data, Sort.

Name the other worksheet Products. It will store your product information: item number (or code), description and unit price. It should resemble exhibit 2, above. Sort that list by item number, too.

Next we'll create a basic invoice form, again in the same Excel file, that will eventually link to the Products and Customers worksheets. The invoice form doesn't have to be a drab looking conventional spreadsheet; Excel has very attractive typefaces, and you even can insert your company logo if you have it saved in electronic form. If you don't and you have a scanner, scan it in. Of you can get it scanned at any office supply shop.

To access Excel's graphics and all its typefaces, click on Insert, Picture and WordArt. Exhibit 3, at right, is an example of the type of invoice you can quickly create with Excel.


Once you've finished the invoice design insert the formulas that transform the spreadsheets to work as a database. We'll be using Excel's VLOOKUP functions. After we're done, a clerk simply has to type into the invoice a customer number, the product codes of the customer's purchases and their quantities. Once entered, VLOOKUP takes over--automatically filling in the necessary information about the customer and the order, as illustrated in exhibit 3.

The VLOOKUP functions must be entered into every cell that relates to information about Customers and Products. To make it easier to visualize on the sample invoice, I've colored yellow the cells that will be entered by the store clerk. The VLOOKUP formulas automatically fill in the red and blue cells. The colors are for reference only and are not needed in your final product. Red cells contain VLOOKUP functions that retrieve data from the Customers sheet and blue cells contain functions that retrieve data from the Products sheet. The Date cell contains a TODAY function that automatically fills in the date of the sale.

Let's begin with the red Customer Name cell (F12 in the sample worksheet). With the cursor in that cell, click on Insert, Function, Lookup & Reference, VLOOKUP and then on OK. That will bring up the VLOOKUP function arguments (exhibit 4, page 75), which tell the software where to locate data.


The first argument is the Lookup_value, which refers to the cell that is used to look up information from other sheets. For the customer data, the Lookup_value for all VLOOKUP functions will refer to the cell where the customer number is entered into the invoice (the yellow F11 cell in the sample file). For product data all Lookup_values will refer to the cells where product numbers are entered to the invoice (the yellow C25 and C26 cells in the sample file).

The Table_array refers to the location of the data the invoice will be seeking. For all VLOOKUP functions in the red customer-related cells, choose the range of data in the Customers sheet, excluding the headings (A4:L7 in the sample file). For the Column_index_number, type the column number where the specific data field you need to retrieve is situated. For example, when you create a VLOOKUP function in the Customer Name cell, you would enter 2 for the column number, because the customer names are listed in the second column of the Customers sheet.

Finally, set the Range_lookup to FALSE, which forces the function to look for an exact match for the customer number in the Customers sheet. The completed VLOOKUP function for the Customer Name cell (F12) is presented in exhibit 5, above.


The only portion of the VLOOKUP functions that changes for the various red customer information cells is the Column_index_number. That is, all of these VLOOKUP functions use the customer number entered by the clerk as the Lookup value (F11) and all of the customer VLOOKUP functions look up data from the Customer sheet (A4:L7).


Now I'll create VLOOKUP functions to locate products. The blue Description and Unit Price fields fill in automatically upon entry of an item number. The Lookup_value for each of these functions will be the cell where a product number is entered in the invoice (C25 and C26 in the sample file). Each product description and price cell will require a different Lookup_value because multiple product numbers can be entered on the invoice. The Table_array is the range of data from the prices table (A4:C13), and the Column_index_number again will correspond to the column that marches the data you wish to pull out of the prices table (that is, 2 for Description and 3 for Unit Price). The total and subtotal fields simply have SUM formulas, and the total price field calculates unit price times quantity. Exhibit 6, at left, presents the VLOOKUP formulas needed for each red and blue cell on the Invoice sheet.

After you've entered the functions, notice the cells that contain them are filled with a no-answer code--#N/A--before you input a customer of product number. That's because the VLOOKUP function cannot operate until the Lookup_value cell contains data. To eliminate the clutter created by the #N/A text, you can nest the VLOOKUP functions inside IF functions. The IF functions tell Excel not to input anything into the customer or product information cells when the customer number of product number cells are blank. The IF function for the Customer information cells looks like this: =IF($F$11="","",VLOOKUP($F$11,Customers!$A$4:$L$7,2)).

In this example F11 is the cell where the customer number is entered, and the VLOOKUP function is retrieving information from the second column of the customer table. When F11 is blank, the cell where the VLOOKUP function is input also is blank. When F11 is not blank, the VLOOKUP function operates. Create similar nested IF functions for all of the VLOOKUP functions on your sheet by clicking on a cell where there is a VLOOKUP function. In the formula bar at the top of the sheet, edit the function as shown above. The VLOOKUP functions for product information also must be edited. The edited functions for product information will look like this: =IF(C26="","" ,VLOOKUP(C26,Products!$A$4:$C$13,2)).

In this function C26 is where a product number is entered. The cell used in the IF function should match the Lookup_value in each of the product VLOOKUP functions.


You can add protection (access controls) to prevent unauthorized changes to the Customers and Products tables. To do that go to the Customers and Products worksheets. On the Tools menu click on Protection, Protect Sheet and type a password for the sheet (our password for the sample file is password).

Although access control is optional, consider this: If you don't provide protection, any user can change the data. When you protect a sheet, all cells are locked by default and cannot be changed. As a result the Invoice sheet requires that some cells be unlocked prior to protection. You must unlock the cells where users input information (that is, the yellow cells for the customer number, product number, quantity sold and invoice number). Select each cell or range of cells, click on Format, Cells, the Protection tab and then clear the Locked check box. After unlocking the appropriate cells, protect the Invoice sheet and create a password.

That's it. You've just created an automated invoice form. You can use the same procedures to create any type of automated forms (such as purchasing forms) and turn your Excel sheets into automated database tables.
Exhibit 1

Customer Customer
number name Address City State

1 Ben Jones 333 Street Norman OK
2 Cathy Land 222 Here George IL
3 Martha Smith 444 Everywhere Fluffy NA
4 Jack Morris 000 Nowhere Jupiler NA

Customer Customer Phone
number name Country State Zip

1 Ben Jones 555-5555 US 12345
2 Cathy Land 555-5555 US 23456
3 Martha Smith 555-5555 US 34567
4 Jack Morris 555-5555 US 45678

Customer Customer Discount Discount Net
number name Fax % offered days days

1 Ben Jones 555-5555 2% 10 30
2 Cathy Land 555-5555 1% 15 30
3 Martha Smith 555-5555 5% 15 30
4 Jack Morris 555-5555 2% 20 120

Product List

Item Unit
number Description Price

101 Pansy $2.00
102 Violet $3.00
103 Fern $4.00
104 Plant $30.00
105 Stick $20.00
106 Weed $28.00
107 Cart $50.00
108 Hose $24.00
109 Sprinkler $12.00
110 Shovel $17.00

Exhibit 6

Item Cell Formula

Name F12 =VLOOKUP($F$11,Customers!$A$4:$L$7,2,FALSE)
Address E15 =VLOOKUP($F$11,Customers!$A$4:$L$7,3,FALSE)
City E16 =VLOOKUP(SF$11,Customers!$A$4:$L$7,4,FALSE)
Country E17 =VLOOKUP($F$11,Customers!$AS4:$L$7,7,FALSE)
State H16 =VLOOKUP($F$11,Customers!$A$4:$L$7,5,FALSE)
ZIP H17 =VLOOKUP(SFS11,Customers!$A$4:$L$7,8,FALSE)
Phone J16 =VLOOKUP($F$11,Customers!$A$4:$L$7,6,FALSE)
Fax J17 =VLOOKUP($F$11,Customers!$A$4:$L$7,9,FALSE)
Discount% E20 =VLOOKUP(SF$11,Customers!$A$4:$L$7,10,FALSE)
Disc days E21 =VLOOKUP($F$11,Cnstomers!$A$4:$L$7,11,FALSE)
Net days K21 =VLOOKUP($F$11,Customers!$A$4:$L$7,12,FALSE)
Description F25 =VLOOKUP(C25,Products!$A$4:$C$13,2,FALSE)
Unit price I25 =VLOOKUP(C25,Products!$A$4:$C$8,3,FALSE)
Description F26 =VLOOKUP(C26,Products!$A$4:$C$13,2,FALSE)
Unit price I26 =VLOOKUP(C26,Products!$A$4:$C$8,3,FALSE)


Conference TECH 2004: The AICPA Information Technology Conference May 2-5, 2004 Venetian, Las Vegas

JACOB M. ROSE, PhD, is an assistant professor at Montana State University, Bozeman, and principal of Progression Consulting Group ( His e-mail address is jakerose@montana. edu.
COPYRIGHT 2004 American Institute of CPA's
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2004, Gale Group. All rights reserved. Gale Group is a Thomson Corporation Company.

Article Details
Printer friendly Cite/link Email Feedback
Author:Rose, Jacob M.
Publication:Journal of Accountancy
Date:Apr 1, 2004
Previous Article:Attorney-client privilege: CPAs and the e-frontier; CPAs performing litigation support must be careful not to inadvertently waive privilege.
Next Article:The importance of IRD: greater diligence can help CPAs avoid costly tax return omissions.

Related Articles
Must technologies for all CPAs.
Take my manual audit, please.
Expanding into cyberspace.
How to be careful and still be clear.
Giving cash management a technology boost.
Not your grandfather's CPA firm: is anything the same a hundred years later? Only the CPAs' skills and credibility.
Small business software grows up: intense efforts for product improvements.
Rate yourself in the paperless race: have you overcome your resistance to the new technology?
CPAs find new profit in payroll: online technology decreases work, increases revenue.

Terms of use | Privacy policy | Copyright © 2021 Farlex, Inc. | Feedback | For webmasters