Skip to main content

A resolved line item with full price stack. Every intermediate value is computed and stored server-side — renderers and auditors can verify any step without re-deriving it.

Price stack: unit_price_gross × quantity = subtotal_gross subtotal_gross − line_discount_amount = subtotal_after_line_discounts subtotal_after_line_discounts − cart_discount_amount = total_gross total_gross → split into total_net + tax_amount

id
string
Example:

"li_01HXYZ"

position
integer

1-based display order on the receipt

Example:

1

description
string
Example:

"Wiener Schnitzel"

quantity
number<double>
Example:

2

unit
string
Example:

"piece"

unit_price_gross
integer

Original undiscounted unit price including tax

Example:

1800

product_ref
string | null
flags
enum<string>[]
Available options:
deposit,
gift_card,
service_charge,
tip
subtotal_gross
integer

unit_price_gross × quantity — before any discounts

Example:

3600

line_discounts
object[]

Applied line-level discounts

line_discount_amount
integer

Sum of all line_discounts amounts

Example:

360

subtotal_after_line_discounts
integer

subtotal_gross − line_discount_amount

Example:

3240

cart_discount_allocations
object[]

Portions of cart-level discounts allocated to this line item. Definitions live in the operation's cart_discounts array. The sum of all allocations for a given discount_id must equal that discount's total_amount.

cart_discount_amount
integer

Sum of all cart_discount_allocations amounts

Example:

324

total_gross
integer

subtotal_after_line_discounts − cart_discount_amount. The final amount the customer pays for this line.

Example:

2916

tax
object
total_net
integer

total_gross − tax_amount

Example:

2651