# Assignments

**Assignment** allows organizations to track how commercial activity (projects) and equipment activity (assets) are related over time. This connects each asset with an associated project, such as when assets are deployed at customer sites.

{% hint style="info" %}
**Understand assignment relationships**

An **asset** can be **assigned to** a project. An asset *cannot* be assigned to more than one project at once.

A **project** can have **assets assigned to it**. A project can have *multiple* assets assigned to it at once.

An **assignment** for a *specific asset* on a *specific project* includes a **start date** and an **end date**.
{% endhint %}

<figure><img src="/files/fLGarAupcnWlOsNILpRv" alt=""><figcaption><p>Example asset assignment (first to a project, then to the renewal)</p></figcaption></figure>

## Why assignments?

**Assignment is critical for hardware-as-a-service businesses** because asset lifecycles become complex in hardware subscriptions. From a commercial perspective (project revenue), organizations need to understand the asset costs that are being incurred against the project. From a hardware perspective (asset cost), organizations need to understand the project revenue that is being driven by the asset.

{% hint style="info" %}
**Interested in diving deeper?** Read [our article about asset lifecycle management for hardware subscriptions](https://blog.hardfin.com/how-to-manage-asset-lifecycles-effectively-for-hardware-subscriptions) to learn more.
{% endhint %}

## Assignment history

{% hint style="success" %}
**Did you know?** *Visualizing* an assignment history is the clearest way to understand what asset activity has occurred on a project over time.
{% endhint %}

Visualizing an assignment history might look like:

<figure><img src="/files/lNd8ew0LcRiJp851gDlH" alt=""><figcaption><p>An example assignment history</p></figcaption></figure>

This same assignment history represents the following:

* An upcoming project had assets TWR-1002 and TWR-1003 reserved for it in September
* The project "Watsonville first HaaS deal" starts in October
* In November, asset TWR-1003 needs to be returned for repairs, so is unassigned from the project
  * A few days later, a replacement asset (TWR-1006) is sent out and assigned to the project
* Then in December, asset TWR-1002 also needs to be returned for repairs, so is unassigned
  * A few days later, another replacement asset (TWR-1008) is sent out and assigned to the project
* As of March, the project is still ongoing and both of the replacement assets TWR-1006 and TWR-1008 are still assigned to the project

## Assignment models

Assets may be assigned to a project however makes sense for your business, based on your downstream reporting needs. Some common patterns that Hardfin customers use:

**1) Logistics-based assignments.** In many cases, teams will assign asset to a project *when the asset ships out to the customer*.

This means that the asset and its costs are allocated to the project as soon as the asset leaves your warehouse.

**2) Reservation-based assignments.** In other cases, organizations will assign assets to a project *as soon as the affiliation is known*. That is, as soon as an asset has been designated to a customer, the assignment is made to the project.

This means that the asset and its costs are allocated to the project as soon as the asset is effectively "reserved" for the customer.

**3) Value-based assignments.** Less commonly, organizations will assign assets to a project *after the asset is delivered or starts doing work*. That is, the assignment is not made to the project until after the asset is on site and deployed.

This means that the asset and its costs are not allocated to the project until the asset is producing value for the customer, and costs outside of that range are allocated to overhead.

**4) Commercial-based assignments.** Least commonly, organizations will assign assets to a project *when the project begins*. That is, the assignment starts when the project starts.

This means that the asset and its costs coincide with the project dates exactly, even if the asset is delivered early or late. This approach is not recommended because it does not take advantage of Hardfin's native ability to track asset and commercial activity independently.

### Assigning and unassigning

Assignments can be created, updated, and deleted from [the asset details page](/run-your-business/assets.md#assign-an-asset-change-asset-project) or from [the project details page](/run-your-business/projects.md#asset-assignment). Use whichever approach makes sense for your businesses.

Some companies work on an individual project to send out a *corresponding* batch of assets, which is a more *project-centric* workflow. This is common for smaller devices, such as sensors or handhelds.

Some companies work on an individual asset and send out a single asset to its *corresponding* project, which is a more *asset-centric* workflow. This is common for larger devices, such as heavy machinery and equipment that drives.

## Intelligent auto-assignment

Hardfin intelligently allocates assets to the correct projects based on contextual information you've provided to the application. Auto-assignment ensures that your device and commercial information are in sync with minimal effort, which saves time and maximizes reporting accuracy.

{% hint style="success" %}
**Auto-assignment example.** The *Wal-Mart Inc Super Project* is for 12 SuperMachines is starting at *Wal-Mart Des Moines #5321* on September 1. Hardfin detects 12 SuperMachines shipped to *Wal-Mart Des Moines #5321* on August 27. The platform automatically assigns those 12 SuperMachines to *Wal-Mart Inc Super Project* on August 27.
{% endhint %}

Auto-assignment runs a sophisticated algorithm to identify the correct project for a given asset based on all the project, asset, assignment, and movement data available across the Hardfin platform at any time. The auto-assignment algorithm runs in real time whenever Hardfin processes a new [asset movement](/run-your-business/assets/move-assets.md).

**Project timing.** For auto-assignment, Hardfin dynamically prioritizes any active project and any projects that are upcoming within 30 days of the date of shipment.

**Location match.** Hardfin considers exact location matches across all your projects. If customer AcmeCo has 3 current projects, but only one of them is for the Springfield location, Hardfin will automatically assign assets that are shipped to the Springfield location.

**Customer match.** Hardfin considers exact customer matches across all your projects. If your business has 10 upcoming projects, but only one of them is for customer AcmeCo, Hardfin will automatically assign assets that are shipped to any location associated with AcmeCo.

**Product match.** Hardfin uses product configuration as a tie-breaker to determine the correct project to assign. For example, is there are 2 active projects for AcmeCo (Project A is for the DevicePlus and Project B for the DevicePro) Hardfin will automatically assign DevicePlus assets to Project A and automatically assign DevicePro assets to Project B.

When Hardfin is *unable* to find a matching project to assign for the project, we introduce additional variables such as location type to consider what is happening to the asset. For example, if the asset destination is a company warehouse or third-party inventory location, Hardfin will stop processing auto-assignment and leave the asset unassigned while it returns to inventory.

### Exception and notification alerting

If Hardfin determines that something unusual is happening, or that insufficient data is available to assign the asset automatically, a notification is sent to users that the asset requires clarification.

**Warnings.** If Hardfin determines that something *should* happen but the system does not have sufficient data to resolve *exactly* what action to take, users are provided the relevant context and notified that action should be taken.

**Information.** If Hardfin determines that something *might* need to happen but it is not exactly clear what action would be needed, users are provided the relevant context and notified as FYI.

See [notifications](/monitor-the-details/notifications.md) for more information on subscribing to Hardfin notifications.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guide.hardfin.com/run-your-business/assignments.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
