Caisse POS (V2)

Convertit un ticket NF525 en facture B2B (potentiellement cross-org + cross-currency).

Convertit un ticket NF525 en facture B2B (potentiellement cross-org + cross-currency).

Body :
    {
      "target_org_id": "uuid",            # obligatoire
      "target_currency": "EUR",            # optionnel, défaut = devise org cible
      "target_client_id": "uuid"           # optionnel, défaut = dernier client org cible
    }

Use case Sprint+6 #7 Item 2 : Marc à la caisse CHF (Vallorne Luxury
Genève) émet un ticket NF525 en CHF. Cet endpoint convertit ce ticket
en invoice pour Vallorne Industries Paris (devise EUR) avec conversion
automatique BCE au jour `ticket.issued_at` et audit cross-org.

Sécurité :
- Permission `caisse:operate` sur l'org source (org du ticket)
  [audit RBAC-1 2026-06-22 : caisse:write était morte (absente du catalog)
  → routes admin-only ; remplacée par caisse:operate (seedée/assignée)]
- Membership active du caller vérifiée sur `target_org_id` côté service
  (sinon ValidationError "vous n'êtes pas membre actif")
- Audit log `cross_org_conversion` automatique

Returns:
    201 + invoice payload (avec source_ticket_id pointant vers le ticket).

Permissions requises : caisse:operate

post/api/v1/caisse/tickets/{ticket_id}/convert-to-invoice

Request

  • Base URL: https://erp.eyeot.fr/api/v1
  • URL: https://erp.eyeot.fr/api/v1/api/v1/caisse/tickets/{ticket_id}/convert-to-invoice
  • Auth: one of:
    • HTTP bearer
    • HTTP bearer

Response

Succès — payload {data, meta} (cf. API-GUIDE §3.1)

Changes

No recorded changes to this operation across all 1 revision of this API.