# Connect Microsoft Dynamics 365 Business Central to Starshipit
URL: https://support.starshipit.com/articles/12093647173647-connect-microsoft-dynamics-365-business-central-to-starshipit
Canonical: https://support.starshipit.com/articles/12093647173647-connect-microsoft-dynamics-365-business-central-to-starshipit
Markdown: https://support.starshipit.com/articles/12093647173647-connect-microsoft-dynamics-365-business-central-to-starshipit.md
Updated: 2026-08-07

> For the complete documentation index, see [llms.txt](https://support.starshipit.com/llms.txt).

> Connect Microsoft Dynamics 365 Business Central to import sales documents and write back tracking information.

Connect Starshipit to Microsoft Dynamics 365 Business Central to import sales orders or sales invoices and write back package tracking information.

:::important
This connector is specifically for **Microsoft Dynamics 365 Business Central**. It does not connect Starshipit to every product in the Dynamics 365 suite.
:::

## Before you begin

You need:

- A Microsoft Dynamics 365 Business Central account with admin access to authorise Starshipit.
- An environment and company in Business Central to import from.
- The [Starshipit Integration extension from Microsoft AppSource](https://marketplace.microsoft.com/en-us/product/dynamics-365-business-central/PUBID.shipitlimited1742346367585%7CAID.starshipit%7CPAPPID.37578f37-5111-40bc-ac9f-744211f27790) if you want tracking-number writeback. The extension is not used to import orders.

## Connect Business Central

1. In Starshipit, go to **Settings > Integrations**.
2. Select **Add a new integration**, then select **D365BC**.
3. Turn on **Enable Dynamics 365 Business Central**.
4. Select **Authorize**, then sign in with a Microsoft account that can approve access to Business Central.
5. Select the Business Central **Environment** and **Company** to import from.
6. Select an **Import Type**, **Bound Action**, and **Status**.
7. Select **Save**.
8. Go to your orders and select **Fetch latest orders** to test the import.

After the enabled integration is saved, Starshipit also imports matching documents automatically.

## Choose what to import

| Setting | Available options | How it works |
| --- | --- | --- |
| **Import Type** | **Sales Order**, **Sales Invoice** | Selects the standard Business Central API document to import. **Sales Order** is the default. |
| **Status** | **DRAFT**, **OPEN** | Filters the status returned by the Business Central API. **DRAFT** is the default. |
| **Bound Action** for Sales Order | **NONE**, **SHIPANDINVOICE** | After tracking writeback, **SHIPANDINVOICE** asks Business Central to ship and invoice the order. **NONE** is the default. |
| **Bound Action** for Sales Invoice | **NONE**, **POST**, **POSTANDSEND**, **SEND** | After tracking writeback, the selected action asks Business Central to process the invoice. **NONE** is the default. |

## Import released sales orders

Business Central uses different labels for document status in its UI and its standard API:

| Business Central UI status | Standard API status | Starshipit **Status** |
| --- | --- | --- |
| **Open** | `Draft` | **DRAFT** |
| **Pending Approval** | `In Review` | Not available as a Starshipit status option |
| **Released** | `Open` | **OPEN** |
| **Pending Prepayment** | `Open` | **OPEN** |

To import released sales orders, select **Sales Order** as the **Import Type** and **OPEN** as the **Status**.

:::important
Microsoft's standard API maps both **Released** and **Pending Prepayment** sales orders to API status `Open`. Starshipit's native status filter cannot import only **Released** while excluding **Pending Prepayment**. If you need that distinction, you need a custom integration or product change.
:::

## Understand how imports and writeback work

Starshipit imports documents through Microsoft's standard [Business Central API v2.0 sales order](https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/resources/dynamics_salesorder) and [sales invoice](https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/resources/dynamics_salesinvoice) endpoints. The Starshipit Integration extension does not provide an order-import endpoint.

The extension provides a separate endpoint for tracking writeback. When an imported document is fulfilled in Starshipit, Starshipit sends the first package's tracking number to Business Central's **Package Tracking No.** field. If you selected a bound action other than **NONE**, Starshipit then calls that standard Business Central action.

Tracking writeback supports only:

- Sales Orders.
- Draft Sales Invoices.

## Check the destination address mapping

Starshipit maps the destination directly from the imported document's Ship-to fields:

| Starshipit destination field | Business Central API field or rule |
| --- | --- |
| Recipient | `shipToName`; if empty, `shipToContact`; if empty, `customerName` |
| Company | `shipToName` when `shipToContact` is also present and is different from `shipToName`; otherwise blank |
| Street | `shipToAddressLine1` |
| Building / address line 2 | `shipToAddressLine2` |
| Suburb | `shipToAddressLine2`; if empty, `shipToCity` |
| City | `shipToCity` |
| State | `shipToState` |
| Country | `shipToCountry` |
| Postcode | `shipToPostCode` |
| Phone | Order-level `phoneNumber` |
| Email | Order-level `email` |

Street and address values therefore come from the sales order's **Ship-to** fields. Starshipit does not perform a separate customer-card address lookup during import.

There is no configurable address-source selector. Using Sell-to, Bill-to, or custom fields requires customisation.

## Verify released-order and Ship-to imports

Use a small test before relying on automatic imports:

1. In Starshipit, configure **Import Type** as **Sales Order**, **Status** as **OPEN**, and **Bound Action** as **NONE**.
2. In the selected Business Central company, create two recent sales orders with unique order numbers.
3. Leave one sales order with the Business Central UI status **Open**.
4. Override the other sales order's **Ship-to** address so it differs from the customer card, then release that order.
5. In Starshipit, select **Fetch latest orders**.
6. Confirm that the released order imports and the unreleased order does not.
7. Open the imported order and confirm that its destination matches the overridden **Ship-to** address.

If a **Pending Prepayment** order also imports, this is expected because the standard API reports it as `Open`.

## Troubleshooting

If the expected order does not import:

- Confirm the integration is enabled and authorised.
- Confirm you selected the environment and company containing the order.
- For a released sales order, confirm **Import Type** is **Sales Order** and **Status** is **OPEN**.
- Fetch the latest orders again after changing or releasing the order.
- Check the order's Ship-to fields in Business Central if the destination is unexpected.

If tracking does not write back, confirm the Starshipit Integration extension is installed and that the imported document is a Sales Order or Draft Sales Invoice.
