Resumen
Una Order es una transacción comercial — una venta, una compra, una transferencia, una invoice y más. Toda order se crea desde un Order Template que define su tipo y reglas. A medida que una order avanza por sus status, actualiza el inventory automáticamente; las invoices reciben payments; y las orders se enlazan entre sí mediante flujos padre-hijo. Para los tipos de order y sus efectos en inventario, consulta el overview de Commerce.Dónde encontrarlo
Las orders están en Commerce → Orders.Status
Una order pasa por cinco status:draft → new → processing → completed, más void.
- Puedes moverte entre los primeros cuatro en cualquier dirección; cada transición aplica el efecto en inventario del tipo de order.
voides terminal — una order anulada no tiene más transiciones, y eliminar una order la anula.- Volver atrás desde
completedestá protegido: no puedes mover hacia atrás una order completada mientras tenga pagos aprobados o child orders completadas — resuelve eso primero (reembolsa/anula la invoice, anula el hijo completado).
Properties
| Property | Tipo | Requerido | Descripción |
|---|---|---|---|
title | string | Auto | Generado desde la naming convention del template. |
slug | string | Auto | Identificador único, generado junto al título. |
type | enum | Auto | El tipo de order, heredado del template. |
status | enum | No | draft, new, processing, completed o void. |
template_id | reference | Sí | El order template del que se construye esta order. |
contact_id | reference | No | El cliente o contacto de la order. |
location_id | reference | No | La location principal (bodega o tienda). |
destination_location_id | reference | No | La location destino, para transferencias. |
parent_id | reference | Condicional | La order padre — requerida para invoices, shipping y returns. |
items | array | No | Los line items. |
charges | array | No | Los charges a nivel de order. |
summary | object | Auto | Los totales calculados. |
is_paid | boolean | Auto | Si la order ya se pagó por completo. |
Line items
El contenido de una order son sus line items — uno por producto o servicio. Cada renglón lleva el item, la cantidad, el precio unitario, el descuento y el impuesto, y se suma en un subtotal y un total. Las columnas y las fórmulas vienen del content template del producto, así que el mismo producto puede mostrar columnas distintas en una venta vs. una compra. Los line items se agrupan en la vista de la order por su product template. Un item que necesita tracking por unidad (números de serie, asignación a un contacto, o atributos por unidad) obtiene un registro por cada unidad de su cantidad.Charges
Los charges son ajustes a nivel de order sobre los line items:| Concepto | Efecto |
|---|---|
discount, promotion | Resta |
tax, shipping, surcharges, additional_cost | Suma |
other, price_adjustment | Suma o resta (tú eliges) |
draft o new.
Summary
Cada order mantiene un summary calculado — totales de items, las sumas de impuestos y descuentos, el total de cada charge, el total de la order, y el monto pagado. Se actualiza automáticamente al cambiar line items y charges.Orders padre-hijo
Las orders se enlazan en cadenas padre-hijo para que una transacción avance por etapas. Una child order lleva line items seleccionados de su padre (cada uno recuerda el renglón del que proviene). Las reglas del order template deciden qué tipos de hijo se permiten y desde qué status del padre. Por ejemplo:- Una pre-order (carrito o cotización) se vuelve una sale; la sale produce una invoice para el pago y una transfer para el fulfillment.
- Una opportunity evoluciona a quote, luego sale, luego invoice.
- Una sale o purchase completada puede generar un return, cuya invoice hija emite el reembolso.
Un mismo line item del padre solo puede aparecer en un hijo de cada tipo —
p. ej. una transfer y una invoice, pero no dos transfers.
Seeds
Las orders viajan entre entornos como Seeds estructurales. Las referencias usan reference helpers; el título, el slug, los totales y el summary de la order se calculan al importar:Gobernanza y permisos
Un super admin o un Master puede gestionar cualquier order; un Journey Manager puede gestionar las orders que posee (ver Ownership).Acceso por API
Las orders tienen CRUD completo más operaciones dedicadas para agregar, actualizar, quitar y reordenar line items, cambiar status, crear una child order, y agregar o quitar charges. Consulta la API reference.Relacionado
Order Templates
El blueprint que define el tipo y las reglas de una order.
Inventory
Cómo el status de una order mueve el stock.
Payments
Cobrar en las invoice orders.
Price Lists
De dónde vienen los precios de los line items.