Refund a retail sale → credit note referencing the original, with its own QR
POST/api/v1/pos/refund
Raise a credit note for a refunded online order. Requires the original invoice's number and UUID — both returned by /pos/sale — so the reference is intact by construction. Amounts are positive; partial refunds send only the lines being refunded.
Only an organisation whose country is OM may call this endpoint. Any other organisation, or one with no country set, is refused with 422 POS_COUNTRY_NOT_SUPPORTED: nothing is recorded and no QR is returned.
Request
Responses
- 201
- 409
- 422
- 503
Successful Response
The invoice UUID this sale computes to (seller, invoice number, date and totals) is already held by a different document of this organisation: a sale issued by another counter, or as the other of B2B/B2C. The sale was NOT recorded and there is no QR in the body, so do not print a receipt. Resubmitting the same sale will not succeed; issue it under a new invoice number.
Validation Error
The sale could not be confirmed as recorded (a transient platform fault). There is no QR in the body — do not print a receipt. Resubmit the same sale, with the same invoice number, after Retry-After seconds; never re-key it under a new number. The deterministic invoice UUID makes the resubmission idempotent: the sale is recorded and reported once (if the save did land but its acknowledgement was lost, the resubmission returns the original with 200).
Response Headers
Seconds to wait before resubmitting.