Skip to main content
Transactions in Omneo represent completed purchases. Sending a transaction links it to a customer profile, contributes to aggregations (lifetime spend, ATV, purchase frequency), triggers reactions, and makes the transaction visible in Clienteling and Profile Portal.
Only sync completed transactions to Omneo. Do not sync draft, partially paid, or otherwise incomplete records. Omneo transactions are immutable records of what occurred.

Before you start

  • Review Authentication to get a bearer token
  • Plan your data mapping: decide which transaction fields from your source system map to Omneo fields
  • Determine whether you’ll look up profiles by Omneo ID, email, or an external identity handle

Transaction anatomy

A transaction has two levels:
  • Header: overall transaction details: total, date, location, staff, receipt ref, payments, tags
  • Items: individual line items with product, price, and quantity
Both header and items can be provided in the same request.

Resolving the profile ID

You don’t need to know the Omneo profile ID up front. Use profile_id_handle to tell Omneo how to interpret the profile_id field:

Creating a transaction

Upsert (create or update)

Use the sync endpoint when you have a reliable external_id and want to avoid duplicate transactions:
This searches for an existing transaction matching external_id. If found, it updates it. If not found, it creates a new one.

Updating a transaction

Only the fields you include will be updated.

Voiding a transaction

Prefer voiding over deletion. Set is_void: true on the transaction to mark it as voided without removing it from history:

Bulk / queued transactions

For historical imports or high-volume ingestion, use the queue endpoint rather than the standard create endpoint. This places each transaction into a batch processing queue rather than processing it synchronously:
The request body is identical to the standard create endpoint. Loop through your records and submit them individually to the queue. A transaction.created webhook fires as each one processes.

Adding line items after creation

Note: adding items after the fact does not automatically adjust the transaction total. Update the header separately if needed.

Key fields reference