console.muveya.com/orders), New order (/orders/new) and the order detail (/orders/<orderId>).
In the order screens the location is labeled Clinic (column, field and fact). It is the same thing the main navigation calls a Location. See Concepts.
Who can do what
None of these permissions comes with a role: an Owner or an Administrator also needs them granted explicitly. Location access applies on top: you can only order for a location assigned to you, deliver to a warehouse assigned to you, and see orders of your assigned locations. See Roles and permissions.
Only the person who created an order can edit, submit or cancel it. Nobody else can, whatever their permissions.
Which orders you see
The server decides which orders appear in your list and which ones you can open:
If you open an order you are not allowed to see, the console answers exactly as if it did not exist: This order does not exist or you cannot see it.
The Orders list
Open Orders in the main navigation. The screen is titled Orders and lists orders newest first, 25 at a time; Load more orders brings the next page.
The Show selector narrows the list:
When the list is empty you see No orders here. You see the orders you requested, or those of your clinics if you approve, prepare or receive them. If no location is assigned to you, you see You have no locations assigned. Ask an administrator for access.
On Home, the Pending work section shows an Order drafts card when you have drafts waiting to be submitted.
Create an order
Before you start
- The location must be active and have at least one active warehouse that belongs to it. See Locations and Warehouses.
- The supplies must be active in the catalog, with their unit fixed. See Supplies.
- If you want an order value (and value-based approval rules), the supplies need a cost confirmed for their current unit. See Costs.
Step 1: the order header
1
Open New order
Go to Orders and select New order. The link only appears if you have
orders.create. The screen is titled New order: “Choose the clinic and where to deliver. You add the supplies next.”2
Choose the Clinic
Pick the location in Clinic. Only active locations assigned to you are offered. If you have exactly one, it is shown as text and already selected.
3
Choose Deliver to warehouse
Pick the destination in Deliver to warehouse. The list holds the active warehouses that belong to the chosen location and are assigned to you. Until you choose a location it reads Choose the clinic first. If only one warehouse qualifies, it is shown as text and already selected.
4
Optionally choose Take stock from
Take stock from defaults to Any central warehouse. You can instead name one active central warehouse as the preferred source. Despite the label, an order with no named source can have its stock reserved from any usable box in any warehouse of the dental clinic, express warehouses included; check Take from on the pick list before you walk to a shelf.
5
Optionally write a Reason
Reason (optional) is free text for the approvers and the delivery team. It must not contain personal data (see The reason and personal data).
6
Mark it as clinical, if it is
If you have
orders.clinical.create, you see the box It is for a patient’s treatment. Tick it to create a clinical order; the field Patient reference (optional) then appears, with the hint “Use your clinic’s internal code, never a name or an ID number.”7
Create the order
Select Create order. The console opens the new order in Draft, ready for its supplies.
The header cannot be changed after the order is created: there is no way to edit the location, the destination, the source, the reason or the patient reference. If one of them is wrong, cancel the draft and create a new order.
If the chosen location has warehouses but none is assigned to you, you see You have no warehouse of this clinic assigned. Ask an administrator for access. If it has no active warehouse at all, you see This clinic has no active warehouse yet. Create one in Warehouses first.
General and clinical orders
The reason and personal data
A patient is linked to an order only through the patient reference. To keep identifiers out of the free text, the server refuses a Reason that contains any of the following, and shows The reason seems to include personal data. Remove names, phone numbers or ID numbers.- An email address.
- A card number written as four groups of four digits.
- One of the words
rut,dni,mrn,nhs,ssn,cpf,pacienteorpatientimmediately followed by a value that contains a digit (for example “patient 12”). - Nine or more digits in a row. Dots or hyphens between digits do not break the run, so
12.345.678-9counts as nine digits. Dates and times are not affected.
Step 2: add the supplies
While the order is a draft, you (the requester) see the Add a supply form below the Supplies table.1
Pick the supply
Choose it in Supply. The list shows active supplies as name and SKU, for example “Nitrile gloves M · GLV-NIT-M”.
2
Check the unit
The console reads the supply’s unit and shows Counted in: followed by the unit (for example Box). The quantity you enter is in that unit.
3
Enter the quantity and add it
Type a whole number greater than zero in Quantity and select Add supply.
Step 3: submit the order
Select Submit order. The button stays disabled until the order has at least one supply. When you submit, the system:- Moves the order from
drafttosubmittedand records the submission time. - Freezes the order value from the line costs.
- Queues the order for the approval policy. Within seconds the order moves to Waiting for approval (someone must decide) or straight to Approved (the policy needs no decision). While it moves, the order shows The order is moving to its next step. This screen refreshes by itself in a few seconds.
If your dental clinic has never published an approval policy, a submitted order stays in Submitted. Publishing the first policy does not move it by itself: orders already waiting are processed the next time any order is submitted in your dental clinic. People who manage the policy see the Home card No approval policy yet: submitted orders wait until one is published. See Approval policy.
Order statuses
The order lifecycle is a closed state machine. A status only changes through one of the transitions below; anything else is refused.
Everything from
allocated onwards is described in Deliveries overview.
The order detail
Open an order from the list. The header shows Order # and the number, with the status next to it, and Back to orders.Facts
Next step
The Next step panel tells you what happens now:
From Stock reserved onwards, members with any delivery permission also see Follow the delivery, which opens the delivery screen. See Deliveries overview.
Supplies
The Supplies table lists each line as Supply (name and SKU) and Quantity (quantity and unit, for example “10 × Box”). If the order has no lines you see No supplies yet. Add at least one to submit the order. While the order is your draft, a Change column holds Save and Remove.Cancel an order
Who: only the requester, withorders.create.
When: while the order is Draft, Submitted or Waiting for approval.
1
Open the order
Open it from Orders.
2
Select Cancel order
The dialog Cancel order #1042? (with the order’s number) explains: “The order stops here and nobody will prepare it. This cannot be undone.”
3
Confirm
Select Yes, cancel it, or Keep the order to go back.
cancelled, a final status. Nothing is reserved or prepared. If it was waiting for approval, it leaves the approvers’ inbox; decisions already recorded stay in its history.
Once an order is Approved, it can no longer be cancelled from the console, and no other member (not even an Owner or an Administrator) can cancel someone else’s order. If an approved order must be stopped, write to team@muveya.com.
Value and hidden data
- Order value is the sum, over the lines that have a cost, of quantity times the unit cost copied when the line was added. It is kept in minor units (cents, or whole pesos for a currency without decimals) and shown formatted in the order’s currency. Lines without a cost add nothing; if no line has a cost, the order has no value. The value is frozen when the order is submitted.
- The value is shown only to members with
orders.value.read. Without it, the Order value fact (and the value column of the approvals inbox) is simply not there. Line costs followcatalog.cost.read; this screen does not display them. - The Patient reference is shown only with
orders.patient_ref.read, and only on the order detail. - Hidden data is removed by the server before it reaches your browser, so it is absent rather than blank.
What can go wrong
Orders outside the console
Orders can only be created in the console. Read-only access also exists:- The public API lists and reads orders with
GET /v1/ordersandGET /v1/orders/{orderId}(scopeorders:read). The order value and the patient reference are always hidden for an API key. See API scopes. - The MCP tool
orders.getreads one order, and the resourcemuveya://orders/status-modeldescribes this lifecycle. See MCP tools and MCP resources.
Related pages
Order approvals
Decide the orders waiting for your approval.
Approval policy
Which orders need approval, and from whom.
Deliveries overview
What happens after an order is approved.
Costs
Where the order value comes from.
Roles and permissions
Grant order permissions and location access.
Concepts
Dental clinic, locations, warehouses and orders.