Submit an online/retail consumer sale → get Fawtara QR + invoice reference
POST/api/v1/pos/sale
Submit a paid consumer order from an online store or retail POS — the endpoint the WooCommerce plugin calls on payment complete.
GoRoute will build the Fawtara QR (ten-tag TLV per Architecture v1.0.3 Appendix D.2) and a scannable PNG, map the cart to the canonical PINT OM model, validate it, compute the deterministic invoice UUID (which also makes retries idempotent — a double-clicked checkout returns the original invoice), and schedule the Tax Data Document within 24h. A consumer sale is never transmitted over Peppol (SolArch §5.5).
The QR and invoice reference return synchronously, so the store renders them on the order-confirmation page while the customer is still looking at it.
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.