Caribbean Tan

Order Status Portal

Run Log

No runs to display.

Stock Overview

Full Page

Loading stock data...

How Orders Work

How it starts

When a customer (Clicks, Dis-Chem, Takealot, or Walmart) sends a purchase order by email, it is automatically picked up and processed. The system reads the PO, checks available stock (accounting for stock already committed to other orders), and decides what to do next.


Order fulfilled — Invoice Created

We have enough stock for every item on the PO. A draft invoice is automatically created in Xero and the order shows as INVOICE_CREATED.

What you can do:

  • View Email — preview the confirmation email
  • Update Invoice — reduce any line item quantities and push the change to Xero (you can only reduce, never increase)
  • Reprocess — re-run the order from scratch if something needs correcting

Not enough stock — Stock Shortage

One or more items don't have enough stock in Xero. No invoice is created automatically. The order shows as STOCK_SHORTAGE.

What you can do:

  • View Alert — see which items are short and by how much
  • Edit quantities — adjust the ordered amounts down on the dashboard before invoicing
  • Create Invoice — manually create a draft Xero invoice with the adjusted quantities. The system will check current stock before creating — if stock has changed since the order arrived, you'll see a warning with the option to proceed or cancel
  • Refresh Stock — re-check stock levels against the stock ledger (e.g. if stock was just added or another order was processed). This only refreshes the numbers, it does not create an invoice
  • Reprocess — re-run the full pipeline from the original PO

Clicks — Case Adjusted

Clicks orders must ship in full cases (e.g. 36 units per case). If we have some stock but not enough to fill every case ordered, the order shows as CASE_ADJUSTED.

For example: Clicks orders 2 cases (72 units) but we only have 48 units — that's enough for 1 full case (36 units). The remaining 12 loose units can't be shipped. The dashboard shows the adjusted case quantity for your review.

Adjusting the cases:

You can change how many cases each Clicks order gets, in whole cases only (never loose units). Expand the order and type a new number in the Cases box — the Units column next to it always shows the exact quantity (cases × units-per-case) so the real amount is clear.

This is mainly for splitting limited stock across two Clicks orders. Example: two Clicks POs each want 10 cases but there are only 10 in stock. Left alone, the first order takes all 10 and the second gets none. Reduce the first order to 5 cases — those 5 free up immediately — then give the second order 5. The box won't let you go above what's actually available, or past whole cases, so you can't over-promise.

What you can do:

  • Adjust the cases — set each order's case count; any cases you free up become available to other waiting Clicks orders straight away
  • Create Invoice — approve and create the draft Xero invoice with the case quantities. The system checks stock first and warns you if levels have changed
  • Refresh Stock — re-check if more stock has arrived (checks the stock ledger, not just Xero)
  • Reprocess — re-run from scratch

Unknown product — Needs Mapping

A product on the PO could not be matched to a Caribbean Tan product code in Xero. The item shows as NEEDS_MAPPING and the invoice is not created.

What to do:

  • Add the missing product mapping (barcode to CT code) in the system
  • Then click Reprocess to re-run the order

Something went wrong — Error

The order hit a problem during processing (e.g. the email couldn't be read properly, or Xero was unreachable). The order shows as ERROR.

What you can do:

  • View Alert — see the error details
  • Reprocess — retry after the issue is resolved

Approved — Finalised

The invoice has been approved in Xero and the order is locked. You can finalise an invoice from the three-dot menu on any INVOICE_CREATED order. Before finalising, the system checks that sufficient stock is still available — if stock has been consumed by other orders since the invoice was created, you'll be warned and the finalise will be blocked.

Once finalised, no further changes can be made — you cannot reprocess, refresh stock, or update the invoice. The order shows as FINALISED.

What you can still do:

  • View Email — see the original notification
  • View Invoice — open the Xero invoice (always shows the latest version)

Voided — Invoice Cancelled

The invoice was voided in Xero (either directly or via a full credit note). The system detects this automatically and marks the order as VOIDED. Stock committed to this order is released back to the ledger.

What you can do:

  • Resubmit Order — re-run the original PO through the system as a brand new order. This is useful when an invoice was voided and you need to recreate it. The system will check current stock levels and create a new invoice if stock is available.
  • View Email — see the original notification

Just arrived — In Progress

The PO was received and is being processed. It will move to one of the statuses above once the stock check is complete. If it stays in this state, something may need attention.


Button key

View Email / Alert — preview the email notification for this order
View Invoice — open the Xero invoice as a PDF (available once an invoice is created)
Create Invoice — create a draft invoice in Xero for this order
Update Invoice — push adjusted quantities to the existing Xero invoice (appears after you edit a quantity)
Refresh Stock — re-check stock levels in Xero (does not create an invoice)
More — additional actions:
  • Finalise Invoice — approve the draft in Xero and lock the order. Checks stock first.
  • Reprocess — re-run the order from the original PO (only if the invoice is still a draft)
  • Resubmit Order — available on voided orders only. Creates a new order from the original PO
  • Delete Order — removes the order and deletes the draft invoice from Xero

Greyed-out buttons are not available for that order's current status.


Stock Overview

The Stock panel (accessible from the header) shows real-time stock availability for every Caribbean Tan product. It accounts for stock that is already committed to orders, even if those orders haven't been finalised yet.

What each column means:

  • Xero QOH — Quantity On Hand as reported by Xero. This only decreases when an invoice is approved (finalised), not when it's a draft.
  • Draft — units committed to draft invoices (orders with status Invoice Created). These are spoken for but haven't been approved in Xero yet.
  • Review — units committed to orders still being reviewed (Stock Shortage or Case Adjusted). These will likely become invoices once resolved.
  • Available — the true available stock: Xero QOH minus Draft minus Review. This is what you should look at when deciding if you can fulfil a new order.

Colour coding:

  • Red — overcommitted (available is zero or negative). More stock is committed to orders than Xero has on hand.
  • Amber — low stock (fewer than 10 units available).

Stock syncs automatically from Xero every hour. The committed amounts also update automatically whenever an order is processed, an invoice is created, or an invoice is finalised. You can click Sync Now to force a full refresh at any time. The standalone stock page is available at /stock.

Shopify column:

The Shopify column shows what the online store currently has for each product. When it's shown in amber, Shopify and your ledger disagree — a heads-up to double-check that product (for example at stock-take).

Shopify stock push (admins):

The panel above the stock table can make your ledger the source of truth for the website's stock. It is currently off (dry-run) — it only records what it would set, without changing anything on the website. It's switched on deliberately once the numbers are reconciled.


Stock Take

From the Stock page (/stock) you can run a stock take — a physical count that becomes an adjustment sheet for the accountant to apply in Xero.

Two kinds:

  • Adhoc — count a few specific products (add them one at a time, or Add all). Good for a quick spot-check.
  • Month-end — every product is loaded ready to count.

How it works:

  • Start a count, then type the counted quantity for each product. It saves as you go, so you can close it and resume later — drafts are listed when you reopen Stock Take.
  • Each line shows the system figure (what Xero has) next to your count, with the live difference.
  • When you're done, click Finalise. You get an adjustment document listing only the products that changed — system vs counted vs difference — which you can download as a CSV.

Nothing is written to Xero automatically (Xero's stock levels can't be set by us directly). The accountant applies the adjustments in Xero from your document, and the next hourly sync brings the ledger back in line. You can discard a count at any time.


Deleting an order

You can delete any order from the three-dot menu. This will:

  • Delete the draft invoice from Xero (if one exists and it's still a draft)
  • Remove the order and all its line items from the dashboard
  • Update the stock ledger (committed quantities will decrease)
  • Keep a record in the Run Log — deleted orders appear at the bottom so you can see what happened before they were removed

Finalised orders (approved in Xero) cannot have their invoices deleted from Xero, but the dashboard record will still be removed.


Shopify — Web Orders

The Shopify tab shows orders from the online store (caribbeantan.co.za). They arrive automatically and the system creates the Xero invoice by itself. Your job here is to dispatch orders as they go out — and, for EFT orders, to mark them paid once the money lands.

Each order shows who bought:

  • WHOLESALE — a salon/professional customer. They get their own Xero contact and their wholesale discount is shown on the invoice.
  • HQMARKETING — an internal marketing order (products 100% discounted via the HQMARKETING code, usually only delivery payable). The badge makes them easy to spot — mark these paid in Shopify too so they don't sit on Pending.
  • CASH — a regular shopper. These are grouped under one "Cash Sales" contact in Xero.

Use the search box (order number, customer name or email) and the month dropdown above the table to find past orders. Delivery fees appear on invoices as a "Delivery" line.

The three status columns:

  • PaymentPAID once the order is paid (card is instant; EFT once you mark it paid), PENDING while an EFT payment is still outstanding, or REFUNDED if a refund was done in Shopify (the accountant still does the credit note in Xero).
  • FulfilmentUNFULFILLED until you dispatch, then FULFILLED.
  • FlagNEEDS ATTENTION only when there's a real problem (usually a product code the website uses that isn't in Xero, so no invoice was created — click the badge for the reason). Admins see a small resolve link to clear the flag once it's been sorted by hand.

EFT (bank transfer) payments:

Because the customer pays into your bank, Shopify never sees the money, so the order stays on PENDING. When the payment lands, mark the order as Paid in Shopify — that updates this dashboard and the Xero invoice automatically. Do it in Shopify (not only in Xero) so everything stays in sync.

Buttons on each order:

  • Customer (person icon) — name, email and delivery address.
  • Timeline (clock icon) — the full Shopify history of the order: placed, confirmation, payment, emails sent, and any staff notes.
  • View Invoice (eye icon) — opens the Xero invoice PDF.
  • Dispatch (truck icon) — confirms the order is going out. This marks it Fulfilled in Shopify and emails the customer their shipping notification, so only do it once it's genuinely being sent.

Completed orders (paid and fulfilled) are dimmed so open work stands out.


SME — Self-Service Vendors

The SME tab is for mid-sized vendors who place their own orders through a personal link (order.caribbeantan.online). On that link they see the live catalogue — product, list price and current availability — enter the quantities they want, review, and submit. Their order then lands here in the SME tab for you to action.

The order form (what the vendor sees):

  • Each vendor has their own unique link, tied to their Xero contact. No login — the link is personal to them.
  • Quantities are capped at what's actually available, so they can't over-order. Only active, priced products show (archived items are excluded automatically).
  • Prices shown are list prices; the vendor's account discount is applied later, on the invoice.

How an SME order flows for you:

  • A submitted order appears in the SME tab — the same table and controls as vendor POs.
  • You review it (adjust quantities if needed), then click Create Invoice. The draft is raised in Xero against that vendor's contact with their discount applied automatically, and it then follows the normal Finalise → dispatch flow.

Other things to know

  • The dashboard refreshes automatically every 60 seconds while you're looking at it (it pauses in the background and refreshes the moment you return). You can also refresh manually.
  • Click any order row to expand it and see individual line items, stock levels, and quantities.
  • The Run Log shows a timeline of everything that happened on each order — useful for troubleshooting.
  • All invoices are created as drafts in Xero — nothing is finalised until you click Finalise Invoice from the three-dot menu.
  • The system automatically checks stock before creating or finalising an invoice. If stock has changed since the order arrived, you'll see a warning.
  • Reprocess will only work if the Xero invoice is still a draft. Once an invoice is approved or paid in Xero, it can't be reprocessed.
  • If an invoice is voided in Xero (or fully credited), the system detects this automatically and updates the order status. You can then resubmit the order.

Caribbean Tan Order Automation — v1

Copied to clipboard