Transactions

Transactions represent purchases (or pay-with-points redemptions) sent to Convercus from POS, web shop, or app. A Transaction may be anonymous or linked to an Account. When linked, it becomes a loyalty transaction and can create point bookings on the Account.


πŸ“˜

Do not forget:

  • Transactions can not be deleted (neither logical nor physically)
  • EARN, BURN
    • EARN < 0
    • EARN > 0 (standard)
    • PWP < 0
    • PWP > 0 (standard)
  • Cancellation (no difference between Storno and Return) Is storno a subset of return?
  • Cancellation only on LineItem base
  • BON header, LineITEM, TenderItem

Rules

  • Unique Bon ID: best practice, konfigurable
  • bonheader.amount = Sum(lineItem.extendedAmount)

Anonymous transactions

Summary

After reading this page, you will understand:

  • What a Transaction is and when it creates bookings
  • The difference between EARN and BURN (PayWithPoints) flows
  • How line items and tender items relate to points
  • Dependencies with Account, Coupons, and Interaction Point
  • Where Transaction data lives in the database
  • How to explore and test Transaction APIs

What is a Transaction?

A Transaction records a purchase event. It may be:

  • Loyalty (linked to an Account) β€” accountId is present and points can be earned or redeemed.
  • Anonymous β€” not linked to an Account; no loyalty bookings are created.

There are two Transaction types:

  • EARNTRANSACTION β€” standard purchase that may generate points.
  • PAYWITHPOINTS β€” redemption flow where points are used to pay.

A Transaction can include line items (products/services) and tender items (payment methods). Certain items can be excluded from earning rules based on configuration.


Points & bookings cheat sheet

Transactions themselves don’t store the running balance; they create bookings on the Account. Use this table to read point-related data correctly:

TermWhere you see itWhat it means
EARNBooking typePoints credited from a qualifying Transaction (regular/base points).
BURNBooking typePoints debited when paying with points (PayWithPoints).
StornoBooking flagReversal (negative EARN) when correcting a previous booking.
LockedBooking/BalancePoints credited but temporarily unavailable (e.g., refund period).
Base pointsBooking/AnalyticsRegular points from the Transaction amount per program rules.
Extra points / MultiplierBooking/AnalyticsAdditional points from Coupons or promotions on top of base points.

Tip: The Account balance is read from the balance endpoint and shows points, lockedPoints, and totalPoints. Transactions contribute to this via their resulting bookings.


Optional or mandatory?

  • You can post anonymous Transactions (no Account link) for reporting purposes.
  • To earn or redeem points, the Transaction must be linked to an Account.

Dependencies

  • Account: Needed for loyalty Transactions and to create bookings.
  • Coupons: May apply on a Transaction (e.g., multipliers, extra points, discounts, rewards) and generate additional bookings.
  • Interaction Point: Identifies the POS/web/app context sending the Transaction.
  • Partner/Store: Commercial context (who sold it, where).

Database tables

Transaction-related data is stored in these tables:

  • transaction β€” the purchase record (linked to Account when loyalty).
  • transaction_line_item β€” item-level details of the receipt.
  • transaction_tender_item β€” payment methods used (e.g., cash + points).
  • account_booking β€” points booked as a result of Transactions or Coupon applications.
  • transaction_aggregate_daily β€” daily aggregates for reporting.

Managing Transactions via API

Common actions:

  • Send an EARN Transaction (purchase) to create bookings on the linked Account.
  • Retrieve the Account balance before a BURN to verify redeemability.
  • Send a PayWithPoints Transaction to redeem points as tender.
  • Include lineItems and tenderItems as needed.

πŸ‘‰ Explore and try the endpoints interactively in the API Reference (you can inspect request/response schemas and execute test calls in a sandbox).

To configure where Transactions originate (e.g., POS registers, web shop), see Configure environment.


Examples

  • EARN flow: Identify Account β†’ post Transaction with amount and items β†’ Account receives EARN booking(s) β†’ Balance increases; part may be locked based on program rules.
  • BURN flow (PayWithPoints): Check balance β†’ post PayWithPoints Transaction including points as tender β†’ Account receives BURN booking β†’ Balance decreases.

Next steps

  • Continue with Loyalty Points to understand balance and lifecycle in detail.
  • See Coupons to learn how multipliers and extra points affect Transaction bookings.