While the QuickBooks form designer is “page oriented”, where you see an entire page at one time, the CCRQInvoice form designer is “report oriented”. A report is split into “bands” that are related to each other. If we were working with a simple report (as opposed to a form) you would have a band for a page header (columns for the report), a band for a page footer (page number, etc.) and a detail band that repeats for each line of the report. Forms like an invoice are trickier and involve more bands. You can see a list of the bands that we have created in the report explorer.

Starting from the top:
1. Page Header: In an order form we generally do not place anything in this band. You could place information here that is static – a label or a logo for example – but you don’t want to place any field of information from the order itself. It is best to leave this alone.
2. Group Header Invoice Top: This is information that will repeat for every order that you print, and it will print on every page if there is a multiple page order. Invoice number, invoice date, billing addresses and so forth. We also include the headings for the columns of the detail section. You will include data from the InvoiceData fields – do not include any information from the DetailData fields.
• The order type field contains a label for the type of order you are printing: “Invoice”, “Sales Order” or “Estimate”.
• Bill and Ship addresses are available in two formats – individual lines (“ShipAddress0”, “ShipAddress1” and so forth) or as a group (“ShipAddressBlock”). Generally it is easiest to use the “block” addresses in a single field. However, the text box must be formatted correctly to display the address. You must set the Multiline property to true.
3. Detail Outer: Do not place any information here. This band is necessary to get the details to print in the proper sequence.
4. Detail Report: This band controls the repeating details of the invoice. It is a container for several bands.
5. Detail Inner: This band is linked to the DetailData fields – this is where the detail lines of the order will be formatted. Generally you will add or delete columns in a table to include the information that you need.
6. Group Footer Anchor: This is where things get really tricky. Group Footer Anchor, Group Footer Total and Group Footer Sub are specially configured to show information properly for a multiple-page order. Anything that is added to Group Footer Anchor will show at the bottom of every page that prints. We have the bottom of the columns, for example. Generally you won’t be changing anything here.
7. Group Footer Total: This footer is specially configured so that it will only print on the last page of an order. If you have something that you only want to print once on the order, even if the order flows into more than one page, you will place it here. This always prints at the bottom of the page, underneath the Group Footer Anchor. For example, we have placed the “total” box here. If you edit this, when you expand it you will notice that there is a panelTotal element. All fields that you add to the Group Footer Total must be placed on this panel for things to work correctly.
8. Group Footer Sub: This footer is specially configured to print only if there are multiple pages to an order and that the page is not the last page. In other words, it prints only if the page does not show the Group Footer Total. Only one of these two group footers (Total or Sub) will print on a page. As with the Total footer, you will see that there is a panelSubtotal element where you must add any feature that is to be displayed.
9. Page Footer: In an order form we typically do not include anything in the page footer. It would print below the group footers.
The designer allows you to have vertical lines or boxes
that cross from the header to the footer, so that you can have lines between the
columns. These are tricky to format correctly – you use a CrossBandBox or
a CrossBandLine from the tool box. You must anchor these in the Group
Header Invoice Top and the Group Footer Anchor for them to show
properly. Note also that you get a warning if you add these to the form (shown
by a red double arrow
) which you can
ignore.
Note that in many cases we have used a “table” element to add information. The detail line information is one obvious example – the columns in the table represent the columns in the detail section. Less obvious is how we add blocks of information in the header – such as the date and invoice number. If you have a group of related items, such as a heading and a data field, it is easier to add a table and modify the cells of the table than it is to add separate label and detail fields and try to get them to line up, particularly if you want to put a box around them.