Orders
An Order is the source of truth for a transaction in Floatless.
Why Orders First?
Unlike simple invoicing tools where you type directly onto the bill, Floatless requires an Order first. This ensures data integrity:
- Inventory/Provisioning: An Order triggers internal workflows (like "Ship the T-Shirt" or "Provision the API Key").
- Audit Trail: The Order is the legal agreement; the Invoice is just the request for payment.
- Revenue Recognition: Bookings are recognized when the Order is placed, not just when the bill is sent.
The Order Lifecycle
An order moves through strict stages to ensure accurate accounting.
| Stage | Description | Editable? |
|---|---|---|
| Draft | Being built by sales. Not visible to customer. | ✅ Yes |
| Confirmed | Customer has agreed. Provisioning starts. | ❌ No |
| Invoiced | Converted into a formal bill. | ❌ No |
| Paid | Money has been received. Transaction closed. | ❌ No |
| Cancelled | Voided before payment. | ❌ No |
**Immutability**: Once an order is **Confirmed** or **Invoiced**, it cannot be edited. If you made a mistake, you must Void the order and create a new one. This preserves the audit trail.