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

# Quickstart

> Run a new dental clinic end to end: setup, first stock, first order, delivery, receipt and the consumption report

This walk-through takes a new dental clinic from an empty account to a supply that was received, ordered, approved, delivered, received at a location and used. Every step names the screen (as the console labels it), the permission it needs and the page with the details.

The example uses one location, **Clínica Norte**, a central warehouse named **Bodega Central** that holds the stock, and an express warehouse named **Bodega Norte** that belongs to Clínica Norte and receives the orders. The supply is nitrile gloves, SKU `GLV-NIT-M`, bought in boxes of 100.

## Before you start

<Warning>
  **Roles do not grant operational permissions.** As the owner you can manage locations, warehouses, the catalog and the team from the first minute, because the owner role includes `settings.manage`, `catalog.manage`, `catalog.read` and `members.manage`. Viewing inventory, receiving stock, creating orders, approving them, preparing and receiving deliveries and reading reports all need permissions that must be granted explicitly, **also to the owner**. Step 2 does that.
</Warning>

<Note>
  **You cannot approve your own order.** The person who requested an order can never decide it. To see the approval step you need a second person with `approvals.decide` (invited in step 6), or an approval policy that approves every order by itself (step 7).
</Note>

| Permission | Used in this walk-through for |
| - | - |
| `settings.manage` | Locations, warehouses, rooms and areas (included in the owner and administrator roles) |
| `catalog.manage` | Categories, supplies, presentations and codes (included in the owner and administrator roles) |
| `members.manage` | Inviting people and editing their access (included in the owner and administrator roles) |
| `inventory.read` | Seeing **Inventory**, boxes, alerts and counts |
| `inventory.receive` | Receiving stock |
| `inventory.consume` | Recording what was used |
| `orders.create` | Creating and submitting orders |
| `approvals.policy.manage` | Publishing the approval policy |
| `approvals.decide` | Deciding orders (always someone other than the requester). You need it yourself to offer it in an invitation. |
| `fulfillment.pick`, `fulfillment.dispatch` | Preparing and dispatching the order |
| `delivery.confirm` | Confirming the delivery |
| `receipt.confirm`, `fulfillment.read` | Receiving the order box by box |
| `fulfillment.close` | Closing the order |
| `reports.read` | Opening **Reports** |

## Walk-through

<Steps>
  <Step title="Create your account and your dental clinic">
    Open `https://console.muveya.com`, choose **Create a dental clinic** and fill in **Your name**, **Email address** and **Dental clinic name**. Open the verification link from the email, set your password on **Choose your password**, and sign in. You can also choose **Continue with Google** and confirm the name of your dental clinic.

    You become the **Owner** of the new dental clinic, with access to every location and warehouse, including the ones you create later. The console opens on **Home**, where **To start operating** lists what is still missing.

    Permission: none. Details: [Sign in](/docs/en/account/sign-in).
  </Step>

  <Step title="Grant yourself the permissions you will use">
    Go to **Team**, open your own row, tick the permissions from the table above in **Permissions** and choose **Save permissions**. Permissions marked **Included in the role** are already yours. Include `approvals.decide` if you will invite an approver: an invitation can only offer permissions you hold. Holding it does not let you decide your own orders.

    Permission: `members.manage`. Details: [Roles and permissions](/docs/en/account/roles-and-permissions).
  </Step>

  <Step title="Add your locations">
    Go to **Locations**, choose **New location**, type the **Location name** (for example, Clínica Norte) and choose **Save location**. From **Home**, the **Create the first location** card runs the same form and then offers the location's main warehouse.

    Open a location to add its **Rooms and areas** (treatment rooms and other areas) if you want each use of stock to say where it happened.

    Permission: `settings.manage`. Details: [Locations](/docs/en/locations/clinics), [Rooms and areas](/docs/en/locations/destinations).
  </Step>

  <Step title="Add your warehouses">
    Go to **Warehouses** and choose **New warehouse**. Give it a **Warehouse name**, pick the **Warehouse type** and choose **Save warehouse**:

    * **Central**: serves the whole dental clinic and belongs to no location. Create **Bodega Central** this way.
    * **Express**: belongs to exactly one **Location**. Create **Bodega Norte** this way, attached to Clínica Norte.

    The console delivers an order to a warehouse that belongs to the ordering location, so every location that orders needs an express warehouse.

    Permission: `settings.manage`. Details: [Warehouses](/docs/en/locations/warehouses).
  </Step>

  <Step title="Set up the catalog">
    **By hand.** Go to **Catalog** and open **Categories** to create at least one category (**New category**, then **Save category**). Back in **Catalog**, choose **New supply**, fill in **SKU**, **Supply name**, **Category**, **Unit** and **Criticality**, choose what to track (**Track lots**, **Track serial numbers**, **Track expiration dates**) and choose **Create supply**. A new supply starts as **Draft**. Open it and choose **Activate and fix unit**: only active supplies can be received from the console and added to orders.

    On the supply, under **Presentations**, choose **Add presentation** (for example, "Box of 100" with **Base units it contains** set to 100), then **Add code** to register the barcode printed on the package, so receiving can scan it.

    **From a file.** Choose **Import CSV**, then upload a file with the columns `sku`, `name`, `categoryId`, `unitOfMeasure` and `criticality` (up to 5 MB and 10,000 data rows). Imported supplies are created as drafts, so activate them afterwards. The server accepts imports only from an owner or an administrator.

    Permission: `catalog.manage` (CSV: owner or administrator role). Details: [Supplies](/docs/en/catalog/items), [Presentations and codes](/docs/en/catalog/presentations-and-codes), [Import and export](/docs/en/catalog/import-export).
  </Step>

  <Step title="Invite your team and set their access">
    Go to **Team** and choose **Invite person**. Enter the email address, pick the **Role** (**Member**, or **Administrator** if you are an owner), tick the **Permissions** the person needs (you can only grant access you hold), choose their **Location access** and **Warehouse access**, pick the **Email language** and choose **Create invitation**. For this walk-through, invite at least one approver with `approvals.decide` and access to Clínica Norte.

    After the person joins, open them in **Team** to change **Permissions** (**Save permissions**) or **Locations and warehouses** (**Save location access**). Nobody can change their own locations and warehouses.

    Permission: `members.manage`. Details: [Team](/docs/en/account/team), [Roles and permissions](/docs/en/account/roles-and-permissions).
  </Step>

  <Step title="Publish an approval policy">
    Go to **Order approvals** and choose **Approval policy**. Either choose **Publish without approvals** (every submitted order approves itself), or add a rule with **Add a rule**, a **Stage name** and **People who must approve**, and choose **Publish policy**. Until a policy exists, submitted orders wait and nobody can decide them.

    Permission: `approvals.policy.manage`. Details: [Approval policy](/docs/en/orders/approval-policy).
  </Step>

  <Step title="Receive the first stock">
    Go to **Inventory** and choose **Receive**. Under **How to find what arrived**, either **Scan a code** (type or scan the **Supplier code** and choose **Look up**) or **Choose the supply** (**Search supplies**). Pick how it arrived in **Received as** (a presentation or loose units), enter **How many**, choose the **Warehouse** (Bodega Central), fill in the lot, expiry date or serial numbers if the supply tracks them, and choose **Receive**.

    muveya creates one box with a code (you can type your own in **Box code (optional)**), records a `receive` movement in the ledger and offers to print the box label.

    Permission: `inventory.receive` (or `inventory.adjust`, which includes it), plus access to the warehouse. Details: [Receive stock](/docs/en/inventory/receive).
  </Step>

  <Step title="Create and submit an order">
    Go to **Orders** and choose **New order**. Choose the **Clinic** (Clínica Norte), **Deliver to warehouse** (Bodega Norte) and, in **Take stock from**, Bodega Central. Add a **Reason (optional)** if useful and choose **Create order**. The order opens as **Draft**: under **Add a supply**, pick the **Supply**, enter a whole **Quantity** and choose **Add supply**. When the list is complete, choose **Submit order**.

    Permission: `orders.create`. Details: [Create and track orders](/docs/en/orders/create-and-track).
  </Step>

  <Step title="Approve the order">
    The order moves from **Submitted** to **Waiting for approval** once the policy is applied. The approver goes to **Order approvals** and selects the order number to open **Decide order #N**, checks the **Stage you decide**, adds a **Comment (optional)** and chooses **Approve**. With the **Publish without approvals** policy, the order becomes **Approved** by itself.

    Once approved, muveya reserves the stock for the order and the status becomes **Stock reserved**. If there is not enough usable stock, the order stays **Approved** and nothing is reserved.

    Permission: `approvals.decide`, held by someone other than the requester, with access to the order's location. Details: [Decide approvals](/docs/en/orders/approvals).
  </Step>

  <Step title="Prepare and dispatch the order">
    Go to **Deliveries** and, under **To prepare**, select the order number to open **Prepare order #N**. **Boxes to take** lists the reserved boxes. For each one, scan or type its label in **Box code** and choose **Record box**. When every box is picked, add a **Carrier or courier (optional)** and choose **Dispatch order**. The boxes leave Bodega Central and are **In transit**.

    Permission: `fulfillment.pick` to record boxes, `fulfillment.dispatch` to dispatch. Details: [Picking and dispatch](/docs/en/deliveries/picking).
  </Step>

  <Step title="Confirm the delivery">
    Under **To deliver**, select the order number to open **Delivery of order #N**, check **What is being delivered** and choose **Confirm delivery**. If something went wrong, choose **Report a problem** instead: the order becomes **Delivery problem**.

    Permission: `delivery.confirm`. Details: [Delivery and receipt](/docs/en/deliveries/delivery-and-receipt).
  </Step>

  <Step title="Confirm the receipt and close the order">
    Under **To receive**, select the order number to open **Receive order #N**. For each box, choose **Accept**, or **Dispute** with a reason and a description in **Evidence of the problem**. Choose **Confirm reception**. Accepted boxes now sit in Bodega Norte; disputed boxes go back to the warehouse they came from.

    Then, under **To close**, select the order number to open **Tracking order #N** and choose **Close order**.

    Permission: `receipt.confirm` and `fulfillment.read` to receive, `fulfillment.close` and `fulfillment.read` to close. Details: [Delivery and receipt](/docs/en/deliveries/delivery-and-receipt), [Custody history](/docs/en/deliveries/custody-history).
  </Step>

  <Step title="Record use and check the consumption report">
    In **Inventory**, open a box of Bodega Norte (from the list or with **Scan a code**), choose **Consume**, enter the quantity and, if the location has rooms and areas, the **Room or area** and **What happened**. Then go to **Reports**: **Consumption by supply** shows what each supply consumed in the chosen **Period**, grouped by day or week.

    Permission: `inventory.consume` to record use, `reports.read` for the report. Details: [Use and move stock](/docs/en/inventory/use-and-moves), [Consumption report](/docs/en/reports/consumption).
  </Step>
</Steps>

## What you have now

* A ledger with the movements of each box (`receive`, `reserve`, `pick`, `dispatch`, the `receive` at the destination and `consume`, plus `split_out` and `split_in` if a box was separated while picking), each with who and when. Open a box to see its **Movements**.
* An order whose **History** under **Deliveries** shows who delivered and who received it, and whose **Decisions** under **Order approvals** show who approved it.
* A consumption figure you can read by supply, by day or by week.

## If a step does not work

| What you see | What to do |
| - | - |
| **You don't have access** or a missing menu entry | Check the permission named in the step, in **Team**. |
| **No approval policy yet: submitted orders wait until one is published** | Publish a policy (step 7). |
| **You requested this order, so another person has to approve it.** | Ask the approver, or publish **Publish without approvals**. |
| The order stays **Approved** and never shows **Stock reserved** | The source warehouse lacks usable stock of a supply on the order. Check **Inventory**, and see [Troubleshooting](/docs/en/help/troubleshooting). |
| **This clinic has no active warehouse yet. Create one in Warehouses first.** | Create an express warehouse for that location (step 4). |

More answers in [Troubleshooting](/docs/en/help/troubleshooting).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.