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:
Term | Where you see it | What it means |
---|---|---|
EARN | Booking type | Points credited from a qualifying Transaction (regular/base points). |
BURN | Booking type | Points debited when paying with points (PayWithPoints). |
Storno | Booking flag | Reversal (negative EARN) when correcting a previous booking. |
Locked | Booking/Balance | Points credited but temporarily unavailable (e.g., refund period). |
Base points | Booking/Analytics | Regular points from the Transaction amount per program rules. |
Extra points / Multiplier | Booking/Analytics | Additional 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.
Updated about 1 month ago