External Inventory

External Inventory shows item availability from external warehouses, logistics provider systems, and vendors in Business Central.

The module imports data into Business Central so users can check quantity, lot number, and pallet number while working with a document, without signing in to another system.

❓ How it works

An external system sends entries through the standard OData v4 interface. Entries are available on the N24I | External Inventory page.

When an entry contains an Item No. matching the item in a document, its data is also available in Multi-Company Inventory results. The result includes the Vendor, External Item No., Quantity, Lot No., and Pallet No..

Use the module for inventory in external warehouses, logistics provider systems, and at vendors. It also supports dropshipments, where the vendor ships directly to the customer.

🔗 Integration URL

https://api.businesscentral.dynamics.com/v2.0/{tenantId}/{environment}/api/nav24/advancedInventory/v1.0/companies({companyId})/externalInventoryEntries
Parameter Value
Publisher nav24
Group advancedInventory
Version v1.0
Entity externalInventoryEntries
OData Key systemId

📋 Entry fields

Field Type Description
systemId GUID Entry identifier used as the OData key; read-only.
entryNo Integer Entry number; assigned automatically and read-only.
vendorNo Code[20] Vendor number; it does not need to exist in Business Central.
vendorName Text[100] Vendor name.
itemNo Code[20] Item number; it does not need to exist in Business Central.
itemDescription Text[250] Item description.
externalItemNo Code[50] Vendor's external item number.
lotNo Code[50] Vendor's lot number.
palletNo Code[50] Vendor's pallet number.
quantity Decimal Quantity available at the vendor.
Note

If you provide a Lot No. but no Item No., Business Central fills in the item when lot information for that lot is created or changed.

⚡ Supported operations

Operation HTTP Method Description
Read all entries GET Returns a list of entries.
Read single entry GET .../({systemId}) Returns one entry.
Add entry POST Creates a new entry.
Update entry PATCH .../({systemId}) Updates an existing entry.
Delete entry DELETE .../({systemId}) Deletes an entry.

For PATCH and DELETE operations, use the If-Match header with the @odata.etag value returned by the API.

💡 Examples and scenarios

Scenario: Inventory in an external warehouse

Need: A company outsources warehouse operations to an external warehouse. It creates orders in Business Central, but current inventory, storage location, and pallet number are available only in the operator's system.

Configuration:

  1. Prepare an integration that periodically retrieves data from the operator's system and sends it to Business Central.
  2. Send at least Item No. and Quantity for each entry, together with Lot No. and Pallet No. when available.
  3. Open a document line for the item and review the results in the N24I | MultiCompany Items section.

Result: The user can see the current quantity in the external warehouse while working with a document, without signing in to the operator's system or contacting the warehouse to confirm availability.

🛡️ Operation rules

  • Fields vendorNo and itemNo are not validated against Business Central master data, so vendors can use their own identifiers.
  • You can send vendorName and itemDescription. If either is empty and the relevant vendorNo or itemNo exists in Business Central, the system fills in the vendor name or item description.
  • Field entryNo is assigned automatically and is read-only. Use systemId to address a single entry.