6.5. Item

The following table shows the fields of an item from an invoice. An item cannot be accessed directly. You can either access it from the list of items of an invoice (invoice.items or invoice.services and invoice.expenses) or from the list of items of a project (project.items or project.services and project.expenses).

Table 6.5. Item Properties

Property Version Meaning

1. General

The general fields are used to describe an item.

item.name 1.0 self-explained
item.description 1.0 self-explained
item.date 2.0 Use ${item.date?date} to access the value of the item date.
item.notes 2.0 self-explained
item.itemCategory 1.0, 2.0

self-explained

${item.itemCategory!"-"}

Note: item.itemCategory replaces item.service which was used up until version 1.11.

item.service 2.0

Indicates if this item is a service. The following code prints a plus character if the item is a service.

<#if item.service>
    +
</#if>

To access the list of services of a project see the project.services placeholder. For an invoice, see invoice.services.

item.expense 2.0

Indicates if this item is an expense. The following code prints a plus character if the item is an expense.

<#if item.expense>
    +
</#if>

To access the list of expenses of a project see the project.expenses placeholder. For an invoice, see invoice.expenses.

2. Billing

The billing fields are used to show billing information (price, quantity, total) about the item. If an item is discounted, you may also want to use the fields that show the regular (before any discount is applied) values.

More information about discounts and when they are available is provided in the discount section below.

item.taxExempt 2.0

Indicates whether this item is exempt from taxes or not. The following code prints a plus character if the item is exempt from taxes.

<#if item.taxExempt>
    +
</#if>

Items can be marked as exempt from taxes only if taxes are enabled for your business.

item.price 1.0, 2.0

The price used to bill the item. If the item is discounted, it indicates the price after the discount.

Note: item.price replaces item.rate which was used up until version 1.11.

item.cost 1.11 How much the item costs. If you subcontract or resell some services, this field represents how much you are paying for the item.
item.quantity 1.0, 2.0

The quantity used to bill the item. If the item is discounted, it indicates the quantity after the discount.

If the item is billed in hours, this field indicates the number of hours in decimal format. Otherwise it indicates the number of units.

Note: item.quantity replaces item.units which was used up until version 1.11.

item.quantityType 2.0

Indicates whether the item is billed in units or hours.

<#if item.quantityType.id == 0>
    units
</#if>

<#if item.quantityType.id == 1>
    hours
</#if>
item.profit 1.11 self-explained
item.total 1.0, 2.0

The amount of money that is charged for the item. If the item is discounted, it indicates the amount after all discounts.

Note: item.total replaces item.amount which was used up until version 1.11.

item.regularPrice 1.8, 2.0

If the price of an item is discounted, this field indicates the price before the discount. You may want to use this field like this:

<#if item.priceDiscounted>
    ${item.regularPrice}
</#if>

The regular price is accessed only when the price is discounted.

Note: item.regularPrice replaces item.regularRate which was used up until version 1.11.

item.regularQuantity 1.8, 2.0

If the quantity of an item is discounted, this field indicates the quantity before the discount. You may want to use this field like this:

<#if item.quantityDiscounted>
    ${item.regularQuantity}
</#if>

The regular quantity is accessed only when it is discounted.

Note: item.regularQuantity replaces item.regularUnits which was used up until version 1.11.

item.regularTotal 1.8, 2.0

If an item is discounted, this field indicates the total amount for the item before any discount is applied to it. You may want to use this field like this:

<#if item.discounted>
    ${item.regularTotal}
</#if>

The regular total is accessed only when it is discounted.

Note: item.regularTotal replaces item.regularAmount which was used up until version 1.11.

3. Discount

The discount fields can be used to determine the discounts for the price or quantity of an item. There are also a few fields that can be used to determine if a discount has been applied to an item or not.

item.priceDiscount 1.8, 2.0

If an item is discounted by price, this field indicates the discount. It can be used to display the actual discount.

Note: item.priceDiscount replaces item.rateDiscount which was used up until version 1.11.

item.quantityDiscount 1.8, 2.0

If an item is discounted by quantity, this field indicates the discount. It can be used to display the actual discount.

Note: item.quantityDiscount replaces item.unitsDiscount which was used up until version 1.11.

item.priceDiscounted 1.8, 2.0

Indicates if the price of an item is discounted. See the item.regularPrice field above.

Note: item.priceDiscounted replaces item.rateDiscounted which was used up until version 1.11.

item.quantityDiscounted 1.8, 2.0

Indicates if the quantity of an item is discounted. See the item.regularQuantity field above.

Note: item.quantityDiscounted replaces item.unitsDiscounted which was used up until version 1.11.

item.discounted 1.8

Indicates if an item is discounted (either by rate or number of units). See the item.regularAmount field above.

4. Time

The time fields can be used to get more detailed information about the time recorded for an item.

item.timeEntries 1.5

A list with all the time entries recorded for a project item. This list is useful if you want to create a very detailed invoice that shows a breakdown for each invoiced item.

To access a time entry from the list use the following Freemarker code:

<#list item.timeEntries as timeEntry>
...
</#list>
item.elapsedTimeAsHour 1.5 The total time recorded for a project item in hour format. For instance 1 hour and 30 minutes is represented as 1:30.
item.elapsedTimeAsDecimal 1.5 The total time recorded for a project item in decimal format. For instance 1 hour and 30 minutes is represented as 1.50.
item.billableTimeAsHour 1.5

The total billed time for a project item in hour format. For instance 1 hour and 30 minutes is represented as 1:30.

The billed time may be slightly different than the elapsed time because of the time rounding that is applied to hourly-rated items.

item.billableTimeAsDecimal 1.5

The total time recorded for a project item in decimal format. For instance 1 hour and 30 minutes is represented as 1.50.

The billed time may be slightly different than the elapsed time because of the time rounding that is applied to hourly-rated items.