Recommended mapping
Contact sync
When an Odoo contact becomes eligible for loyalty, callPOST /customers with
external_ref. That endpoint upserts on the external reference: a retry returns
the existing customer without overwriting it.
Order completion
On a paid or completed POS order, call/marketplace/accrue. Send:
- the mapped
card_id; - the Odoo partner external reference;
- the stable POS order reference;
amount_pencewhen the card earns from spend; and- the mapped Perkstar
locationId.
Refunds and cancellations
On a confirmed refund, call/marketplace/reverse with the original external
transaction reference. Record the returned Perkstar reversal ID on the refund
record so support can trace both sides.
Reconciliation job
Run a scheduled reconciliation that:- finds completed Odoo orders missing a Perkstar transaction ID;
- retries them with the original idempotency and transaction references;
- compares recent Perkstar transactions with Odoo orders; and
- alerts on unmatched or terminal failures.
Go-live sequence
- Develop with a test key and existing Perkstar enrolment.
- Verify test webhooks and duplicate delivery handling.
- Test a timeout followed by a retry.
- Test a full and partial Odoo refund policy with the business.
- Create a new narrowly scoped live key.
- Process one low-risk live order and confirm the wallet update.
- Enable the connector location by location.

