# Inventory Tracking

The Inventory Tracking feature lets you manage your drone fleet end-to-end — from packing drones into physical cases before a show, through shipping and receiving them back afterward. Navigate to [**Fleet > Inventory Tracking**](https://github.com/Verge-Aero/VergeDocs/blob/main/fleet/device-tracking/README.md) in the Verge Aero Portal to access this feature.

***

## Part 1: Tools and Labeling

Before drones and cases can be tracked in the Portal, they need physical QR code labels printed and applied. This section covers everything you need to get labels made and a scanner connected.

### Tools Required

| Tool                                                  | Purpose                                                                                                                                                              |
| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Brother P-Touch 900W**                              | Label printer                                                                                                                                                        |
| **P-Touch Editor 6**                                  | Label design software (runs on the computer connected to the printer)                                                                                                |
| **24mm / 0.94" laminated label tape cassette**        | Label media for the P-Touch 900W                                                                                                                                     |
| **Eyoyo scanner** (or compatible USB barcode scanner) | Scanning labels into the Portal                                                                                                                                      |
| **CSV file**                                          | Your drone UID / FAA number data set — downloadable from [Fleet > My Fleets](https://github.com/Verge-Aero/VergeDocs/blob/main/fleet/fleets/README.md) in the Portal |

***

### Drone Labels

#### Prepare the Data Set

1. Download your drone UID / FAA data set as a CSV from the Portal: navigate to [**Fleet > My Fleets**](https://github.com/Verge-Aero/VergeDocs/blob/main/fleet/fleets/README.md), select your fleet, and use the CSV download option. This file contains the drone and battery UIDs and FAA registration numbers you will use to generate labels.
2. Copy the CSV file to the computer running P-Touch Editor 6.

#### Set Up the Brother P-Touch 900W

1. Connect the power cable to the printer.
2. Connect to your computer via USB or wirelessly. If you are using more than one printer simultaneously, USB is recommended to prevent connection conflicts.
3. Install the Brother P-Touch 900W drivers and P-Touch Editor 6 if not already installed.
4. Insert a 24mm / 0.94" laminated label tape cassette into the printer.

#### Design the Label in P-Touch Editor 6

{% hint style="info" %}
Label template files (.lbx) for X1 drone labels and case labels are available for download from the **Getting Started** tab in the Portal under [Fleet > Inventory Tracking](https://github.com/Verge-Aero/VergeDocs/blob/main/fleet/inventory-tracking/README.md). You can open these directly in P-Touch Editor 6 and skip to the [Link the Data Set](#link-the-data-set) step.
{% endhint %}

1. Open P-Touch Editor 6 and create a new label.
2. Set the overall length of the label.
3. Create **Text Box 1** and enter a placeholder appropriate for your UID format:
   * **X1 drone** — 4-digit integer UID → use placeholder `XXXX`
   * **X7 drone** — 10-character alphanumeric UID structured as `{2-char factory code}{2-char product code}{6-char UID}` (e.g. `P8DR4T3U96`, where `DR` denotes a drone and `BA` denotes a battery) → use placeholder `XXXX567890`
   * **FAA number** → use placeholder `FAA4567890`
4. Select the **Barcode** button to add a QR code element to the label.
   * In the side panel under **Protocol**, select **Change**.
   * Scroll down, select **QR Code / Micro QR Code**, and select **OK**.
   * Under **Data** in the side panel, enter the same placeholder you used in Text Box 1.

{% hint style="info" %}
The placeholder in the QR code data field must match the one in the text box — both will be replaced with real data when you link the database in the next step.
{% endhint %}

<figure><img src="https://1654204364-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FakGR2bVCZLTNoe2hkqeR%2Fuploads%2Fgit-blob-da99584d525e28f11397de217e693a5729412805%2Fptouch-drone-label-layout.png?alt=media" alt="P-Touch Editor 6 showing a label with a text box placeholder and QR code"><figcaption><p>Label layout with text placeholder and QR code</p></figcaption></figure>

<figure><img src="https://1654204364-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FakGR2bVCZLTNoe2hkqeR%2Fuploads%2Fgit-blob-f26c60633dcca324aba7c4a5c29ba6912e0ad470%2Fptouch-barcode-qr-selection.png?alt=media" alt="P-Touch Editor 6 barcode protocol dialog with QR Code selected"><figcaption><p>Selecting QR Code / Micro QR Code as the barcode protocol</p></figcaption></figure>

#### Link the Data Set

1. Select the **Database** button and select **Open**.
2. Select **Browse**, locate your CSV file, and select **Open**.
3. If your CSV has no header row, uncheck **Header Rows Contains Field Names**.
4. Select **OK**.
5. Click and drag the header of your UID column onto the text box on the label.
6. Repeat, dragging the same column header onto the QR code element.
7. Both objects are now linked — each row in your CSV will produce a unique label.

<figure><img src="https://1654204364-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FakGR2bVCZLTNoe2hkqeR%2Fuploads%2Fgit-blob-9ad9774607e2e0c017dbd1de868ef97f91cb1ab1%2Fptouch-database-link.png?alt=media" alt="P-Touch Editor 6 database panel showing a column header being dragged to the QR code"><figcaption><p>Linking a CSV column to the QR code element</p></figcaption></figure>

#### Print

1. Select the **Print** button from the menu.
2. Choose **Selected Records**, a **Range**, or **All Records** depending on your batch.
3. Disable **Auto Cut**.
4. Enable **Half Cut**.
5. Enable **Chain Print**.
6. Select the blue **Print** button.
7. When printing finishes, press the scissors button on the Brother P-Touch 900W to cut the label strip.

#### Apply Labels to Drones

**X1 drones:** Apply one label to the bottom of the drone above the diffuser, and an identical label to the top of the drone.

**X7 drones:** Apply the label to the inside of the arm adjacent to the battery port. This position allows the X7 to be scanned while seated in its case.

<figure><img src="https://1654204364-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FakGR2bVCZLTNoe2hkqeR%2Fuploads%2Fgit-blob-04b6ddac00b679a586abbf4ea3aefc4c894462c9%2Fx1-label-placement-1.jpg?alt=media" alt="X1 drone bottom showing label applied above the diffuser dome"><figcaption><p>X1 label placement — bottom, above the diffuser</p></figcaption></figure>

<figure><img src="https://1654204364-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FakGR2bVCZLTNoe2hkqeR%2Fuploads%2Fgit-blob-271cb62ed4221ff9ed1b9c648b6e0b141c5b94d0%2Fx1-label-placement-2.jpg?alt=media" alt="X1 drone top showing label applied to the top of the body"><figcaption><p>X1 label placement — top of drone body</p></figcaption></figure>

<figure><img src="https://1654204364-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FakGR2bVCZLTNoe2hkqeR%2Fuploads%2Fgit-blob-b3b7d17e1086238461439a06b68872d74b1ed88d%2Fx7-label-placement.png?alt=media" alt="X7 drone with label applied to the inside of the arm adjacent to the battery port"><figcaption><p>X7 label placement — inside of arm, adjacent to battery port</p></figcaption></figure>

***

### Case Labels

Cases use the naming format `C1-001`, `C1-002`, etc. — the `C1-` prefix is required for the Portal to recognize a scan as a case rather than a drone. The physical label only needs to show the case number for readability; the full `C1-` prefixed ID is encoded in the QR code.

#### Prepare the Case Data Set

1. Open a spreadsheet application (Google Sheets or Excel).
2. In **Column B**, enter `001` in cell B1, then drag-and-fill downward for as many cases as you need. Format the column to always show 3 digits (001, 002, 003, …).
3. In **Column A**, enter `C1-` in cell A1, then drag-and-fill downward to match Column B.
4. In cell **C1**, enter the formula `=JOIN("",A1,B1)`. Drag-and-fill Column C to match. This produces the complete case IDs: `C1-001`, `C1-002`, `C1-003`, …
5. Export/download the spreadsheet as a CSV file and copy it to the computer running P-Touch Editor 6.

#### Design the Case Label in P-Touch Editor 6

1. Open P-Touch Editor 6 and create a new label.
2. Set the overall length of the label.
3. Create **Text Box 1** and enter the placeholder `C1-XXX`.
4. Select the **Barcode** button.
   * Under **Protocol**, select **Change**.
   * Select **QR Code / Micro QR Code** and select **OK**.
   * Under **Data**, enter the placeholder `C1-XXX`.

#### Link the Case Data Set

1. Select the **Database** button and select **Open**.
2. Select **Browse**, locate your case CSV file, and select **Open**.
3. Uncheck **Header Rows Contains Field Names** (since the spreadsheet has no headers).
4. Select **OK**.
5. Click and drag the header of **Column C** onto the text box on the label.
6. Drag the same Column C header onto the QR code element.
7. Both objects are now linked to the full case ID (e.g., `C1-001`).

<figure><img src="https://1654204364-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FakGR2bVCZLTNoe2hkqeR%2Fuploads%2Fgit-blob-34b369f047978de735dba6813966617e63d550d7%2Fcase-label-example.jpg?alt=media" alt="Finished case label showing a case number and its QR code"><figcaption><p>Example case label — the physical label shows the case number; the QR code encodes the full ID including the C1- prefix used by the Portal</p></figcaption></figure>

#### Print Case Labels

Follow the same print settings as for drone labels:

1. Select **Print** from the menu.
2. Choose the records to print.
3. Disable **Auto Cut** → Enable **Half Cut** → Enable **Chain Print**.
4. Select the blue **Print** button.
5. Press the scissors button on the printer when complete.

***

### Scanner Setup

Before scanning labels into the Portal, configure your scanner:

1. Connect the Eyoyo scanner (or compatible USB barcode scanner) to the device running the Verge Aero Portal via USB or wirelessly.
2. Using the setup page in the scanner's user manual, configure it to read **QR codes**.
3. Configure the scanner to append a **Tab keystroke** after each scanned value — this is what submits the scan in the Portal's input field without requiring a manual key press.

***

## Part 2: Portal Workflow

This section covers how to use the Portal to move drones through the full show lifecycle — from packing and shipping to receiving them back.

### Key Concepts

#### Cases

Cases in the Portal correspond directly to your physical Verge cases. When you create a case in the Portal, you're creating a record that mirrors a labeled physical case in your warehouse. Each case has a type that reflects its physical counterpart:

| Case Type           | Drone Family | Capacity  |
| ------------------- | ------------ | --------- |
| Original Metal      | X1           | 5 drones  |
| Original Plastic    | X1           | 5 drones  |
| Refurbished Plastic | X1           | 5 drones  |
| SKB Plastic         | X1           | 5 drones  |
| Refurbished Metal   | X1           | 5 drones  |
| Flight Crate        | X1 or X7     | Unlimited |
| Plastic             | X7           | 10 drones |

{% hint style="info" %}
If you need added flexibility — for example, when packing a large batch or a mixed configuration — the **Flight Crate** case type is available for both X1 and X7 and has no drone capacity limit.
{% endhint %}

X1 and X7 drones cannot be mixed into the same case. The Portal will prevent this when scanning.

#### Pallets

Pallets are the shipping containers that hold your cases. Think of them as a way to group cases together for a particular shipment — they don't correspond to any one specific physical container, but rather represent a logical grouping for tracking purposes. Pallets can be freely created, filled, emptied, and deleted as your operational needs change.

Pallet types (**SKB** and **Flight Crate**) are available to help you categorize your shipments, though the type doesn't enforce any capacity restriction at the pallet level.

***

### Step 1: Create Cases

Navigate to [**Fleet > Inventory Tracking**](https://github.com/Verge-Aero/VergeDocs/blob/main/fleet/device-tracking/README.md) and use the **Create Case** button to create a record for each physical case you've labeled. Make sure the name you enter matches the label exactly (e.g., `C1-001`).

Choose the appropriate case type for each physical case. The Portal will enforce capacity limits when you scan drones in — if a case is full, the scan will be rejected.

***

### Step 2: Scan Drones Into Cases

Once your cases exist in the Portal, use the scanner to pack drones into them.

1. Select **Open Camera** to activate the scanner input panel.
2. Set the mode toggle to **Pack**.
3. Confirm the scanner input is in **Input Mode** — the focus indicator should be **green** with a blinking cursor. If it turns red, click inside the input box to refocus it.
4. Scan a case QR code. The Portal will select and expand that case automatically.
5. Scan each drone QR code that belongs in that case. Each drone is added immediately.
6. Scan the next case label to switch to a new case, then scan its drones.
7. Repeat until all cases are packed, then select **Close Camera**.

<figure><img src="https://1654204364-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FakGR2bVCZLTNoe2hkqeR%2Fuploads%2Fgit-blob-3cf3f2c0b1f6bcf4f266a42dbe83a2e4fe2eb003%2Fdevice-tracking-scanner-input.png?alt=media" alt="Inventory Tracking page in the Portal showing the scanner input box in Pack mode with a green focus indicator"><figcaption><p>Scanner input in Pack mode — green indicator confirms the input field is focused</p></figcaption></figure>

{% hint style="info" %}
The `C1-` prefix in case QR codes is how the Portal distinguishes a case scan from a drone scan. Never use `C1-` as a prefix in drone UID labels.
{% endhint %}

***

### Step 3: Create Pallets and Add Cases

With your cases packed, group them into pallets for shipping.

1. Select **Create Pallet** and give it a name and type.
2. On the **Pallets** tab, find your new pallet and select the **+** (Add Cases) button.
3. Scan each case QR code or select cases from the dropdown to add them to the pallet.
4. Repeat for as many pallets as your shipment requires.

{% hint style="warning" %}
Cases and pallets must be in **Unallocated** status to have cases or drones added to or removed from them. Once a pallet is allocated to a show, its contents are locked until the show workflow is completed or the allocation is reversed.
{% endhint %}

***

### Step 4: Allocate Pallets to a Show

On the **Shows** tab, find your upcoming show and select **Allocate Pallets**. Choose the pallets you're sending and provide an allocation description and notes. The Portal will record how many drones are being allocated.

{% hint style="warning" %}
**Deallocating a show is destructive** — it removes all allocation history events for those pallets, not just the association. Only deallocate if you genuinely need to start over.
{% endhint %}

***

### Step 5: Mark as Shipped

Once the pallets are physically on their way, select **Mark Shipped** on the show. You'll be prompted to enter a shipment tracking link and notes. This moves the show and all its pallets and cases into **Shipped** status.

When the shipment arrives at the show site, select **Mark Delivered** to advance the status.

***

### Step 6: Fly the Show

Once delivered and the show has been performed, the drones are ready to be returned.

***

### Step 7: Receive Drones Back

When cases and drones return from a show, use the Portal to receive them back into inventory.

1. Select **Mark Receive In Progress** on the show to signal that the return process has started.
2. Open the scanner and switch the mode toggle to **Receive**.
3. Scan each returning case. The Portal selects that case as the active case for receiving.
4. Scan each returning drone. The Portal records it as received and removes it from the show allocation. If a drone is damaged, you can flag it during this step.
5. Continue scanning until all returned cases and drones are accounted for.
6. When you're done, select **Mark Receive Completed** on the show.

{% hint style="warning" %}
**Marking receive completed is final.** Any drones that have not been scanned back in at that point will be automatically marked as **Missing**. You'll see a confirmation prompt showing how many drones are still outstanding before you confirm.
{% endhint %}

Once received, drones are removed from their cases and returned to unallocated inventory, ready to be packed into cases again for the next show.
