Skip to content

Order Lifecycle & Fulfilment

This guide covers the full life of an order (a “purchase”) in the admin system, from creation through to fulfilment, returns and cancellation, including the knock-on effects in Xero.

The typical lifecycle is:

  1. Create the order against a customer and add items
  2. Take payment (and apply any credit) so the order is marked Paid
  3. Fulfil the order — allocate stock, then ship / fit it to the customer
  4. Correct if needed — rollback an allocation, or edit the order
  5. Return items the customer sends back after delivery
  6. Cancel the order if it is not going ahead

Creating, editing, paying, returning and cancelling an order all have automatic effects in Xero (invoices, payments and credit notes). Those effects are described in each section.

Order Statuses

Screenshot: the order detail view — items, totals and the order action buttons.

An order itself has an overall status, separate from the status of the individual items:

StatusShown asMeaning
ManualManual OrderAdmin-created order. This is the default status for orders created in the admin system
PaidPaidThe order has been paid
UnpaidUnpaidThe order is awaiting payment
CancelledCancelledThe order has been cancelled

(Orders placed through the website can also briefly show as “Incomplete” or “Failed” during checkout.)

Item Status Flow

Items progress through the following statuses during fulfilment:

StatusMeaning
UnfulfilledItem is on the order but not yet allocated from stock
PickedItem has been allocated from a stock location and is ready to ship or fit
Shipped / Fitted / CollectedItem has been shipped, fitted, or collected by the customer (shown as “Shipped” or “Fitted / Collected” depending on the order)
ReturnedItem has been returned by the customer

Creating an Order

Every order is created against a customer account. Selecting a customer is mandatory — you cannot save an order without one. If the customer has a saved address, the order uses their primary address for billing and delivery by default.

How to Create an Order

  1. Add products to the order. For each line you set the variant, quantity and price
  2. Optionally apply discounts or vouchers
  3. Click Create Order. If you haven’t chosen a customer yet, the customer picker opens at this point
  4. In the customer picker, either:
    • Search for an existing customer by name, email, postcode or phone number and select them, or
    • Click Add New Customer to create one inline without leaving the order. The new-customer form requires first name, last name, email, phone, and a full address (line 1, city, county, postcode, country); company name and address line 2 are optional. Click Save New Customer to create them and attach them to the order
  5. Once a customer is selected, the order is saved

Screenshot: building a new order — add line items, then click Create Order.

Screenshot: the customer picker — search for an existing customer or click Add New Customer to create one inline.

New admin-created orders are saved with an overall status of Manual and their items start at Unfulfilled. No warehouse stock is deducted at this point — stock is only taken when items are allocated during fulfilment.

Customer Discounts

When you select a customer, any discount linked to that customer is applied to the order automatically — for example a No Limits Racing Members Discount or a trade discount. The applied discount appears in the order’s Order Details section as “[discount name] savings” along with the amount it takes off.

You can change this before saving the order:

  • Remove the discount — click the red next to the applied discount. You’ll be asked to confirm (“Are you sure you want to remove the [name] discount?”).
  • Apply a different code — once no discount is applied, a Discount Code dropdown appears listing the available codes. Pick one to apply it instead.

Only currently-valid discounts are applied or offered — codes that are outside their valid-from / valid-to dates or are not active are ignored.

Price Overrides

You can override the price of any line item. The product’s normal price is retained separately (as the item’s original price), so the difference is tracked as a saving. This original price is what the system uses later when calculating discounts and credit notes, which is why overriding a price is handled cleanly throughout the order’s life.

Xero Effect of Creating an Order

When an order is created, the system immediately creates a matching invoice in Xero and links it to the order. The invoice is created in Authorised status.

If Xero is unavailable at the time, the order is still created successfully and the failure is logged; the invoice can be created later (for example, automatically when the first payment is recorded).


Editing an Order

An existing order can be reopened in edit mode and saved again with the Create Order button. What happens depends on what you changed:

Address, Location or Status Only

If you change only the delivery/billing address, the stock location, the order status, or the discounts/vouchers — and the items and order totals are unchanged — the order is updated in place. The existing Xero invoice is left untouched.

Changing Items or Totals

If you add, remove or change items, or the order totals change, the order is effectively replaced: the system cancels the original order’s editable items and creates a new order record (with a new order number) containing the updated contents. The original order is marked Cancelled with a note pointing to the new order number, and the new order carries a note showing which order it came from.

What Happens to Already Allocated or Shipped Items

When an item-changing edit recreates the order, work you’ve already done is not lost:

  • Items that have already been allocated or shipped are copied onto the new order with their status, location and shipment / tracking details preserved. The fulfilment progress carries over.
  • Any shipments recorded on the original order are copied to the new order too, and the copied items stay linked to them.
  • Returned items are also carried onto the new order. This is intentional — it keeps the full history visible on the current order. Because a returned line has a zeroed price, it does not affect the new order’s totals.
  • Only the unfulfilled items (and the order totals) are actually re-built from your edits.

In practice this means it is safe to edit an order that is part-fulfilled — the picked and shipped lines move across intact — but be aware the order number changes, so quote the new number afterwards.

Xero Effect of Editing an Order

Because an item/total change creates a replacement order, the system also creates a new Xero invoice for it and resolves the old invoice automatically based on its state:

  • Unpaid invoice (Authorised, no payments or credit notes) — the old invoice is voided.
  • Paid invoice — a credit note is raised for the removed/changed items instead of voiding (a paid invoice cannot be voided).
  • Existing payments and credit notes are moved / re-allocated from the old invoice onto the new invoice so the customer’s balance stays correct.

As with creation, if Xero is unavailable the edit still completes and the discrepancy is logged for later correction.

Tip: Because changing items recreates the order and its invoice, prefer editing before taking payment where possible. After payment, edits generate credit notes and invoice moves in Xero.


Taking Payment & Refunds

Adding a Payment

While an order has an outstanding balance, an Add Payment - £X.XX outstanding button is shown on the order. Clicking it opens a dialog headed “Please complete the following to add a payment/refund transaction:” with these fields:

FieldDescription
Transaction TypeManual Card Payment, Bank Transfer, Cash, Voucher, Credit Note, eBay or Goodwill
Transaction ReferenceOptional reference or note (up to 100 characters)
AmountDefaults to the outstanding balance, in £
Order StatusOptional — set the order to Paid, Unpaid or Manual Order

Screenshot: the Add Payment / refund transaction dialog.

Click Add Transaction to record it. Each payment is stored as a transaction against the order. To mark the order as paid, set the Order Status field to Paid — this is what makes the order eligible for fulfilment.

If the customer has credit available (for example from a previous credit note), an Apply to order button lets you apply that credit instead of taking a new payment.

Xero Effect of a Payment

A payment is pushed to the order’s Xero invoice only for the tender types that have a Xero bank account configured — currently Manual Card, Cash and eBay (plus SumUp/Zettle for till payments). For these:

  • If the invoice doesn’t yet exist in Xero, it is created first.
  • The payment is recorded against the invoice using that tender’s bank account.
  • A payment that clears the balance moves the Xero invoice to Paid; a partial payment leaves it Authorised.

Bank Transfer, Voucher, Credit Note and Goodwill payments are recorded against the order in the admin system but are not automatically posted to the Xero invoice. Take care with these:

  • Bank Transfer — avoid using this. Bank transfers normally come into the system as a feed from Xero. Recording one here as well will usually create a duplicate payment. Leave bank transfers to be reconciled in Xero.
  • Voucher and Goodwill — check with the bookkeepers first. These do not post to Xero automatically, and what should happen on the Xero side depends on your accounting setup. Confirm the correct treatment with your bookkeepers before relying on them.
  • Credit Note — not normally needed here. You don’t usually need to add a Credit Note payment manually. If a customer already has credit available (for example from a previous credit note), use the Apply to order credit button on the order to apply that existing credit instead of recording a Credit Note payment by hand.

If pushing a payment to Xero fails, the order payment is still recorded and the failure is logged so it can be re-pushed later.

Refunds

There are two refund situations:

  1. Raising a credit note — In the Add Payment dialog, choose transaction type Credit Note and enter a negative amount. This creates an Authorised credit note in Xero (numbered [InvoiceNumber]-CN) and allocates it against the invoice. This is only allowed when the Xero invoice is Paid — otherwise it is rejected with “Credit notes can only be raised against paid invoices”. (Returns can also create this credit note automatically — see Returns.)
  2. Paying a credit note back to the customer — When the order has an outstanding credit note, a Refund Credit Note - £X.XX button appears. This records the actual money refund against the credit note in Xero and logs a negative transaction on the order.

In other words, a credit note records what the customer is owed; the Refund Credit Note step is what actually pays them back. For more detail see Raising a Credit Note.

Screenshot: the Refund Credit Note dialog — pay an outstanding credit note back to the customer.


Fulfilment

Entering the Fulfilment View

Fulfilment controls are not shown on the default order view. To access them:

  1. Open the order in the admin system
  2. Click the fulfilment button, which will read:
    • Start fulfilling - if no items have been allocated yet
    • Continue fulfilment - if some items are already allocated or shipped
    • Show Shipments / Process Return - if all items have been shipped

This button is only available once the order has been paid (it also appears for Manual orders, which are treated as ready to fulfil).

Screenshot: the fulfilment button (reads “Start fulfilling”, “Continue fulfilment” or “Show Shipments / Process Return” depending on progress).


Step 1: Allocate Items

Allocating items reserves stock from a warehouse or event location against the order. This moves items from “Unfulfilled” to “Ready to ship / Fit”.

How to Allocate

  1. Enter the Fulfilment view
  2. In the Unallocated Items section, adjust the quantity stepper on each item to set how many units to allocate. By default, this is set to the full order quantity.
  3. Select a location from the location dropdown
  4. Click the Allocate button
  5. Confirm the allocation in the dialog that appears

Screenshot: the Unallocated Items section — set quantities, choose a location, then Allocate.

Choosing a Location

The location dropdown determines which warehouse or event location the stock will be allocated from. It is grouped into sections:

  • Stock Locations - All warehouse locations. If there is only one warehouse, it is automatically selected.
  • Events - Delivery/event locations, shown with their date. By default this lists all future events plus any whose event date was within the last 5 days (a short grace window for events that have just passed).
  • Show Past Events - A toggle at the bottom of the dropdown that reveals older events (more than 5 days in the past). Useful when you need to allocate from a location for an older event.

When the order is for a delivery to an event location that has stock management enabled, the system will automatically pre-select that event location.

Adjusting Quantities

Each item has a quantity stepper that controls how many units to allocate:

  • Reduce the quantity to perform a partial allocation. Only the specified number of units will be allocated, and a new line item is created for the remainder, which stays in the “Unallocated Items” section for later allocation from the same or a different location.
  • Set the quantity to zero to skip an item entirely. Items with a quantity of zero are not included in the allocation.

This allows you to allocate different items from different locations, or split a single item across multiple locations by allocating in stages.

Stock Availability

Before allocating, the system checks whether there is enough stock at the selected location for each item. If stock is insufficient, a warning dialog will appear showing how much stock is available. You can choose to Continue with the allocation anyway or Cancel.

Overriding the warning will result in a negative stock level at that location, which should be corrected by restocking or transferring stock.

What Happens When You Allocate

When the allocation is confirmed, the system will:

  1. Update item status from Unfulfilled to Picked for each included item
  2. Assign the location to each item, recording where the stock was allocated from
  3. Handle partial quantities - if an item is partially allocated, a new line item is created for the unallocated remainder
  4. Decrement stock at the selected location by the allocated quantity
  5. Update holding stock for locations with stock management enabled
  6. Record stock history entries for each stock movement
  7. Log the action in the order’s audit trail

All changes are made within a single transaction. If any part fails, the entire operation is rolled back and no changes are applied.


Step 2: Ship / Fit Items

Once items have been allocated, they appear in the “Ready to ship / Fit” section. From here you can record the shipment or fitting and optionally notify the customer.

How to Ship / Fit

  1. In the Ready to ship / Fit section, adjust the quantity stepper on each item if you need to perform a partial shipment
  2. Click the Ship / Fit button and confirm
  3. The shipment overlay will open with two pages:

Page 1 - Delivery Details

Displays the customer’s delivery address details for generating shipping labels.

Page 2 - Shipment Details

FieldRequiredDescription
CarrierYesSelect the shipping carrier from the dropdown. This also includes Collected (customer picked up in person) and Fitted (item was fitted on site), which can be used when no physical shipment is required
Tracking NumberYesEnter the consignment or tracking reference. For Collected or Fitted items, use this field for any internal reference
Expected DeliveryYesSelect the expected delivery date (defaults to the next working day)
CostNoEnter the shipping cost if applicable
Send Customer EmailNoToggle on to send the customer a shipment confirmation email (enabled by default)
  1. Click Mark as Complete to submit the shipment

Screenshot: the shipment overlay (Shipment Details page) for recording a shipment or fitting.

Adjusting Quantities

Each item in the “Ready to ship / Fit” section has a quantity stepper. Reduce it to perform a partial shipment, or set it to zero to exclude an item.

  • Only items with a quantity greater than zero are included in the shipment
  • Partially shipped items are split: the shipped portion moves to Shipped / Fitted / Collected, and a new line item is created for the remainder

Partial Shipments

You can ship an order in multiple batches:

  1. Adjust the quantity steppers to include only the items you want to ship now
  2. Complete the shipment as normal
  3. The unshipped items remain in “Ready to ship / Fit” with their quantities reduced to the remainder
  4. When ready, create another shipment for the remaining items
  5. Each shipment has its own tracking number, carrier, and delivery date
  6. The customer receives a separate email for each shipment showing only the items included

Customer Notification

When the Send Customer Email toggle is enabled, the customer receives an email containing:

  • Order number and shipment status
  • Carrier name and expected delivery date
  • A tracking link (using the carrier’s tracking URL with the consignment number and customer postcode)
  • An itemised list showing which items were included in the shipment

Stock and Shipping

Stock levels are adjusted during the allocation step, not during shipping. When you ship items, no further stock changes occur - the stock was already reserved when the items were allocated.


Rollback

A rollback reverses the allocation of items, moving them from “Ready to ship / Fit” back to “Unfulfilled” and returning the reserved stock to a warehouse or event location. This is useful when allocation was made in error, when stock needs to be redistributed, or when fulfilment plans change.

How to Rollback

  1. In the Ready to ship / Fit section, click the Rollback button
  2. The Rollback Purchase dialog will appear showing:
    • A Return Stock To dropdown to choose where the stock should go
    • A list of the allocated items, each with its own quantity stepper (pre-set to the full allocated quantity)
  3. Optionally select a location from the dropdown
  4. Adjust each item’s stepper if you only want to roll back part of the allocation, or leave them at full quantity to roll everything back
  5. Click Rollback Now to confirm, or Cancel to abort

Screenshot: the Rollback Purchase dialog — choose a return location and set per-item rollback quantities.

Note: The rollback dialog has its own quantity steppers, separate from the steppers in the “Ready to ship / Fit” section. By default every allocated item is rolled back in full, but you can reduce any item’s quantity for a partial rollback. When an item is partially rolled back, the remaining quantity stays allocated and a new unfulfilled line item is created for the rolled-back portion.

Choosing a Return Location

The Return Stock To dropdown allows you to choose which location receives the returned stock:

  • Stock Locations - All warehouse locations
  • Events - Delivery/event locations (all future events plus any within the last 5 days)

If you do not select a location, stock is returned to the original location each item was allocated from. This is the default behaviour.

If you select a specific location, all rolled-back items will have their stock returned to that single location, regardless of where they were originally allocated from.

What Happens When You Rollback

When the rollback is confirmed, the system will:

  1. Change item status from Picked back to Unfulfilled for the rolled-back quantity. For a full rollback the item itself is reset to Unfulfilled; for a partial rollback the original item stays allocated at the reduced quantity and a new Unfulfilled line item is created for the rolled-back portion
  2. Clear the location assignment on the rolled-back item
  3. Restore physical stock at the selected return location (or the original allocation location if none was selected)
  4. Update holding stock for locations that use stock management
  5. Record stock history entries for each stock movement
  6. Log the action in the order’s audit trail

All changes are made within a single transaction. If any part fails, the entire operation is rolled back and no changes are applied.

What Rollback Does NOT Do

ActionAffected?
Shipped items (status: Shipped / Fitted / Collected)Not affected - only allocated items are rolled back
Returned items (status: Returned)Not affected
Payments or transactionsNot affected - no financial changes are made
Xero invoices or credit notesNot affected
Order statusNot changed - only individual item statuses are updated
Customer notificationsNone sent

After a Rollback

Once the rollback completes:

  • The items reappear in the Unfulfilled section of the order
  • The items can be re-allocated to the same or a different location
  • Stock levels at the return location reflect the returned quantities
  • The audit trail shows the rollback event with full details

Returns

A return is used when a customer sends back items that have already been shipped. Unlike a rollback (which reverses an allocation before shipping), a return processes items that the customer has received and is returning after the fact.

Only items with a status of Shipped / Fitted / Collected can be returned.

Entering Return Mode

  1. Open the order in the admin system
  2. Click Show Shipments / Process Return (this button appears when all items have been shipped)
  3. In the shipped items section, click the Return Items button

This opens the Return Items panel, which lists all shipped items with quantity steppers and a location dropdown.

Screenshot: the Return Items panel — set return quantities and choose where stock goes back.

How to Process a Return

  1. In the Return Items section, use the quantity stepper on each item to set how many units to return. By default, quantities start at zero - you must explicitly set each item’s return quantity.
  2. Optionally select a location from the Select Location to Return Stock To dropdown. This determines which warehouse or event location the returned stock will be added back to.
  3. Click Process Return
  4. Confirm through the dialog prompts:
    • If no location is selected, a warning will ask: “Don’t return items to Stock?” - confirming means the items are marked as returned but stock levels are not adjusted anywhere
    • If a location is selected, a confirmation titled “Return items to stock?” asks whether to return the selected items to the chosen location, with a note that this will make the items available for sale again
    • A final confirmation asks: “Please confirm the return of selected items”

Choosing a Return Location

The location dropdown is grouped into:

  • Stock Locations - All warehouse locations
  • Events - Delivery/event locations

If you do not select a location, the return is processed without any stock adjustment. The items are marked as returned but no stock is added back to any location. This is appropriate when the returned items are damaged or unsellable.

If you select a location, the returned quantities are added back to stock at that location, making them available for sale again.

Partial Returns

You can return a subset of items or a partial quantity of any item:

  • Use the quantity stepper to set how many units of each item to return (from 0 up to the shipped quantity)
  • Items with a return quantity of zero are skipped
  • When partially returning an item, the shipped line item is split: the returned portion is marked as Returned, and a new line item is created for the remainder which stays at Shipped status

What Happens When You Process a Return

When the return is confirmed, the system will:

  1. Update item status from Shipped to Returned for each returned item
  2. Set returned quantities as negative values on the original line items and zero out their prices
  3. Create new line items for any partial returns, preserving the remaining shipped quantity at the original price
  4. Restore stock at the selected location (if one was chosen) by the returned quantity
  5. Record stock history entries for each stock movement
  6. Recalculate order totals - the order cost and tax are recalculated based on remaining active items only. Shipping is preserved unchanged. The discount is recalculated: per-item code savings on the remaining items, plus the original manual discount scaled proportionally to the reduced order value.
  7. Log the action in the order’s audit trail (e.g. “2 x Widget returned to Warehouse A by Admin Name”)

All database changes are made within a single transaction. If any part fails, the entire operation is rolled back.

Xero Credit Note

The Create Xero Credit Note toggle controls whether a credit note is created in Xero when the return is processed. It is enabled by default.

When enabled, after the return is processed the system will:

  1. Look up the Xero invoice linked to the order
  2. Create a credit note only if the invoice is Paid, or Authorised with at least one payment
  3. Use the original item prices (before they were zeroed out by the return) and create the credit note as Authorised in Xero
  4. Number the credit note using the format [InvoiceNumber]-CN
  5. Add a record to the order’s audit trail (e.g. “Xero credit note created: INV-001-CN for £50.00”)

Turn the toggle off when you do not want a credit note created — for example, when processing an exchange, a warranty replacement, or when you plan to handle the accounting manually in Xero.

If the toggle is on but the Xero invoice cannot be found, or if it is in Draft or Submitted status, no credit note is created. The return itself still completes successfully regardless of whether the Xero credit note succeeds.

For more details on credit notes and refunds, see Raising a Credit Note.

What Returns Do NOT Do

ActionAffected?
Unfulfilled or allocated itemsNot affected - only shipped items can be returned
Payments or transactionsNot changed - no refund is automatically issued
Shipping amountPreserved unchanged in the order total recalculation
Discount amountRecalculated proportionally for the remaining active items
Customer notificationsNone sent

After a Return

Once the return completes:

  • The returned items appear with a Returned status on the order
  • The order totals reflect only the remaining active items
  • If a return location was selected, stock levels at that location are increased
  • If Xero integration is active, an authorised credit note already exists against the original invoice (created automatically by the return)
  • To actually pay the customer back, use the Refund Credit Note button on the order, which records the money refund against that credit note in Xero (see Taking Payment & Refunds and Raising a Credit Note)

Cancelling an Order

Cancelling marks an order as no longer going ahead. It is different from a rollback or a return: a rollback reverses an allocation, a return handles shipped goods, and cancelling closes the whole order.

When You Can Cancel

An order can only be cancelled when:

  • Its overall status is Paid or Manual, and
  • None of its items are still allocated or shipped — every item must be either Unfulfilled or Returned

So if items are already allocated, roll them back first; if items have been shipped, process a return first. Then the order can be cancelled.

How to Cancel

  1. Open the order and click the red Cancel Order button
  2. Confirm the dialog:
    • Title: “Cancel order?”
    • Message: “Are you sure you want to cancel this order? This cannot be undone. Don’t forget to refund the customer once this is complete if necessary.”
  3. Click Cancel Order to confirm (or Cancel to back out)

Screenshot: the cancellation confirmation dialog.

What Happens When You Cancel

  • The order and its remaining (unfulfilled) items are set to Cancelled
  • The stock reservation that was made when the order was created is reversed, and a stock history entry is recorded
  • A log entry and a note (“Order cancelled by [name] on [date]…”) are added to the order’s audit trail
  • No customer email is sent — refund the customer separately if needed
  • Cancellation cannot be undone; there is no “uncancel”. If the order needs to go ahead after all, create a new one

Xero Effect of Cancelling

The linked Xero invoice is handled automatically based on its state:

  • Unpaid invoice (Authorised, with no payments or credit notes) — the invoice is voided.
  • Paid invoice, or one with payments / credit notes — any credit notes are unallocated, and if real money had been taken a credit note is raised for the refund owed. The invoice itself is left in place (a paid invoice cannot be voided), to anchor that refund obligation.

Cancelling does not automatically pay the customer back. Use the Refund Credit Note button to pay out any credit note created. If Xero is unavailable, the cancellation still completes and the discrepancy is logged.