You are viewing a non-production environment — the API surface may differ from production.

BigQuery field reference

All columns advertised by an example customer dataset, with types, meanings, and documented limitations.

This reference inventories 414 advertised fields in 26 customer views, observed in a staging customer dataset on 2026-10-05. It is a dated example, not a guarantee that your environment exposes the same columns at the same time. Always inspect your own dataset with INFORMATION_SCHEMA.COLUMNS (query in the BigQuery guide). Column descriptions are based on the documented reporting contract or source model where known; “operational/source-specific” explicitly means the field has no promised customer reporting semantics, not that its name should be interpreted as a contract.

October 8, 2026 update: The checked development and staging customer datasets now each advertise 429 fields in 26 views, with matching names and types. Relative to the staging inventory below, the following fields are newly advertised in both datasets:

ViewAdded fields (BigQuery type)Meaning
itemsallowed_tab_types (JSON), measurement (JSON), pricing_group_id (STRING), print_preparation (BOOL), variable_quantity (BOOL)Current catalogue configuration; not a historical sale-line snapshot.
kitchen_dispatch_itemsallocated_amount_cents (INT64), allocated_vat_amount_cents (INT64), guest_field_answers (JSON), measured_stock_id (INT64), measurement (JSON), zero_ticket (BOOL)Order-side allocation and preparation metadata; not a substitute for confirmed purchase amounts. zero_ticket marks an item prepared elsewhere and is now in view metadata.
purchase_line_itemsguest_field_answers (JSON), measurement (JSON), pre_discount_vat_amount_cents (INT64), revenue_account (STRING)Sale-line attributes; pre_discount_vat_amount_cents is not authoritative purchase-level VAT (use purchase_vats).
purchase_refund_line_itemsquantity_cents (INT64)Explicit refunded product quantity in hundredths of a unit (100 = one unit), nullable for amount-only and older refunds.

printer_jobs.rendered_content (BYTES) was removed from both checked customer views, while remaining in the upstream operational table; the October 5 printer_jobs table below is a historical snapshot and should not be used as a current SELECT * schema. Dev-only purchases.processed_by_retailer_user_id, purchase_line_items.pre_discount_value_cents, and kitchen_dispatch_items.is_surplus were also removed from dev customer views for parity; use purchase_line_items.is_surplus for the sale-line flag. These changes are detailed in the changelog. Other customer datasets, especially production, must be verified separately.

BigQuery view metadata reports nullable columns even when a source column has a database default or NOT NULL constraint. Do not derive source constraints from this inventory. Types and names are those advertised by the customer views, not the upstream PostgreSQL schema. All tables below are read-only views scoped to the customer; joins and money rules are in the guide.

Planned, not part of the 414-field inventory: Price clusters are defined in the source model but are not verified as customer views. These source fields explain the intended customer-scoped tables and relationships; they are not advertised BigQuery column types or availability promises:

Planned tableSource fieldsMeaning
price_clustersid (UUID), location_id (integer), name (text), version (integer), created_at, updated_at (timestamps)Current cluster owned by location_id; version is a configuration revision, not a purchase price history.
price_cluster_entriescluster_id (UUID), item_id (integer), price_cents (bigint)Configured item price in minor currency units; join cluster_id to price_clusters.id.
price_cluster_locationscluster_id (UUID), location_id (integer)Child location assigned to a cluster; not necessarily every customer-visible location.
price_cluster_applicationscluster_id (UUID), location_id (integer), item_id (integer), previous_pricing_override (JSONB)Currently applied location/item combination; JSON stores the previous pricings and pricing_group_id keys for restoration, not the active price.

In the planned customer views, the cluster owner must be in location_members; assignment/application locations must additionally be in location_members. Check actual BigQuery types and row availability after replication and view provisioning. See the changelog.

cost_centers

Cost-center definitions assigned to locations and used for reporting or accounting.

FieldBigQuery typeMeaning
idINT64Row identifier; join according to the table's documented relationships.
uuidSTRINGUUID identifier for the cost center.
nameSTRINGDisplay name.
descriptionSTRINGDescription.
location_idINT64Location identifier, scoped by this dataset's location membership.
inherit_to_childrenBOOLWhether the definition is inherited by child locations.
activeBOOLWhether this definition is active.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
codeSTRINGConfigured reporting code.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.

discounts

Current location-owned discount/voucher definitions, including gift-card configurations; not a per-purchase redemption ledger.

FieldBigQuery typeMeaning
idINT64Identifier for this configured discount; not an applied discount or purchase ID.
location_idINT64Location that owns this discount; rows are scoped to the customer's location membership.
nameSTRINGConfigured display name; not a stable reporting identifier.
enabledBOOLCurrent enabled flag; not the historical state at purchase time.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
valid_fromTIMESTAMPConfigured start of the discount's validity period.
valid_untilTIMESTAMPNullable configured end of the discount's validity period.
type_specificationJSONJSON defining the configured discount type and calculation; not a paid discount amount.
codeSTRINGConfigured discount code; identify uniquely with location_id, not code alone.
applies_to_alcoholBOOLWhether the discount configuration permits alcohol.
program_idSTRINGOptional associated discount program identifier.
voucher_typeSTRINGConfigured voucher category, such as discount code or promotion. GIFT_CARD rows are gift-card templates; stored value lives on gift cards, not vouchers.
balance_modeSTRINGBalance-tracking mode; vouchers hold no balance, so new vouchers have NONE. Not a purchase payment method.
max_usesINT64Optional maximum overall usage count.
times_usedINT64Mutable usage counter; not an individual redemption record.
per_user_usesINT64Optional maximum uses per user.
min_order_amount_centsINT64Optional minimum eligible order amount in currency minor units.
max_discount_amount_centsINT64Optional maximum discount amount in currency minor units.
initial_balance_centsINT64Initial balance on older vouchers, in currency minor units; vouchers hold no balance and new ones leave it empty.
remaining_balance_centsINT64Balance left on older vouchers, in currency minor units; no longer deducted on redemption.
can_combineBOOLWhether the configuration permits combination with other discounts.
auto_applyBOOLWhether this discount is configured for automatic application.
company_idINT64Optional associated company identifier.
display_titleSTRINGCurrent customer-facing voucher title, where configured.
display_descriptionSTRINGCurrent customer-facing voucher description, where configured.
display_image_urlSTRINGCurrent customer-facing voucher image URL, where configured.
always_visibleBOOLWhether the promotion is configured to remain visible.
is_templateBOOLWhether this voucher is a blueprint rather than a redeemable instance.
template_voucher_idINT64Identifier of the template voucher from which this one was created, if any.
purchase_line_item_idINT64Optional purchase-line reference for a voucher created through a purchase.
deleted_atTIMESTAMPSoft-deletion time, where set; do not treat the current row as a historical sale snapshot.
design_idSTRINGOptional voucher/gift-card design identifier.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.

item_accounts

Accounting account definitions used for catalogue mapping.

FieldBigQuery typeMeaning
idSTRINGRow identifier; join according to the table's documented relationships.
accountSTRINGConfigured accounting account code.
descriptionSTRINGAccounting account description.
location_idINT64Location identifier, scoped by this dataset's location membership.
company_idINT64Company associated with this account, if any.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
inherit_to_childrenBOOLWhether child locations inherit this account.

item_accounts_map

Links catalogue items to accounting accounts.

FieldBigQuery typeMeaning
idSTRINGRow identifier; join according to the table's documented relationships.
item_idINT64Catalogue item (items.id).
account_idSTRINGAccounting account (item_accounts.id).
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.

items

Current catalogue items; not historical purchase-line snapshots.

FieldBigQuery typeMeaning
idINT64Row identifier; join according to the table's documented relationships.
company_idINT64Internal identifier/reference; confirm the target table before joining.
location_idINT64Location identifier, scoped by this dataset's location membership.
titleSTRINGCurrent catalogue item title; a past sale keeps its own line title.
descriptionSTRINGCurrent catalogue description.
old_image_urlSTRINGLegacy image URL.
ingredientsSTRINGConfigured ingredient text for the current catalogue item.
weightINT64Configured weight value; unit is not standardized in this reporting contract.
discount_percentageINT64Catalogue-level discount configuration; not a sale-line discount snapshot.
base_priceINT64Catalogue base price; not an authoritative historical sale amount.
deletedBOOLCatalogue deletion flag; not evidence that an old purchase was canceled.
created_dateTIMESTAMPTime this catalogue record was created.
integration_idINT64Associated integration identifier.
integration_item_idSTRINGItem's identifier in an external integration.
producerSTRINGConfigured product producer text.
weight_stringSTRINGDisplay text for the configured weight.
semafor_image_urlSTRINGLegacy/integration image URL.
vat_idINT64Standard VAT configuration reference.
imagesJSONCatalogue image metadata as JSON.
matabas_product_idSTRINGInternal identifier/reference; confirm the target table before joining.
full_priceBOOLCatalogue pricing flag; not a paid sale-line amount.
image_urlSTRINGCurrent image URL.
karma_cut_percentageINT64Configured platform-share percentage; not a purchase fee row.
typeSTRINGCatalogue item category/type.
made_to_orderBOOLWhether the catalogue item is prepared on demand.
contextJSONContext JSON; contents depend on the producing workflow and can change.
title_prepSTRINGPreparation-facing item title.
prep_time_minutesINT64Configured preparation duration in minutes.
coursing_orderINT64Configured course ordering for the item.
purchase_cost_centsINT64Configured purchase cost in currency minor units; not a sale amount.
is_alcoholBOOLBoolean flag for the named property; not a purchase-finality test.
is_availableBOOLCurrent availability, not historical sale availability.
item_typeSTRINGExtensible catalogue classification, not a closed enum; distinct from the recorded sales-line item_type.
parent_item_idINT64Parent catalogue item, when inherited/related.
is_inheritedBOOLWhether this record inherits catalogue data.
source_location_idINT64Source location for an inherited catalogue item.
overridden_fieldsJSONJSON describing fields overridden locally.
inherit_to_childrenBOOLWhether this catalogue record can be inherited by child locations.
inheritance_updated_atTIMESTAMPLast inheritance-related update.
allowed_overridesJSONJSON describing fields permitted to be overridden.
variable_pricingBOOLWhether variable pricing is configured.
colorSTRINGCatalogue display color.
takeaway_vat_idINT64Takeaway VAT configuration reference.
min_price_centsINT64Configured minimum price in currency minor units.
max_price_centsINT64Configured maximum price in currency minor units.
preparationSTRINGConfigured preparation instructions/text.
kitchen_sort_orderINT64Configured kitchen display order.
metadataJSONPartner-specific JSON identifiers; case-sensitive and not a historical sale snapshot.
eanSTRINGConfigured EAN barcode, if present.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
takeaway_account_idSTRINGAccounting account used for takeaway, when configured.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.

kitchen_dispatch_events

Events recorded against kitchen dispatches.

FieldBigQuery typeMeaning
uuidSTRINGUUID-shaped row identifier; join according to the table's documented relationships.
kitchen_dispatch_idSTRINGReference to kitchen_dispatches.uuid.
eventSTRINGKitchen dispatch event name.
commentSTRINGOptional event comment.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
meta_dataJSONExtensible JSON metadata; keys are case-sensitive and not a universal integration contract.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.

kitchen_dispatch_item_modifications

Variant/modification links recorded against kitchen lines.

FieldBigQuery typeMeaning
idINT64Row identifier; join according to the table's documented relationships.
kitchen_dispatch_item_idSTRINGKitchen item (kitchen_dispatch_items.uuid).
variant_idINT64Catalogue variant (variants.id).
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
statusSTRINGModification lifecycle status.
quantity_centsINT64Quantity in hundredths of one unit; 150 means 1.5 units.
price_centsINT64Modification price in currency minor units.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.

kitchen_dispatch_items

Kitchen preparation/order lines; not equivalent to completed sales.

FieldBigQuery typeMeaning
uuidSTRINGUUID-shaped row identifier; join according to the table's documented relationships.
kitchen_dispatch_idSTRINGParent kitchen dispatch (kitchen_dispatches.uuid).
sale_item_idINT64Source sale-item identifier where populated; not purchase_line_items.id.
tab_member_idSTRINGTab member associated with this line.
priceINT64Kitchen/order-side price; use purchase lines for paid sale amounts.
discountINT64Order-side per-unit adjustment; negative when a price was raised, not a reliable discount amount. Discounts given before payment are already in price.
commentsJSONOrder-line notes/JSON; may contain customer-provided text.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
tab_settlement_idSTRINGInternal identifier/reference; confirm the target table before joining.
base_priceINT64Order-side base price; not the historical paid sale-line total.
split_of_kitchen_dispatch_itemSTRINGOriginal kitchen line when this line was split.
statusSTRINGKitchen-item workflow status; not purchase finality.
paid_amountINT64Kitchen-side payment allocation; not the purchase total.
coursing_orderINT64Course ordering of this kitchen line.
item_idINT64Reference to a catalogue item (items.id) where populated.
quantity_centsINT64Quantity in hundredths of one unit; 150 means 1.5 units.
parent_kitchen_dispatch_item_idSTRINGParent kitchen line, where this line is a child/add-on.
upsell_sourceSTRINGSource of an upsell association, if recorded.
upsell_session_idSTRINGInternal identifier/reference; confirm the target table before joining.
upsell_recommendation_idSTRINGInternal identifier/reference; confirm the target table before joining.
quantityINT64Quantity in whole-unit compatibility form; use quantity_cents for fractional lines.
variantsJSONSelected variant detail as JSON; do not treat as independent purchase lines.
discount_detailsJSONOrder-side discount detail as JSON; integration-specific, not a reporting contract. A pending source migration drops this column; do not depend on it.
item_stateSTRINGItem-level kitchen state; not a purchase state.
is_takeawayBOOLLine-level takeaway choice; more precise than a tab_type shortcut.
pre_orderBOOLWhether this item belongs to a pre-order flow.
contextJSONContext JSON; contents depend on the producing workflow and can change.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
item_typeSTRINGKitchen item classification; not purchase_line_items.type.
surplus_entry_idINT64Surplus entry associated with this line, if any.
fired_atTIMESTAMPTime the line was fired to preparation, if available.
vat_rate_basis_pointsINT64VAT rate in basis points (1200 = 12%).
external_line_idSTRINGInternal identifier/reference; confirm the target table before joining.

Historical metadata exception (staging, 2026-09-28): zero_ticket was queryable as BOOL, but an older customer view's stored schema did not advertise it. It is now advertised as BOOL in the checked development and staging customer views as of October 8, 2026. Check other datasets independently.

kitchen_dispatches

Kitchen orders/dispatches, which can be separate from payments.

FieldBigQuery typeMeaning
uuidSTRINGUUID-shaped row identifier; join according to the table's documented relationships.
tab_idSTRINGTab (tabs.uuid).
daily_ordinal_numberINT64Daily display/order sequence; not a stable purchase identifier.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
desired_pickup_timeTIMESTAMPRequested pickup time.
store_commitment_timeoutTIMESTAMPStore commitment deadline.
time_slot_idINT64Selected time-slot identifier.
time_slot_starts_atTIMESTAMPSelected time-slot start.
time_slot_ends_atTIMESTAMPSelected time-slot end.
latest_stateSTRINGKitchen dispatch lifecycle state; not a completed payment.
location_idINT64Location identifier, scoped by this dataset's location membership.
tab_member_idSTRINGTab member associated with this kitchen dispatch.
sourceSTRINGOrder source/channel.
messageSTRINGKitchen/order message; may contain customer-provided text.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
external_order_idSTRINGExternal platform's order identifier.
external_order_numberSTRINGExternal display/order number.
metadataJSONExtensible JSON metadata; keys are case-sensitive and not a universal integration contract.

location_members

Location IDs included in this customer dataset's access scope.

FieldBigQuery typeMeaning
idINT64Location ID included in this customer's hierarchy and dataset scope.

locations

Limited, customer-scoped location details.

FieldBigQuery typeMeaning
location_idINT64Location identifier (same namespace as purchases.location_id).
nameSTRINGLocation display name.
external_nameSTRINGLocation's external name.
countrySTRINGCountry code/label as exposed by the view; not a timezone.
metadataJSONLimited customer-visible location JSON; not a source of guaranteed timezone or all private keys.

prepaid_types

Configured prepaid payment types, labels, and reporting codes.

FieldBigQuery typeMeaning
idSTRINGRow identifier; join according to the table's documented relationships.
location_idINT64Location identifier, scoped by this dataset's location membership.
codeSTRINGConfigured reporting code; use this rather than a display label for mappings.
labelSTRINGHuman-readable prepaid method label.
sort_orderINT64Display ordering.
cost_center_idINT64Linked cost center, if configured.
requires_commentBOOLWhether a comment is required when using this type.
archived_atTIMESTAMPTime the prepaid type was archived, if archived.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.

printer_jobs

Operational print jobs; rendered content can be binary.

FieldBigQuery typeMeaning
idSTRINGRow identifier; join according to the table's documented relationships.
printer_group_idSTRINGPrinter group intended for the job.
claimed_by_printerSTRINGPrinter that claimed the job, if any.
kitchen_dispatch_idSTRINGRelated kitchen dispatch, if this is a kitchen print.
tab_idSTRINGRelated tab, if this is a tab/receipt print.
retriesINT64Number of print attempts/retries.
contentJSONOriginal print content; inspect its type before using it in a connector.
meta_dataJSONExtensible JSON metadata; keys are case-sensitive and not a universal integration contract.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
latest_stateSTRINGMost recent print-job state; not a sale state.
idempotency_keySTRINGDeduplication key for creating the print job.
correlation_idSTRINGCorrelation identifier for tracing the print request.
origin_serviceSTRINGService that produced the print job, where recorded.
target_printer_idSTRINGExplicit printer target, when provided.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
rendered_media_typeSTRINGMIME/media type of rendered output.
rendered_atTIMESTAMPTime rendered output was created.
rendered_contentBYTESRaw rendered print payload (BYTES); cast to Base64 only for a consumer that needs it.

purchase_applied_fees

Commercial/payment fees associated with a purchase, not sold articles.

FieldBigQuery typeMeaning
idINT64Row identifier; join according to the table's documented relationships.
purchase_idINT64Reference to purchases.id; for refunds this is the ORIGINAL sale.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
charged_amount_centsINT64Commercial fee charged, in currency minor units; not a product sale.
vat_amount_centsINT64VAT included in the applied fee, in currency minor units.
vat_rate_basis_pointsINT64VAT rate in basis points (1200 = 12%).
fee_typeSTRINGConfigured fee category.
contract_fee_idINT64Contract fee definition, when applicable.
price_plan_stage_fee_idINT64Price-plan fee definition, when applicable.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
fee_rule_idSTRINGMatched fee rule, when applicable.
charge_modeSTRINGHow/when this fee is charged.
usage_accumulated_atTIMESTAMPTime fee usage was accumulated, if applicable.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.

purchase_line_items

Sale/payment lines belonging to purchases.

FieldBigQuery typeMeaning
idINT64Stable line identifier; unique within this environment.
typeSTRINGproduct (goods), tip (gratuity), or amount (unallocated tab payment).
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
purchase_idINT64Reference to purchases.id; for refunds this is the ORIGINAL sale.
titleSTRINGTitle saved with this sale; prefer over current catalogue title for receipts.
final_amount_centsINT64VAT-inclusive, post-discount PER-UNIT amount in currency minor units.
vat_rate_basis_pointsINT64VAT rate in basis points (1200 = 12%).
vat_amount_centsINT64VAT component per unit, in currency minor units.
article_noSTRINGInternal/fiscal reference; not guaranteed to match a customer's SKU.
quantityINT64Quantity in whole-unit compatibility form; use quantity_cents for fractional lines.
parent_line_item_idINT64Parent sale-line ID when recorded; split amount allocations can be flat. Kitchen parent links may recover the relationship within the same purchase.
applied_total_discount_amount_centsINT64VAT-inclusive discount on the whole line. On ledger tabs every discount on the line for this payment, given before or at payment; on other tabs the payment-time discount, such as a voucher. Paid line = total_amount_cents minus this discount.
origin_item_idINT64Recorded catalogue item ID when present; a kitchen_dispatch_item_id link can recover item identity on some third-party lines with a NULL origin.
applied_modificationsJSONInline pricing/modification JSON; not automatically extra sale rows.
quantity_centsINT64Quantity in hundredths of one unit; 150 means 1.5 units.
total_amount_centsINT64Whole-line total before the line's discount (applied_total_discount_amount_cents). On ledger tabs the price before every discount; on other tabs a discount given on the item before payment is already in it. Do not multiply by quantity.
total_vat_amount_centsINT64Whole-line VAT in currency minor units; historical discounted rows can be pre-discount. Use purchase_vats for purchase-level reporting.
kitchen_dispatch_item_idSTRINGRelated kitchen_dispatch_items.uuid, where linked.
total_with_modifications_centsINT64Pre-discount total including modifications; nullable receipt-oriented field.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
item_typeSTRINGExtensible sales-line text, not a closed enum. Keep regular/surplus; exclude service_fee, marketplace_fee and marketplace_discount; hold unknown values for review.
is_surplusBOOLMarks a surplus product; surplus is still a real sale.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.

purchase_payment_method

Purchase-level payment method details and later provider enrichment.

FieldBigQuery typeMeaning
idINT64Row identifier; join according to the table's documented relationships.
purchase_idINT64Purchase this payment-method detail describes; keep purchase as the reporting grain.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
brandSTRINGProvider method/brand or prepaid display label; not a universal tender-code enum.
last4STRINGLast four card digits when supplied; sensitive payment detail.
shopper_refSTRINGProvider shopper reference, if supplied; handle as sensitive data.
aliasSTRINGProvider payment alias, if supplied.
funding_sourceSTRINGProvider enrichment; not a complete standalone tender classification.
issuer_countrySTRINGIssuer country when returned by the payment provider.
card_binSTRINGCard BIN when supplied; handle as sensitive payment detail.
card_fingerprintSTRINGProvider card fingerprint, if supplied; handle as sensitive data.
psp_fingerprintSTRINGProvider fingerprint, if supplied; handle as sensitive data.
payment_account_referenceSTRINGProvider account reference, if supplied; handle as sensitive data.
matched_user_idINT64Karma user associated by payment-method matching, where available.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
payment_method_variantSTRINGProvider-specific variant, when supplied.
payment_method_idSTRINGKarma payment-method UUID; prepaid configuration joins to prepaid_types.id. Not the partner reporting code.
prepaid_type_codeSTRINGString reporting code snapshotted at payment time; location-scoped, nullable historically, and not guaranteed to match later-edited configuration.

purchase_refund_line_items

Refund allocations to original purchase lines; monetary amounts do not establish returned quantities.

FieldBigQuery typeMeaning
idINT64Row identifier; join according to the table's documented relationships.
purchase_refund_idINT64Reference to purchase_refunds.id.
purchase_line_item_idINT64Reference to the original purchase_line_items.id.
total_amount_centsINT64Positive monetary amount allocated to the original line, not units returned.
seller_amount_centsINT64Seller's portion of the refund allocation in currency minor units.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
quantity_cents (not in this October 5 snapshot)INT64Available in checked development and staging views since October 8; explicit refunded product quantity in hundredths of a unit (100 = one unit), NULL for amount-only or historical allocations. Check your view before querying.

Historical rollout note: quantity_cents became advertised as INT64 in a checked development customer view on October 5, 2026. As of October 8 it is also advertised in the checked staging customer view; no production customer-view availability is claimed. See the changelog.

purchase_refund_vats

Refunded VAT amounts grouped by VAT rate.

FieldBigQuery typeMeaning
purchase_refund_idINT64Reference to purchase_refunds.id.
vat_rate_basis_pointsINT64VAT rate in basis points (1200 = 12%).
refunded_vat_amount_centsINT64Positive VAT magnitude refunded at this rate.
idINT64Row identifier; join according to the table's documented relationships.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.

purchase_refunds

Refund attempts/results referring to original purchases.

FieldBigQuery typeMeaning
idINT64Identifier for this refund attempt/result; use separately from the original purchase ID.
purchase_idINT64Original purchase (purchases.id); inspect its state: technical zero-refunds can reference failed purchases.
psp_request_refSTRINGProvider reference for the refund request, if available.
psp_response_refSTRINGProvider reference returned for the refund, if available.
psp_refunded_amount_centsINT64Amount reported refunded by the provider, when known; for confirmed refunds use this before falling back to amount_cents.
psp_karma_provided_refSTRINGKarma-supplied provider correlation reference, if available.
stateSTRINGpending, canceled, confirmed, or failed; only confirmed is a finalized refund.
reasonSTRINGFree-text refund reason.
initiated_bySTRINGActor that initiated the refund, where recorded.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
refunded_fee_amount_centsINT64Amount of fees refunded, if known.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
amount_centsINT64Nullable requested/recorded refund magnitude in currency minor units; may be NULL even on a confirmed refund.
idempotency_keySTRINGDeduplication key used for this refund request.
cr_receipt_idSTRINGNullable fiscal refund/credit receipt reference; not the original sale receipt.
cr_registered_atTIMESTAMPNullable time the confirmed refund was later registered with the cash register.

purchase_vats

VAT totals grouped by rate for each purchase.

FieldBigQuery typeMeaning
purchase_idINT64Reference to purchases.id; for refunds this is the ORIGINAL sale.
vat_rate_basis_pointsINT64VAT rate in basis points (1200 = 12%).
vat_amount_centsINT64Purchase VAT total for this rate, in currency minor units.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
idINT64Row identifier; join according to the table's documented relationships.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.

purchases

One purchase/payment record; the primary sales reporting grain.

FieldBigQuery typeMeaning
idINT64Stable per-purchase key in this environment; use for a per-purchase export.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
intent_idSTRINGPayment-intent UUID used to correlate the payment attempt.
pspSTRINGPayment provider/type; combine with purchase_payment_method for tender details.
psp_request_refSTRINGProvider reference on payment request, when present.
psp_response_refSTRINGProvider reference returned after payment, when present.
stateSTRINGpending, canceled, confirmed, or failed; only confirmed is a finalized purchase.
location_idINT64Location identifier, scoped by this dataset's location membership.
paying_tab_member_idSTRINGNullable tab-member reference; LEFT JOIN to tab_members.uuid, then tab_members.tab_id to tabs.uuid. A confirmed purchase may have no tab member.
paying_user_idINT64Paying Karma user, when known.
currency_codeSTRINGISO 4217 currency code for the purchase amount.
legacy_payment_idINT64Link to a legacy payment, only when applicable.
cr_receipt_idSTRINGNullable cash-register receipt reference; not a universal sale key.
search_tagsSTRINGOptional searchable text with related references; not an export key.
purchased_atTIMESTAMPUTC payment-confirmation instant; BigQuery exposes it as TIMESTAMP.
psp_karma_provided_refSTRINGKarma-supplied provider correlation reference, when present.
terminal_idSTRINGTerminal identifier, when payment involved a terminal.
initiated_by_serviceSTRINGService that initiated the purchase, where recorded.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
metadataJSONExtensible JSON metadata; keys are case-sensitive and not a universal integration contract.
amount_centsINT64Nullable purchase/payment amount in currency minor units, including NULL on ordinary POS sales; not a universal paid-total column.
versionINT64Internal version of the purchase row; not an API/schema version.
idempotency_keySTRINGPurchase request deduplication key, where populated.
disputedBOOLWhether the purchase has a dispute flag.
psp_fee_forward_rule_idSTRINGFee forwarding rule, if matched.
psp_fee_forwardedBOOLWhether provider-fee forwarding was recorded.

retailer_user_actions

Operational audit actions by retailer users; not sales or payments.

FieldBigQuery typeMeaning
idINT64Row identifier; join according to the table's documented relationships.
actionSTRINGRecorded retailer user action.
retailer_user_idINT64Actor retailer user identifier.
location_idINT64Location identifier, scoped by this dataset's location membership.
metadataJSONExtensible JSON metadata; keys are case-sensitive and not a universal integration contract.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
action_typeSTRINGAction classification.
entity_typeSTRINGType of entity affected.
entity_idINT64Identifier of entity affected.
changesJSONJSON describing the change.
ip_addressSTRINGActor IP address; sensitive audit information.
user_agentSTRINGActor user-agent string; sensitive audit information.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.

tab_events

State/events recorded against a tab.

FieldBigQuery typeMeaning
uuidSTRINGUUID-shaped row identifier; join according to the table's documented relationships.
tab_idSTRINGReference to tabs.uuid.
eventSTRINGTab event name.
commentSTRINGOptional event comment.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.

tab_members

Participation/payment identity within a tab.

FieldBigQuery typeMeaning
uuidSTRINGTab member UUID; purchases.paying_tab_member_id points here.
tab_idSTRINGParent tab UUID (tabs.uuid).
storefront_session_idSTRINGStorefront session reference, when applicable.
initiatorBOOLWhether this member initiated the tab.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
member_typeSTRINGType of tab participant.
user_idINT64Customer/user ID, when known.
retail_user_idINT64Retail user ID, when known.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
auto_pay_payment_method_idSTRINGAuto-pay method reference, if configured.

tabs

Ordering/payment container; a tab can have multiple purchases.

FieldBigQuery typeMeaning
uuidSTRINGTab UUID; not a per-purchase/receipt ID.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
location_idINT64Location identifier, scoped by this dataset's location membership.
storefront_qr_code_idSTRINGInternal identifier/reference; confirm the target table before joining.
selected_payment_flowSTRINGPayment-flow selection for the tab.
latest_stateSTRINGTab lifecycle state; not a finalized sale test.
order_amountINT64Legacy/order-side amount; confirm semantics before financial reporting.
paid_amountINT64Legacy/order-side paid amount; use monetary purchase records for sales.
tip_amountINT64Tab-side gratuity amount; reconcile separately from goods.
tab_typeSTRINGTable, takeaway, or over-the-counter context; not a definitive consumption flag.
coursing_orderINT64Course ordering recorded on the tab.
payment_modeSTRINGTab payment mode.
total_amount_centsINT64Tab total in currency minor units; not one purchase amount.
paid_amount_centsINT64Amount paid on the tab (non-tip lines of confirmed purchases minus confirmed refunds), in currency minor units. Fee lines count in paid but not in total_amount_cents, so paid can exceed the total, as on marketplace orders with a booked delivery fee.
payment_splitINT64Tab split-payment configuration/value.
booking_idSTRINGRelated booking, if any.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.
remaining_balance_centsINT64Outstanding tab balance in currency minor units: total_amount_cents minus paid_amount_cents, never below zero.
cost_center_idINT64Selected cost center, if any.
external_refSTRINGExternal system reference, if any.
external_sourceSTRINGSource of the external reference.
external_fetched_atTIMESTAMPTime external tab data was fetched.
metadataJSONExtensible JSON metadata; keys are case-sensitive and not a universal integration contract.
service_fee_charged_intent_idSTRINGInternal identifier/reference; confirm the target table before joining.
service_fee_charged_atTIMESTAMPTimestamp of the named event; not necessarily sale time.
pos_owns_totalBOOLWhether the POS owns the tab total.

variants

Current variant/add-on catalogue definitions; not historical sale snapshots.

FieldBigQuery typeMeaning
idINT64Row identifier; join according to the table's documented relationships.
variant_group_idINT64Variant group identifier.
amountINT64Configured variant amount; not an authoritative sale-line amount.
typeSTRINGVariant category/type.
default_selectionBOOLWhether preselected in the catalogue.
nameSTRINGCurrent variant display name; not a historical sale-line title.
descriptionSTRINGCurrent variant description; not a historical sale-line snapshot.
meta_dataJSONExtensible JSON metadata; keys are case-sensitive and not a universal integration contract.
created_atTIMESTAMPTime this row was created; not necessarily when payment completed.
updated_atTIMESTAMPTime this row was last updated; child-table updates need separate tracking.
rankINT64Display ordering.
item_idINT64Associated catalogue item (items.id), if a standalone item backs the variant.
quantityINT64Quantity in whole-unit compatibility form; use quantity_cents for fractional lines.
allow_quantity_changeBOOLWhether the variant quantity may be adjusted.
min_quantityINT64Configured minimum quantity in whole-unit compatibility form.
max_quantityINT64Configured maximum quantity in whole-unit compatibility form.
quantity_centsINT64Configured variant quantity in hundredths of a unit.
min_quantity_centsINT64Minimum configured quantity in hundredths.
max_quantity_centsINT64Maximum configured quantity in hundredths.
datastream_metadataSTRUCT<uuid STRING, source_timestamp INT64>Replication metadata (including source timestamp); not a business-event time or promised export cursor.

Planned: tab ledger (not in this view inventory)

The tab ledger records what a tab owes, every discount by name and source, and how each payment and refund is spread over the tab's lines. It is defined in the source model but not verified as customer views. The fields below are PostgreSQL source fields, not advertised BigQuery types or availability promises. Every ledger identifier is a time-ordered UUID (version 7). Every ledger table is append-only: a correction is a new row with reverses_id pointing at the row it cancels, never an edit. A payment's discharge is recorded once, from the purchase's lines when it turns confirmed; it is reversed only if the purchase leaves confirmed or its payer moves to another tab.

Planned tableSource fieldsMeaning
ledger_accountsid (UUID), currency (text), created_atOne account per owner; a ledger tab points at it with tabs.ledger_account_id.
ledger_chargesid, account_id, reverses_id (UUID), amount_cents (integer), created_atGross amount owed per charge.
item_chargescharge_id, kitchen_dispatch_item_id (UUID), quantity_cents, unit_price_cents (integer)Charge for one order line.
fee_chargescharge_id (UUID), fee_type (text)Charge for a fee or other non-item line; not part of the tab total.
charge_tax_ratescharge_id (UUID), tax_rate_bps (integer)VAT rate per charge; no row when the rate is unknown.
ledger_reductionsid, charge_id, reverses_id (UUID), amount_cents (integer), created_atDiscount amount taken off a charge.
account_discountsid, account_id (UUID), label, kind (text), value (numeric), created_atApplied discount: name, kind and value. Its source is the source table that points at it. Not the discounts definitions.
discount_reductionsreduction_id, discount_id (UUID), quantity_cents (integer)Which applied discount each reduction belongs to, over which quantity; over whole units the same amount on every unit.
tab_purchase_discountsdiscount_id, purchase_intent_id (UUID), scope (text)The payment attempt each applied discount came with. scope payment: bound to that payment (join purchase_intent_id to purchases.intent_id); order: given on the items before payment. A discount without a row is an item discount, such as one given by staff.
voucher_discountsdiscount_id (UUID), voucher_reservation_id (integer)Discount from one redeemed Karma voucher; one discount per voucher.
manual_discountsdiscount_id, kitchen_dispatch_item_id (UUID), retailer_user_id (integer), reason (text)Discount given by staff.
ledger_dischargesid, account_id, reverses_id (UUID), amount_cents (integer), created_atAmount paid (positive) or refunded (negative), tips excluded.
ledger_allocationsid, discharge_id, charge_id, reverses_id (UUID), amount_cents (integer), created_atPart of a discharge applied to one charge.

Existing views gain tabs.ledger_account_id, purchases.discharge_id, and purchase_refunds.discharge_id (UUID); all three are NULL outside the ledger. Only tabs created after the ledger is enabled get an account. When the ledger cannot record a change, the change still goes through, the tab leaves the ledger (ledger_account_id becomes NULL) and its account stops growing. A discount given before payment lowers the kitchen line's price (the ledger writes it). Every discount, given before or at payment, is in applied_total_discount_amount_cents of the purchase lines that pay for its items, whose total_amount_cents is the price before every discount. Every discount is its own applied discount with its own name, and a purchase's lines are derived from what the ledger planned for that payment. Integration-specific discount detail and the ledger's internal pricing and payment-coverage tables are not planned as customer views. Ledger rows carry no location_id: planned views scope them through the owning tab's location_id in location_members. Existing purchase, kitchen and tab columns keep their meaning; purchase lines say price, discount and net, as a voucher's line does. Check the changelog for rollout status; these tables are not included in the counts above.

On this page