> ## Documentation Index
> Fetch the complete documentation index at: https://ecommos.co/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Common setup and operations questions for new EcommOS merchants.

# FAQ

## Setup

### Can I sell without creating a form first?

Yes — you can create manual orders directly from **Orders**. But forms are the recommended public intake path. Without one, every customer order has to be entered by hand.

### Does EcommOS support a hosted storefront with checkout?

Not yet. The current public intake surfaces are the hosted sales form and, for connecting other tools, [Channels](/docs/operations/channels). Storefront, catalog, cart, and Paystack checkout are on the roadmap. If you need storefront checkout today, embed your form on your own landing page.

### Can I import orders from WooCommerce or Elementor?

WooCommerce import is on the roadmap. Elementor is already supported today through [Channels → Webhooks](/docs/operations/channels) — your Elementor form can post submissions straight into EcommOS as orders.

### Can I export orders, stock, or Cashflow records to CSV?

Not yet. CSV export for orders, inventory, Cashflow, staff, and contacts is on the roadmap. Today, use the in-app filters and views.

### What are Campaigns, Customers, and Chat for?

All three are on the roadmap and not live yet — you'll see them in the sidebar, but they're placeholders for now. Campaigns will be for sending and tracking marketing campaigns. Customers will be a unified customer record beyond what's captured on individual orders. Chat will be internal team messaging, not a customer conversation inbox.

### How do I test without creating live orders?

Use the `/tools/test-submit` route on staging, or submit through your live form with clearly fake test data. Test orders are flagged so they can be filtered out of revenue reports. Do not mix test and real orders in production queues.

## Orders

### Why is my first form submission not showing in the queue?

Check in order:

1. The product exists and is active.
2. The form is published (status active).
3. The submission went to the correct public form URL (check the public key).
4. The queue filter includes the expected status (for example, `New`).
5. The assigned staff exists and has product scope — otherwise the order is unassigned and shows up under the unassigned pool, not under a rep's queue.

### Why did an order go to the owner instead of a Sales rep?

Round-robin only assigns to active staff with the right product scope. If no scoped Sales rep exists, the order stays unassigned (or routes to the owner if the owner is the only eligible assignable staff). Scope a Sales rep to the product to fix this.

### Can I move an order back from `Confirmed` to `New`?

Yes. Moving away from `Confirmed` clears later-stage data (dispatch, delivery, remittance). The transition is recorded in the timeline.

### Can I edit a status field directly?

No. Status fields go through transition endpoints only. This prevents accidental status mutation that would break stock and revenue truth. Use the status controls in the order drawer.

### What are custom order statuses?

Custom statuses are additive pre-confirmation queue labels (for example `Awaiting callback`, `High value`) that help you organize your queue. They do not replace the core lifecycle. Applying a custom status keeps the order in the Orders queue; any system transition (Confirmed, Cancelled) clears the custom status. See [Set up custom order statuses](/docs/operations/custom-order-statuses).

### What's the difference between an Offer and a Package?

They're the same thing, seen from two sides. An **Offer** is what you configure on a form — the price/quantity choice a customer picks from. Once a customer orders it, that choice shows up on the order as the **Package**. Set up Offers; read Packages.

## Inventory

### When is stock decremented?

Stock is decremented only when an order is marked `Delivered`, and only at the delivery agent's location that actually delivered it. Dispatch does not decrement stock. If an order is dispatched but returned undelivered, no stock was touched.

### Can I transfer stock between delivery agents?

Yes. Create a waybill from the source location to the destination location. The destination confirms receipt to complete the transfer.

### Can I reverse a mistaken delivery decrement?

Not yet. There is no explicit reversal workflow today. Use an `ADJUSTMENT_INCREASE` movement with a note explaining the correction. A proper reversal workflow is on the roadmap.

### What's a combo product?

A bundle made of products you already sell, priced and sold as one item. See [Bundle products with combos](/docs/operations/combo-products).

## Staff and roles

### What roles can I assign?

Seven: Owner, General Manager, Sales manager, Sales rep, Logistics manager, Inventory manager, and Accountant. Owner is created automatically with the org and can't be created through staff management. See the [Roles](/docs/roles/owner) section for what each one can do.

### I've seen "Call rep" or "Manager" in old material — are those still roles?

Those names are retired from the UI. `Call rep` is now `Sales rep`, and `Manager` is now labeled `General Manager` — same role, current name. Legacy names (`Admin`, `Staff`, `Agent`, `Call rep`) are still accepted and normalized automatically if you encounter them in older links or integrations.

### Can a staff member belong to multiple orgs?

A user can belong to multiple orgs. A user cannot be linked to multiple staff profiles within the same org. Staff names and emails must be unique per org.

### Why did the invite fail to accept?

Invite acceptance requires the accepting user's email to match the invited email. If they signed up with a different email, they need to either sign up with the invited email or you need to reissue the invite to their actual email.

## Money

### What's the difference between Cashflow and Remittance?

Cashflow is your general income-and-expense ledger. Remittance is narrower: it's specifically about cash your delivery agents are holding after collecting payment on delivery, until they hand it over to you. Marking an order remitted automatically creates the matching Cashflow income record — you don't enter it twice. See [Cashflow](/docs/finance/cashflow) and [Remittance](/docs/finance/remittance).

## Notifications

### Why are push notifications not arriving on my phone?

Walk through [Notifications and queue configuration](/docs/operations/notifications-and-queue#if-notifications-are-not-arriving). The most common cause is the device-level push permission being denied.

### Do in-app notifications work without push?

Yes. In-app notifications are stored and listed regardless of push. Push is an additional delivery channel; the inbox is always populated.
