Join Curt Frye for an in-depth discussion in this video Collecting the appropriate data, part of Excel 2007: Creating and Managing Invoices.
When you create a data management and invoice creation system, you need to be sure the workbook tables that store your data are designed properly. The rules database designers follow when they create their tables apply directly to this type of system. So I'll summarize those rules here. First, every table you create should focus on a single business object and contain facts about that object only. For example, a project's table like the one I have here could contain the Projects ID number, the Project Name, Customer ID number, who assigned you to the project, the Start Date, the End Date, and any comments you have in the project.
Next, no table should contain, what's called a repeating group. An example of a repeating group appears here in this second outline. I have the Project ID and Project Customer Name and then I have Project1ID and Project2ID. If you try to track a customer's projects on the same table row, you must create table columns where you can record each of the projects. Suppose you set aside two columns as I did here, but the customer wants to hire you for a third project. Obviously, you don't want to delete an existing project reference and it would be impractical to add a new table column every time a customer hired you for a new project.
In fact, there is no good solution for tracking multiple items using repeating groups. Instead, I'll show you how to manage that data by creating separate tables and combining them. Also, every table should have a column that contains a unique value. The best type of value you can use is an arbitrary number that's incremented for each new row. This project's table, for example, assigns the first project the identifier 101, the second 102 and so on. The unique value is called a key because it distinguishes one table row from all other table rows.
If you've ever received the catalog in the mail and ordered an item by phone or over the web, you're probably asked for the customer number that was printed on the label. That number is your unique identifier. It goes with you whether you change addresses, phone numbers or even your name. Finally, it's good practice to give every table column a descriptive name, preferably one that includes the name of the table or an obvious abbreviation. For example, this project's table could include field such as Project ID, Project Name, Project Customer and so on.
If you see the field names used outside the project's table, you know that they came from that table. Designing usable tables for an invoice tracking system isn't difficult, but some of the guidelines can seem a little counterintuitive at first. If you follow the practices I've described above and use the tables in the sample workbook as a guide, you'll have no trouble creating an efficient, extensible system.
- Tracking time using an Excel table
- Adding customer information to invoices
- Filtering the invoice table to find current items
- Dividing data by customers using report filters