Why Luminous skips auto-invoice creation on a shipment
When a channel is configured to create invoices automatically (using Shipment Created, End-of-Day Batch, or First Shipment – Full Amount timing), Luminous runs a set of checks before creating the invoice. If any check fails, creation is skipped and the reason is logged — no invoice is created, and no error is raised.
Reasons creation is skipped
1. The order already has a full (non-shipment) invoice
A "full" invoice is one that was created manually or from an "Order Received" timing event — it is not tied to a specific shipment. If such an invoice already exists on the sales order, auto-creating a per-shipment invoice would produce a duplicate. Luminous detects this and skips.
Common cause: You created an invoice manually for the order before the first shipment arrived, or the channel timing was previously set to "Order Received".
2. All order items are already fully invoiced
Luminous tracks how many units of each line item have been invoiced (quantity_invoiced). If every line item's invoiced quantity already meets or exceeds its ordered quantity, there is nothing left to invoice and creation is skipped.
Common cause: An external system (e.g. a WMS or third-party fulfillment integration) pushed a second shipment event for an order that Luminous already fully invoiced on the first shipment.
3. First-shipment mode: any invoice already exists
When the timing is First Shipment – Full Amount, only the very first shipment triggers a full-order invoice. Subsequent shipment events on the same order always skip — the full invoice has already been issued.
4. Concurrent shipment events for the same order
If multiple shipments for the same order arrive at nearly the same time, Luminous uses a locking mechanism to serialize them. The first one to acquire the lock creates the invoice; subsequent ones that arrive while the lock is held are released back to the queue and re-checked. By the time they run, the invoice already exists and creation is skipped per reason 1 or 2 above.
How to confirm a skip happened
Check your system logs for the sales order ID. You will see an info-level message such as:
Invoice already exists – skipping full-amount creationSales order already has a non-shipment invoice – skipping partial invoice creationAll order items already fully invoiced – skipping shipment invoice to prevent duplicate
These are expected and intentional — they confirm that Luminous protected you from a duplicate invoice.
What to do if no invoice exists and creation was still skipped
If you expected an invoice and none was created (and you cannot find a skip log), create the invoice manually:
- Open the sales order in Operations → Sales Orders.
- Click Actions → Create Invoice from Sales Order.
- Review the line items and amounts, then save.
This generates the invoice directly without going through the auto-create path.