Skip to main content

Product Lines

EntityProductLine

Product lines represent line items on activities — the individual rows on a quote, sales order, or invoice. Each product line links an activity to a Product, with a quantity, price, discount, and VAT calculation.

Use the ProductLine endpoint to query and manage product lines. You can also access them via the ProductLines navigation property on any activity.

Endpoints

List Product Lines

GET/v1/odata/ProductLine

Single Product Line

GET/v1/odata/ProductLine({id})

Create Product Line

POST/v1/odata/ProductLine

Update Product Line

PUT/v1/odata/ProductLine({id})

Delete Product Line

DELETE/v1/odata/ProductLine({id})

Fields

Product Line Fields

FieldTypeDescription
DescriptionStringLine item description
LocalizedDescriptionStringLocalized description
ExtraDescriptionStringAdditional description
QuantityDoubleQuantity
PriceDoubleUnit price
PriceInCurrencyDoubleUnit price (in currency)
PurchasePriceDoublePurchase / cost price
TotalPurchasePriceDoubleTotal purchase price
DiscountPercentageDoubleDiscount percentage
CurrencyStringCurrency code (e.g., EUR)
IsPriceManuallyChangedBooleanWhether the price was manually overridden
IsBilledBooleanWhether the line has been invoiced
IsProcessableInParentBooleanWhether processable in parent activity

Totals

FieldTypeDescription
TotalDoubleLine total
TotalExcludingVatDoubleTotal excluding VAT
TotalIncludingVatDoubleTotal including VAT
TotalInCurrencyDoubleTotal (in currency)
TotalExcludingVatInCurrencyDoubleTotal excluding VAT (in currency)
TotalIncludingVatInCurrencyDoubleTotal including VAT (in currency)
VatPercentageDoubleVAT percentage
VatAmountDoubleVAT amount
VatAmountInCurrencyDoubleVAT amount (in currency)
VatAmountIncludingDiscountDoubleVAT amount after discount
VatAmountIncludingDiscountInCurrencyDoubleVAT amount after discount (in currency)

Date Fields

FieldTypeDescription
StartDateDateTimeOffsetStart date (for recurring lines)
EndDateDateTimeOffsetEnd date (for recurring lines)
BilledUntilDateTimeOffsetDate until which the line has been billed

Relationships

RelationshipTarget EntityCardinalityDescription
ActivityActivityN:1Parent activity
ProductProductN:1Linked product
VatGroupDatastore.VatGroupN:1VAT group
RepeatIntervalDateIntervalN:1Repeat interval (for recurring lines)
MilestoneProjectMilestoneN:1Project milestone
InvoiceProductLineProductLineN:1Linked invoice product line
ProductLineProductLineN:1Parent product line
TimeRegistrationTimeRegistrationN:1Linked time registration
BilledTimeRegistrationsTimeRegistration1:NBilled time registrations

Expanding Relationships

GET/v1/odata/ProductLine({id})?$expand=Activity
GET/v1/odata/ProductLine({id})/Activity

Filtering Examples

GET/v1/odata/ProductLine?$filter=Activity/ID eq cbf40345-333a-4e5b-a149-276d22c1418d&$top={top}
GET/v1/odata/ProductLine?$filter=contains(Description, '{Description}')&$top={top}
GET/v1/odata/ProductLine?$filter=Quantity gt {Quantity}&$top={top}
GET/v1/odata/ProductLine?$filter=IsBilled eq {IsBilled}&$top={top}
GET/v1/odata/ProductLine?$filter=Price gt {Price}&$top={top}