Finalize a settled sale (encaissement)
Commits an encaissement: turns a settled cart plus its tenders into one idempotent sale event (vente), booked against the register session, and produces the ticket de caisse / reçu (201). This is the ONLY way to commit a sale. The submitted cart prices are ADVISORY — the server re-prices every catalog line from its own reference authority (plus any declaredDiscounts, automatic promotions and a presented couponCode) and refuses a cart it prices differently. Idempotent by transactionId: replaying the same id with the same content is a no-op. Reach for it to ring up a customer at the till. Gotchas: mark a self-priced line (Article libre / gift card) with custom: true so it is trusted instead of re-priced; a registerId keys the NF525 fiscal chain per till. Side-effects: this operation is IRREVERSIBLE and money-in — a single call decrements on-hand stock for every sold unit, accrues loyalty points for an identified customer, and appends an inalterable entry to the per-register NF525 fiscal signature chain (the ticket de caisse is fiscally sealed and cannot be un-issued). There is no un-finalize: a mistake is corrected by processing a return / avoir, never by deleting the sale. This is why the operation is tier avoid — an agent must not trigger it unprompted. Failure conditions: 400 on a malformed body; 403 for a declared discount the principal may not grant (needs price:override, or a single-use x-elevation-token); 409 when the same transactionId was already finalized with DIFFERENT content; 422 on an empty cart, a price/settlement mismatch (beyond the deployment’s cash-rounding tolerance) or a SKU the price authority does not carry.
Authorizations
Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.
Body
1111111sale, rental, repair, return - Option 1
- Option 2
- Option 3
1Response
The committed sale event: its transaction, ticket, loyalty, and stock movements.

