Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.laportenard.com/llms.txt

Use this file to discover all available pages before exploring further.

Order modes

Orders operate in one of three modes:
ModePurpose
orderRegular sale
returnRefund / credit note
paymentInvoice collection

Order states

  ┌──────┐    ┌─────────┐    ┌──────────┐    ┌──────┐    ┌───────────┐
  │ idle │───►│ editing │───►│ checkout │───►│ paid │───►│ finalized │
  └──────┘    └─────────┘    └──────────┘    └──────┘    └───────────┘
1

Idle

Order created but no items added.
2

Editing

Items being added or modified by the user.
3

Checkout

Order is locked for payment processing.
4

Paid

Payment received, waiting for finalization.
5

Finalized

Order synced to Odoo, invoice created, NCF reserved.

Kitchen status

Kitchen status tracks the order’s progression through the kitchen:
  ┌──────┐    ┌──────┐    ┌─────────┐    ┌──────┐
  │ open │───►│ sent │───►│ changed │───►│ paid │
  └──────┘    └──────┘    └─────────┘    └──────┘
StatusMeaning
openOrder has items not yet sent to kitchen
sentAll items sent to kitchen
changedPost-send edits were made (items added/modified)
paidOrder has been paid
Editing an order after it has been sent to the kitchen flips the status from sent to changed, signaling the kitchen that there are updates.

Idempotent creation

Order creation is idempotent — sending the same pos_reference returns the existing order rather than creating a duplicate. This is critical for reliability during network issues and sync retries.

Void flow

Voiding follows different paths depending on whether items have been sent to the kitchen:
  • Pre-send items — Removed directly, no void record needed
  • Post-send items — Full void flow: reason selection → optional manager override → void record created with audit trail