Process credit/debit cards and ACH (E-check) all from within QuickBooks. Installation is quick and easy!

Custom Fields in QuickBooks

| July 10, 2008 | 369 Comments

Every business has some sort of unique information that is important to its operation. While QuickBooks provides the places to store the basic information that every business needs, you will usually find that you need to store additional data such as a customer’s vehicle registration number, or the weight of an inventory item. QuickBooks provides us with custom fields, a way that you can define your own places to store information. Today we’ll talk a bit about custom fields and how to use them in estimates, sales orders and invoices.

Note: After reading this see the article on QuickBooks Enterprise 10 Custom Fields for an update

While watching postings in the QuickBooksGroup user forums I see that many people don’t understand how custom fields work in QuickBooks. Part of the problem is that QuickBooks handles them in a quirky way that isn’t always obvious. I’ve worked extensively with custom fields while developing my CCRQInvoice invoice utility for QuickBooks, and I’ll run through a simple example here with an invoice. Note that these steps are essentially the same for invoices, sales orders, estimates and sales receipts (and very similar to what you can do with purchase orders).

What we want to accomplish

For our simple example we’ll create an invoice form for a computer repair shop. On each invoice I want to have a field in the invoice header that identifies the particular computer system that was worked on, and for each detail line in the invoice I want to specify (if appropriate) the serial number of the component that was repaired. The following is a screen shot of what I want my invoice to look like.

How can I add this field and column? If we go to the layout designer we see that we can add a text box or a data field:

Those won’t help, though. A text box is merely a box of text that I enter when designing the form – it doesn’t let me change it when I am entering an invoice. A data field comes closer, but I can only add a limited number of fields that QuickBooks provides to me. I still can’t change the values of these fields when I am entering an invoice. So what can we do? This is where custom fields come into play.

Creating Fields for the Header

Let’s start with adding a field for the computer system that the invoice applies to. I’m making one invoice per computer system, and I want the ID for that system to show in the top (header) of the invoice. Some customers have only one computer system, others may have several.

To start, we have to add a custom field to the customer list. Edit any customer in the customer list and select the additional info tab. Click the define fields button.

This opens a window that lets you define custom fields in the customer list (as well as vendor and employee lists). Enter a name for the field you want to define (I’ve used “Computer System” here) and check the box.

This screen can be a bit misleading. It looks like you can add 15 custom fields here. However, QuickBooks will limit you to seven custom fields for any of the record types shown here.

Click on OK and you will see that the custom field is added to the customer record.

If you have information that you want to always show up in an invoice you create for this customer, enter that value in the field here. You can, however, leave it blank.

Now let’s add this to the invoice template. Edit the template and click on the additional selections (not the layout designer) and scroll to the bottom of the list of fields in the header tab. You will see that your custom fields have been added to the bottom of the list. Place a check mark in the screen and print columns to add the field in both places. You may need to use the layout designer to place the field in the desired location.

If we save this and look at an invoice that uses this template, you see that there is a field for “computer system”.

If you create a new invoice using this template you can enter the value of the “computer system” in this field, and it will print on the invoice. If the customer has one computer system we can put the ID in that field in the customer list, and when we select that customer for the invoice the value will show up in this field by default.

Please note the following:

  • You can only enter 30 characters of information in a custom field.
  • You cannot change the size of the field on the screen, but you can control the size of the field on the printed form in the layout designer.
  • It is not possible to create a drop-down list in a custom field, or to have it formatted so that it only accepts dates or numbers.

Creating Columns

Fields created in the customer list can only be used in the header or footer of an invoice. If you want to create a new column in the invoice you must add a custom field to the item list.

Edit any item in the item list and click on the custom fields button.

In the custom fields screen click the define fields button.

This is similar to what you’ve seen before. You can create a label for the custom field, and place a check mark in the box. Note that you can only create five custom fields in the item list.

As with the customer record you can enter a value in the custom field for any item on the item list, and it will show as the default value in the invoice. You can also leave it blank. Note that you only have to define this field in one item, it will then be available in all items.

Edit the invoice template and select the additional selections button. You will see that the custom field added to the item list shows on the columns tab. Check both the screen and print boxes.

When we look at our invoice on the screen, you see that the serial column has been added.

You can enter the values for the serial numbers in this column. Please note the following:

  • You can only enter 30 characters of information in a custom field.
  • You can change the width the field on the screen.
  • It is not possible to create a drop-down list in a custom field, or to have it formatted so that it only accepts dates or numbers.
  • It is not possible to create a column that is used in a calculation, such as the difference of two values, or that has an effect on the quantity, rate or amount columns (this is a feature you can get in my CCRQInvoice product).
  • Select the item first, before entering a value in a custom field. When you select an item it will replace the custom fields with the values from that item record (which could be blank).

Looking at the finished invoice

Here is our invoice, with the custom fields:

A few last points to make:

  • Edit your template before you create the invoice. If you create an invoice, then edit the template to add the fields, your existing invoices might not contain the information from the lists. These fields are “populated” when the invoice is created.
  • Values from custom fields show on some reports, but not always where you expect or with the values you want. Some reports will show the values from the list records (the item and customer list). Some reports will show the values from the transaction records (the invoice). Sometimes you will see the fields listed in a report and they never show any value. It is hard to predict.
  • You can erase or remove custom fields from the lists, but only if you first remove them from any form template that uses the field.

This has been a quick review of custom fields – let me know if this helps you, or if there are any points that you would like to see clarified.

Note: See the article on QuickBooks Enterprise 10 Custom Fields for an update to how custom fields are managed in that release – the feature has been expanded significantly

Bookmark and Share

Tags: , ,

Category: Featured, General Tips, Invoicing

About the Author (Author Profile)

Charlie Russell is the founder of CCRSoftware. He’s been involved with the small business software industry since the mid 70′s, focusing on inventory and accounting software for small businesses. Charlie is a Certified Advanced QuickBooks ProAdvisor. Look for Charlie’s articles in the QuickBooks and Beyond blog, as well as his California Wildflower Hikes blog.

Connect with Charlie at Google

Bookmark and Share

Comments (369)

Trackback URL | Comments RSS Feed

Sites That Link to this Post

  1. abd says:

    thank you very much for this tutorial
    but i have a problem
    i can’t add custom field, i do add them and they disappear,
    i don’t know why??
    is there some option or something i missed?
    hope some one can help.

    Thanks in advanced.

    • Charlie says:

      I don’t know what QB product you have, and in any case I’ve not run into this, so without having hands on your system there isn’t a lot that I can help you with.

  2. Brett says:

    I’m running quickbooks pro 2007. Is it possible to include the po numbers for each item on statements?

  3. Ted says:

    Hi, my company is running QB Enterprise, and I added a custom field in the item list in order to have a column for item locations in our warehouse. I have successfully created the custom field, and it shows up in the list as I want it too; the problem is, when I search inventory, the results take a lot longer to get now than before I added the custom field. When I take this custom field back out, it goes back to normal search speed. The location information is only 6 characters long in each item. Is there a way to avoid the slowdown?

    • Charlie says:

      Ted, I’ve not noticed that kind of issue. What version of Enterprise do you have? If it is Enterprise 11, are you using the “old” search or the “new” search?

  4. Ted says:

    Charlie, we are using Ent. Contractor 11.0. I am using the “look for” section above the item list. I am searching “all fields” and it’s slow. Now, if I narrow it to ‘in “Description(sales)”‘ only, it searches quickly. Same with any other individual field; except when I choose custom field, it takes a lot longer again. I was just made aware that we are running QB on desktop as opposed to a Server, so would this possibly be the issue?

  5. Amanda Gross says:

    Charlie – Hope you can help me! We use QB for Mac 2010 and use “Estimates” as our packing lists, which I then take (once the order ships) and turn it into an invoice. The problem is that I have not been able to figure out how to insert a “Ship To” field on an estimate. Best I’ve been able to come up with is just adding a text box and writing it in every time – which gets tiring! I have considered using the “Invoice” form for the packing lists, but the problem that arises there is that this will affect our sales numbers – orders that are still sitting in the warehouse aren’t actually billed until they go out. Therefore, if I did that, I’d have to go through and make every item $0 when it’s a packing list and change them to their actual billable price once they ship, which will probably be more tedious than just writing the address!

    Hope you’re able to suggest something! We’ve also thought about upgrading to 2011 QB for Mac, that is, if we’ll be able to do what we need to do with that version.

    Thanks, Amanda

    • Charlie says:

      Amand, I’m sorry, I don’t work with the Mac at all. I don’t know if they support “custom fields” like we talk about here or not, or any other feature that might be of assistance to you.

  6. Stacie says:

    I am using QB Pro 2011. I’ve created a custom template for a customer letter. I’ve added the “fields” I need, such as <> etc., but need to add in one that calculates payments received. That field isn’t in the “add-in” menu on the tool bar. I’ve been in every template for letters and can’t find a “payments” field to insert into my customized letter. Is there a way to create this field?

  7. Charlie says:

    Stacie, QuickBooks won’t do any calculations with custom fields, you have to use an add-in product like CCRQInvoice (http://www.ccrsoftware.com/CCRQInvoice/InvoiceQ.htm ), depending on the calculation.

    If you just want a total of the payments applied to the invoice, you would look at the “Footer” tab in Additional Customization and include the payments/credits field, and probably the balance due field. But that has nothing to do with custom fields…

  8. Stacie says:

    How would I add that “footer” to a customized letter?

    • Charlie says:

      Oops, sorry Stacie, I thought you were talking about custom templates in the invoice (etc) screen. I realize now you are using the “Word Letter” feature. That is very different, and very limited. You can see the fields they provide in the documentation, and they are very limited. I don’t work with that aspect of QuickBooks so I can’t really help there. In general, most people find the Word letter is too restricted to be of use in any other than the basic uses.

  9. Jamie Hendricks says:

    I have gone to the vendor center and pulled up a vendor and went to Additional Info and Define Fields and added two fields that I need to be able to track on some vendor/contractors. But, I need to be able to enter this info on the Vendors/Enter Bills screen when I am entering the invoice from the contractor. How can I make two spots or columns on that screen to enter this info on, and once I do, will it show up on the vendor quick reports or will I have to get it from a transaction report. I’m not sure if it can be done and if so, where do I go to edit the way this screen is set up? Thanks

    • Charlie says:

      Jamie, the Enter Bills screen isn’t customizable. You can add vendor list custom fields to a purchase order, but you can’t add custom fields to a Bill.

  10. robyn says:

    Charlie

    Our items are books and we need to record author, publisher, supplier and date received for each book we receive. can i set up custom fields once for all items or do i have to set them up for each item each time? thanks in anticipation

    • Charlie says:

      Robyn: I can’t speak about what is possible in the Australian version, as this blog relates mostly to the US version and the Australian version has many differences. I would expect, however, that custom fields should work the same.

      You create the custom fields one time – you can use ANY of the items in the item list to create them.

      Then when you edit a particular item you will see the custom fields, and you can enter the data specific to that item. The data shows just for that one item, the fields (places to hold data) show for all items.

  11. robyn says:

    Charlie

    sorry forgot to mention we use Q/B Pro 2009-10 in Australia and we are a SMALL bookshop

    Robyn

  12. Ben says:

    Once I have created a custom field, will it be available via SDK or QODBC driver?

  13. Charlie says:

    Ben: Yes – I write SDK apps myself and I use custom fields heavily. Keep in mind that on that level, custom fields are tricky to work with and the mechanisms aren’t always intuitive.

    Also note that some of the attributes that are available in Enterprise aren’t always visible in the SDK (and QODBC, which is based on the SDK). Things like the dropdown lists, field masks and such.

  14. Bookkeeper says:

    Hello, I’m a QB novice. I would like to track customers’ monthly water meter readings in QB Pro 2011 instead of in Excel where it can subtract the monthly values for me. Would your CCRQInvoice software be a good solution, particularly if I most often use Sales Receipts instead of Invoices? Thank you in advance.

  15. Charlie says:

    Unfortunately, no, CCRQInvoice wouldn’t be a fit for this.

  16. Hi Charlie,

    You have a really great article here. I have found multiple answers to questions over the years through your website, but have one that I can’t seem to get answered and am hoping you can at least tell me if what I want is a possibility.

    I have a client who uses Quickbooks Enterprise 2011. She purchased the business from another individual and the QB file came with it. The previous owner used the “Ship Via” list for lease data other than shipping information. Now, my client would like to customize her invoice so the “ship via” information is in a column instead of the header. So, for example, currently when she invoices a client who has multiple leases she puts one lease on one piece of paper and specifies the lease in the Ship Via drop down box. What she would like to do is put multiple leases (in the first column) on one sheet of paper.

    I know that you can customize the invoice and use the Other 1 and Other 2 columns and have text boxes, but she really needs to link the “Ship via” list when she does this. Is this a possibility?

    Thank you in advance for you help.
    Erin

  17. Charlie says:

    Erin: You won’t be able to pull the Ship Via down into the detail, as that is only associated with the invoice itself. That is, one ship via per invoice.

    If they have Enterprise, then you can create a custom field for this in the item list, AND you can make it a dropdown list with a set of values to select from (only in Enterprise 11 and later, not in Premier). Then you can create a column for this.

    DO NOT use the Other 1 and Other 2 fields, use a custom field. The “Other” fields can’t be added to reports and aren’t searchable.

  18. Ok – I think I got that far yesterday, then thought I must be doing something wrong, so I quit!

    With this custom field and dropdown box, can I make it point to my “Ship Via” list that I already have created, or will I need to manually create that drop down list?

    You are the best!

  19. Charlie says:

    Has to be a new list you create for the custom field.

  20. Karen says:

    I added two custom fields for type of account and an identifying number. It would be helpful if I could get these to show up on reports but from your blog I am gathering that is not possible?

  21. Charlie says:

    Karen, that depends on WHICH report you are talking about and where you have the information.

    If you are talking about a detail transaction report, and you only have these fields in the customer record, then the values won’t show up. BUT if you add the fields to your invoice template, the values will populate and they will show in that detail report.

    Without specific examples of the report I can’t give you much more detail…

  22. sandy says:

    i need to add a custom field called “container#” in the items tab when creating a new bill. how do i create this. i am using qbs 2011

  23. Charlie says:

    Sorry, the “Bill” window isn’t customizable.

  24. Edwin says:

    Hello, I have a client, using quickbook pro 2010, with two currency. local currency with USD. for VAT purposes when invoices are printed its fine. but with USD Currency(foreign currency) invoices are printed strictly in USD Includint the VAT amount. Now the client wants to display/print the Total USD USD Amount in local currency to assist the VAT people.

    I am not sure how to go about t. anyone with an insight?

    I appreciate your time, Friends,

    Edwin

  25. Alison says:

    Hi Charlie, I would like to confirm what you are saying. There is no way for QB (I have QB Pro 2010, but would be happy to update) save individual jobs for a client and have them print on one invoice, yes? For example: I see patients owned by clients. So I might see Joe Smith, who owns Fluffy, Fify, and Fife. If I examine and vaccinate all three animals, I want one invoice that lists Joe as the owner and then breaks down services by Fluffy, Fify, and Fife. If I use the method above, I have to manually type in the names each line, yes? There is now way for QB to remember (without using jobs and creating separate invoices for all three animals with each animals being a separate job) the names of the animals. True? Can your software do this? Many thanks in advance.

    • Charlie says:

      Alison, it is hard to give a complete answer through a blog comment like this. I don’t know all the details of what you are trying to do and how your business works.

      You might consider using a “billing statement” instead of invoices – then you might be able to work with multiple jobs. But statements are much less flexible than invoices.

      You might create service items for each animal, and create them as subitems under a service item for the client. You might play with group items. Lots of different ways to approach the general kind of thing that you are asking about.

Leave a Reply