Order Fields

A template prints whatever data it is sent, placed by {{fieldName}} placeholders. For orders, ReceiptKit uses one set of field names everywhere: the WooCommerce plugin sends them with every order, and the starter templates read them. Send the same names from your own system through the API and the Order Receipt, Store Receipt and Kitchen Ticket starters print your orders without changes.

How the data looks

  • Money is text in your store's own format ("$12.00", "1.206,00 kr."), printed exactly as sent. Where a rule has to compare an amount, a plain-number twin ends in Amount (totalAmount: 28.06).
  • Amounts are without tax; the InclTax twin is the same amount with tax, so a template can print either.
  • Leave a field blank when there is nothing to print. Starter rows such as Discount, Shipping, Tip and Change hide themselves when their field is empty.
  • Lists (items, taxLines, payments…) are arrays. In a template a list field is written with a dot: {{items.name}}.
  • Your own fields are welcome. Any other key you send can be placed in a template the same way.
{
  "storeName": "Bean & Brew",
  "orderNumber": "1042",
  "orderDateTime": "January 15, 2026 2:30 pm",
  "items": [
    { "name": "Ceramic Mug", "sku": "MUG-114", "qty": "2", "price": "$12.99",
      "total": "$25.98", "meta": "Color: Blue" }
  ],
  "subtotal": "$25.98",
  "tax": "$2.08",
  "taxLines": [{ "label": "Sales Tax", "amount": "$2.08" }],
  "total": "$28.06",
  "payments": [{ "label": "Visa ****4242", "amount": "$28.06" }],
  "customerName": "Jane Smith"
}

Order fields

Sent with every order (blank when there is no value).

FieldTypeMeaning
storeNamestringThe store's name
storeAddressstringThe store's address, one line per row
storePhonestringThe store's phone
orderNumberstringThe order number as the store shows it, without a leading #
orderDatestringOrder date in the store's date format
orderTimestringOrder time in the store's time format
orderDateTimestringOrder date and time
orderStatusstringThe order's status, in the store's words
shippingMethodstringThe shipping or pickup method's title
itemslistThe line items (ITEM_FIELDS)
subtotalstringThe items before any discount
subtotalInclTaxstringsubtotal with tax
discountstringEvery discount on the order (blank when none)
discountInclTaxstringdiscount with tax
couponsstringThe discount codes, comma-separated
couponLineslistOne {label, amount} per discount
shippingstringShipping after its discounts (blank when nothing ships)
shippingInclTaxstringshipping with tax
feesstringFees added up (blank when none)
feesInclTaxstringfees with tax
feeLineslistOne {label, amount} per fee
taxstringAll tax
taxLineslistOne {label, amount} per tax rate
totalstringWhat the customer pays
pricesIncludeTaxbooleanThe store shows prices with tax
subtotalAmountnumbersubtotal as a plain number
discountAmountnumberdiscount as a plain number
shippingAmountnumbershipping as a plain number
feesAmountnumberfees as a plain number
taxAmountnumbertax as a plain number
totalAmountnumbertotal as a plain number
paymentMethodstringThe payment method(s), in words
paymentslistOne {label, amount} per payment (cash as handed over)
customerNamestringThe customer's name (blank for a walk-in sale)
customerEmailstringThe customer's email
customerPhonestringThe customer's phone
shippingAddressstringShip-to address, one line per row
billingAddressstringBilling address, one line per row
customerNotestringThe customer's note on the order

Item fields

Each entry in items. The unit price is before discounts and the line total is after them, so the item lines add up to subtotal less discount.

FieldTypeMeaning
items.namestringThe product's name
items.skustringThe SKU
items.qtystringQuantity
items.pricestringUnit price before discounts
items.totalstringLine total after every discount on it
items.priceInclTaxstringprice with tax
items.totalInclTaxstringtotal with tax
items.metastringOptions, variations and add-ons, one per line ("Size: Large")

Optional fields

Standard names for what not every system knows: in-store sales (tip, cash rounding, change, the register), item counts, and line discounts. Send them when you have them; the Store Receipt starter prints each one and hides it when it is missing.

FieldTypeMeaning
metaFieldslistThe store's own extra fields the merchant chose to send
itemCountstringQuantities added up
lineCountstringNumber of item lines
itemCountTextstringitemCount with its word ("4 items")
lineCountTextstringlineCount with its word ("3 lines")
itemSummarystringBoth counts ("4 items and 3 lines")
tipstringThe tip (blank when none)
tipAmountnumbertip as a plain number
roundingstringCash rounding (blank when none)
roundingAmountnumberrounding as a plain number
totalBeforeRoundingstringtotal before cash rounding
adjustedTotalstringThe rounded amount due (blank without rounding)
changestringChange given after a cash payment (blank when none)
changeAmountnumberchange as a plain number
staffNamestringWho served the customer
locationNamestringThe store location or till
deviceNumberstringThe register
receiptNumberstringThe register's receipt number
receiptDateTimestringWhen the receipt was printed, in the register's time zone
deliveryMethodstringshipping, pickup, local_delivery or none
pickupLocationstringWhere a pickup order is collected
netSubtotalstringThe items after their own line discounts
netSubtotalInclTaxstringnetSubtotal with tax
orderDiscountstringDiscounts on the whole order only (blank when none)
orderDiscountInclTaxstringorderDiscount with tax
orderDiscountAmountnumberorderDiscount as a plain number
orderDiscountLineslistOne {label, amount} per order discount
FieldTypeMeaning
items.detailslistThe same lines as {key, label, value}, to place or style one
items.originalTotalstringLine total before its line discounts, shown struck through (blank when none)
items.netPricestringUnit price after its line discounts
items.netTotalstringLine total after its line discounts (order discounts not taken off)
items.netPriceInclTaxstringnetPrice with tax
items.netTotalInclTaxstringnetTotal with tax
items.variantstringThe variant's options on their own line ("Large / Blue"; WooCommerce plugin 1.9.0+)

Refund fields

A refund sends the order fields above for what it gives back (as negative amounts), plus these.

FieldTypeMeaning
contextstring"refund" on a refund
refundNumberstringThe refund's number
refundDatestringRefund date
refundTimestringRefund time
refundDateTimestringRefund date and time
refundReasonstringThe reason given
refundedViastringHow the money went back
orderTotalstringThe original order's total
totalRefundedstringRefunded on the order so far
remainingTotalstringThe order's total less refunds