Global Equipment

Share one rental fleet across several companies, and move units between them with a transfer. The companies can sit in the same Business Central environment or in separate environments, including a different organisation's.


What Global Equipment is

Global Equipment lets a group of companies see and draw on each other's rental fleet. When a hire comes in that you cannot cover from your own yard, you can see who in the group has a free unit of the right type and request a transfer, rather than turning the work away or buying more kit.

Two things are worth being clear about from the start. First, nothing moves on its own: seeing another company's fleet does not touch it. Equipment only changes hands through a transfer that both sides post, exactly like a transfer between two of your own locations. Second, a transfer is a permanent hand-over, not a loan: once the receiving company posts the receipt, the unit belongs to them and the sending company's copy is retired as Transferred-Out.

Global Equipment is a subscription option. Turn it on per company on the Global Equipment Setup page. A company with it switched off is neither visible to the group nor able to see the group.

Hubs and groups

Every participating company names a hub company. The hub is the collective record: the shared stock position and the group-wide ledger live there, and every company reads them through it. Companies that name the same hub form one group and see each other's fleet automatically. A company that names a different hub is a separate group and stays invisible to the first.

Same hub means one group, visible to each other by default. There is no list to build and no company to tick: naming the hub is what puts a company in the group. This is true whether the companies share an environment or are reached across a connection.

Setup: companies in one environment

If every company that will share equipment lives in the same Business Central environment, setup is quick and needs no connections at all. In each participating company, open Global Equipment Setup and set:

Global Equipment Setup
GE Enabled
Turns Global Equipment on for this company. Switch it on in every company that should take part. Enabling it, once a hub is named, seeds the shared stock position from the company's live fleet straight away, so a freshly set-up company is not empty until someone runs Reconcile Now by hand.
Hub Company
The company that keeps the shared record. Every company in the group must name the same hub, or each will be looking at a different picture. Mandatory. Once the hub holds transfer or ledger history it is locked, because moving it would strand that history in a company nothing points at.
Posting Template Group
Where a newly arrived rental item group gets its posting setup. When a transfer brings in a group this company has never seen, the group is created and its posting setup is copied from the group you name here, so it is always in this company's own tax model. Receiving refuses until this is set.
Transfer Batch No. Series
The number series used to number transfer batches raised from this company.
Inbound Posting
How an incoming transfer posts to your fleet: Immediate posts the arrival the moment it lands; Deferred records the line and lets your own background sync post it. Covered in full under Receiving, below.
Externally Visible
Only relevant once you connect another environment. It decides whether an environment you have connected to may read this company's stock position at all. Companies in the same environment that share the hub always see each other; this flag governs the outward direction to other environments.

Setup: connecting another environment

A connection is for a company that is not in your environment. It names where that environment is and how to authenticate to it. Adding one moves no equipment on its own; it establishes a secure, read-and-request link that the group view and transfers then ride on.

Under the bonnet a connection uses the same pattern any Business Central to Business Central integration uses: a registered application in Microsoft Entra ID authenticates to the other environment's Business Central APIs with your own tenants' consent. There are three stages, and the first two are one-off IT tasks in the environment you are connecting to.

Stage 1 – register an application in Azure (Microsoft Entra ID)

Done in the Azure portal of the tenant that hosts the target environment. When that environment belongs to a partner, their IT does this and hands you the values in Stage 3.

1
Register the app

In Microsoft Entra ID › App registrations › New registration, give it a name (for example "Essential Rental Global Equipment"). After it is created, note the Application (client) ID and the Directory (tenant) ID; you will need both.

2
Grant the Business Central permission

Under API permissions, add a permission for Dynamics 365 Business Central, choose Application permissions, and select the application permission that allows API access (for example API.ReadWrite.All). Then Grant admin consent for the tenant. The connection authenticates with the client-credentials flow, so an application permission with admin consent is what it needs, not a delegated one.

3
Create a client secret

Under Certificates & secrets, create a New client secret and copy its value immediately; Azure shows it only once. This secret plus the client ID is what the connection presents to prove who it is.

Stage 2 – register the app in the target Business Central

Azure lets the app request a token; Business Central still has to know the app and grant it rights. In the target environment's Business Central, open Microsoft Entra Applications and:

Microsoft Entra Applications
Client ID
Add a new line and paste the Application (client) ID from Stage 1.
State
Set to Enabled. Grant consent if prompted.
Permission sets
Assign the Essential Rental permission set to the application, so it may read the group's stock positions. For a company that uses Immediate Inbound Posting, the application also needs rights to write rental items in that company, because an arriving transfer posts to the fleet under the application's identity. A company on Deferred never has its fleet written from the inbound path, so it needs read access only.
The target environment must have Essential Rental installed and Global Equipment enabled, the company you will connect to must have Externally Visible switched on, and it must have been reconciled at least once so its stock position is populated. A freshly enabled company serves an empty feed until its first Reconcile Now.

Stage 3 – create the connection in Essential Rental

Now the quick part, in the environment doing the connecting. From Global Equipment Setup or the External Connections list, run the Connection Wizard. It walks through the four values from Stages 1 and 2, lists the other environment's companies so you can choose the one this connection talks to, and tests the pairing before you finish.

Connection Wizard
Tenant Id
The Directory (tenant) ID of the environment you are connecting to. Your own tenant when that environment is in your organisation, the partner's tenant when it is a different organisation.
Environment Name
The Business Central environment to connect to, spelled exactly as it is named in its tenant.
Client Id and Secret
The Application (client) ID and the client secret from Stage 1. The secret is stored encrypted in Isolated Storage, keyed to the connection; it never sits on the connection record, so exporting, showing or supporting the record can never carry it.
Remote Company
The company inside that environment this connection talks to. The wizard lists the environment's companies so you can pick it. Once the connection has been paired this is fixed; to point at a different company, create a new connection.

Finish with:

1
Test Connection

Authenticates to the other environment, reads what it is running (its version, country and currency, and whether Global Equipment is on there), and agrees a protocol version both sides understand. Nothing is transferred. A connection cannot be enabled until a test has succeeded, so the first real message is never the thing that discovers the pairing does not work.

2
Accept data residency

When the connection reaches into another organisation's environment, you confirm that fleet data may cross that boundary. Who accepted, and when, is recorded on the connection.

3
Enable and sync

Tick Enabled. The connected company's fleet appears in your group view after the next sync, or straight away if you run Pull Now. Set up a background sync so it stays current (see Delivery, below).

Seeing the group's fleet

The Global Equipment Overview shows the whole group's rental fleet grouped by rental item type: how many units are available, on hire, in maintenance, and how many are lost or not yet ready to go out, for each company in the group. Local companies and companies reached across a connection appear side by side. Everything a user sees still respects their own permissions.

Overview actions
Reconcile Now
Brings the whole group up to date in one step: pulls the latest figures from every connected environment, then rebuilds this environment's own companies from their live fleet, then reloads.
Pull Now
On a connection, reads that one environment's stock position into yours now, rather than waiting for the next scheduled pull.

Moving a unit: request, ship, receive

A transfer runs in the same steps whether the other company shares your environment or sits across a connection. To the user it is just another company; local or external does not change how it works.

Request (the receiving company)

Raise a request from the Global Equipment Overview against the company that has a free unit, or straight from a rental order line using Request Transfer on the line's Functions menu. Enter a quantity and each unit becomes its own request. Availability is checked when you ask, and again when the other side ships, so you only request what is really free. The request lands in the source company's Transfer Request Inbox.

Fulfil and ship (the sending company)

The sending company opens the request batch in its Transfer Request Inbox and earmarks the units, either by picking them or with Scan & Fulfil to scan units against the request. Nothing leaves yet; the units are staged. When ready, Post Shipment sends them. The unit shows as In-Transit on both sides, and a request that cannot yet be delivered sits visibly queued on the Global Equipment Outbox.

Receive (the receiving company)

Check In an in-transit line, or Scan & Check In to scan the units off the truck, then Post Receipt. The unit joins your fleet, keeping its serial number, type and group, and shows both the company that owns it and the company that holds it now. The sending company's unit is retired as Transferred-Out.

Inbound Posting decides when the sender's unit is retired. Immediate retires it the moment the receipt arrives, in the same transaction, under the connected application's identity (which is why that application needs fleet-write rights in the sending company). Deferred marks the line and lets the sending company's own background sync retire it, so the other environment never writes your fleet. Immediate is the more responsive; Deferred is the tighter on permissions.

Cancelling and rejecting

A request can be cancelled while it is still Requested, before the source has fulfilled it, and the cancellation is carried to the source so it does not keep the request live. The source can reject a request it cannot meet, and the rejection is carried back to you. A shipment can never quietly revive a line that has been cancelled or rejected.

Delivery and the Outbox

Cross-environment messages do not depend on a scheduled job to go out. They are sent when you post, when you open a Global Equipment page, and on demand from the Global Equipment Outbox with Send pending now. A message that fails for a fixable reason, such as a wrong secret or a missing permission, is parked as Rejected for you to resend once the cause is sorted, rather than being retried forever. Nothing is lost if a connection is briefly unreachable; the queued message waits and resumes.

For a hands-off setup, use Schedule Background Sync from the connections list. It sets up a single background job that pulls stock positions from every enabled connection on a regular cadence, and any queued transfers ride along with each pull. One schedule covers all connections; you do not schedule per connection.

Role Centre cues

When Global Equipment is switched on, the Essential Rental Role Centre shows three activity tiles: how many transfers are waiting for you to fulfil, how many units are on their way to you, and how many of your requests are still open. They are hidden on a company that does not use Global Equipment.

Troubleshooting

Common issues
Test Connection fails
Check the tenant ID, environment name and company are right, that the client secret is current, and that admin consent was granted for the app in Azure and a permission set assigned in the target Business Central. The reply must be an Essential Rental handshake, so Essential Rental must be installed and switched on in the target environment.
A connected company shows nothing
The far company must have Externally Visible switched on and must have been reconciled at least once. An un-reconciled hub serves an empty feed. Run Reconcile Now there, then Pull Now here.
A message is stuck as Rejected
A permanent failure (a wrong secret, a revoked consent, a missing permission) parks the message as Rejected rather than retrying it forever. Fix the cause, then use Send pending now on the Outbox to resend. Nothing is lost while it waits.
A unit is stuck In-Transit after a link is lost
A unit shipped but not yet received stays owned by and visible to the sending company; it does not leave the fleet until receipt is confirmed. If the far environment is only briefly unreachable, restoring the link and resending completes the transfer. A one-click recall of an already-shipped unit for a permanently severed link is a planned enhancement.

Related pages