The most common question we get from Business Central customers is some version of “can SmartConnect integrate this?” The short answer has always been yes, as long as there is an API. The longer answer used to end with “but you may need a developer.”
That longer answer has changed. eOne now publishes eOne Integration for Business Central, an extension on AppSource that more than 150 API endpoints built specifically for SmartConnect. This update explains what SmartConnect can reach with standard Business Central, what the extension adds, and includes a complete matrix of every endpoint so you can check your integration before you start.
If you are new to Business Central APIs, start with Introduction to D365 Business Central APIs.
Understanding Dynamics 365 Business Central Object Types
Business Central exposes data through four object types. SmartConnect can work with all of them, but they behave differently:
| Type | Strength | Weaknesses |
| Pages | Every modification and custom field is available. | Slow, and the page logic can behave unpredictably through an API. |
| API Pages | The best performance for writing data. | Someone has to build them. |
| Queries | The best performance for reading data. | Read only, and someone has to build them. |
| Codeunits | Run complex business logic. | Very little comes back to the caller over REST. |
How SmartConnect Connects
SmartConnect can connect to Dynamics 365 Business Central through either a User Impersonation (OAuth 2.0) or Basic Authentication (On-premise deployments). Once authenticated, a single connection provides access to all companies within the D365 Business Central tenant.
A single D365 Business Central connection can be used to import into all three API types:
- OData v4 APIs – Ideal for non-developers to access all the fields they use.
- Standard API v2.0 – Optimized for high-performance, simplified data access.
- Custom APIs – Designed for extended functionality beyond the standard API set.
This flexibility ensures you can select the best API type for your specific integration needs while maintaining a quick and simple setup.
SmartConnect can connect to D365 Business Central through Queries, Pages, and API Pages:
- Queries & some pages (e.g., Posted Invoices) provide read-only access.
- Pages supporting create and update operations can be selected as integration destinations.
By leveraging all three APIs, SmartConnect ensures customizable and efficient integration with D365 Business Central.
What the eOne Integration Extension Adds
Everything SmartConnect needs to integrate Business Central end to end, with no custom development.
Your keys, not BC numbers
- Integration Id on 43 tables
- Look up customers, items and locations by your ID
- Follows orders onto posted documents
- Migration tool for existing keys
Full document lifecycle
- Quotes, orders, invoices, returns
- Release, post, ship and invoice
- Addresses and deferrals on every document
Archive & cancel
- Versioned document snapshots
- Cancel without losing the record
- Full archive history
Inventory & item tracking
- Serial, lot and package numbers
- Bin codes on every line
- Stock counts and adjustments
- Live availability by location
Warehouse & shipping
- Create and post warehouse documents
- Tracking numbers and freight
- Delivery loads and route stops
- Return labels
Payments without documents
- Customer and vendor payments
- Invoices, credit memos, refunds
- Employee expenses and deposits
- Review, draft or auto-post
Pricing
- Price lists and lines
- Legacy sales prices and discounts
Attachments & dimensions
- Files by Base64 or URL
- Notes on any record
- All 8 shortcut dimensions, flat
Know what changed
- Realtime triggers
- Named document events
- Invoice-paid alerts
- Posted history and ledgers
Easy to run
- Per-company feature switches
- Assisted setup wizard
- Ready-made permission sets
Every eOne Integration Endpoint
| Endpoint | Read | Create | Update | Delete | Integ. Id | Notes |
|---|---|---|---|---|---|---|
| Sales Quotes, orders, blanket orders, invoices, credit memos and returns, from open to posted and archived. | ||||||
| Sales Quotes salesQuotes | ✓ | ✓ | ✓ | ✓ | ✓ | Actions: Archive, Cancel, Release, Reopen, Make Order |
| ↳ Sales Quote Lines salesQuoteLines | ✓ | ✓ | ✓ | ✓ | ✓ | Deferrals, bin code, and item and location by Integration Id. |
| Sales Orders salesOrders | ✓ | ✓ | ✓ | ✓ | ✓ | Ship-to, bill-to and sell-to addresses on the header. Actions: Archive, Cancel, Release, Reopen, Ship and Invoice, Create Warehouse Shipment, Mark Shipped, Add Freight Charge, Create Delivery Load Warehouse actions need the Warehouse Posting feature |
| ↳ Sales Order Lines salesOrderLines | ✓ | ✓ | ✓ | ✓ | ✓ | Deferrals, bin code, item tracking, and item and location by Integration Id. |
| Sales Blanket Orders salesBlanketOrders | ✓ | ✓ | ✓ | ✓ | ✓ | Actions: Archive, Cancel, Release, Reopen, Make Order |
| ↳ Sales Blanket Order Lines salesBlanketOrderLines | ✓ | ✓ | ✓ | ✓ | ✓ | Deferrals, bin code, and item and location by Integration Id. |
| Sales Invoices salesInvoices | ✓ | ✓ | ✓ | ✓ | ✓ | Actions: Archive, Cancel, Release, Reopen, Post |
| ↳ Sales Invoice Lines salesInvoiceLines | ✓ | ✓ | ✓ | ✓ | ✓ | Deferrals, bin code, and item and location by Integration Id. |
| Sales Credit Memos salesCreditMemos | ✓ | ✓ | ✓ | ✓ | ✓ | Actions: Archive, Cancel, Release, Reopen, Post |
| ↳ Sales Credit Memo Lines salesCreditMemoLines | ✓ | ✓ | ✓ | ✓ | ✓ | Deferrals, bin code, and item and location by Integration Id. |
| Sales Return Orders salesReturnOrders | ✓ | ✓ | ✓ | ✓ | ✓ | Actions: Archive, Cancel, Release, Reopen, Receive and Invoice, Update Return Tracking, Attach Return Label, Create Pickup Load |
| ↳ Sales Return Order Lines salesReturnOrderLines | ✓ | ✓ | ✓ | ✓ | ✓ | Deferrals, bin code, item tracking, and item and location by Integration Id. |
| Sales Shipments salesShipments | ✓ | ✓ | Actions: Update Tracking | |||
| ↳ Sales Shipment Lines salesShipmentLines | ✓ | ✓ | ||||
| Posted Sales Invoices postedSalesInvoices | ✓ | ✓ | ||||
| ↳ Posted Sales Invoice Lines postedSalesInvoiceLines | ✓ | ✓ | ||||
| ↳ Posted Sales Invoice Tracking Lines postedSalesInvoiceTrackingLines | ✓ | ✓ | Serial and lot numbers that were invoiced. | |||
| Posted Sales Credit Memos postedSalesCreditMemos | ✓ | ✓ | ||||
| ↳ Posted Sales Credit Memo Lines postedSalesCreditMemoLines | ✓ | ✓ | ||||
| Return Receipts returnReceipts | ✓ | ✓ | ||||
| ↳ Return Receipt Lines returnReceiptLines | ✓ | ✓ | ||||
| Sales Shipments (query) salesShipmentsQuery | ✓ | |||||
| Sales Credit Memos (query) salesCreditMemosQuery | ✓ | |||||
| Archived Sales Documents (query) archivedSalesDocumentsQuery | ✓ | Every archived and cancelled quote, order and return, with version number. | ||||
| Purchasing The same document set on the purchase side. | ||||||
| Purchase Quotes purchaseQuotes | ✓ | ✓ | ✓ | ✓ | ✓ | Actions: Archive, Cancel, Release, Reopen, Make Order |
| ↳ Purchase Quote Lines purchaseQuoteLines | ✓ | ✓ | ✓ | ✓ | ✓ | Deferrals, bin code, and item and location by Integration Id. |
| Purchase Orders purchaseOrders | ✓ | ✓ | ✓ | ✓ | ✓ | Actions: Archive, Cancel, Release, Reopen, Receive and Invoice, Create Warehouse Receipt Warehouse actions need the Warehouse Posting feature |
| ↳ Purchase Order Lines purchaseOrderLines | ✓ | ✓ | ✓ | ✓ | ✓ | Deferrals, bin code, item tracking, and item and location by Integration Id. |
| Purchase Blanket Orders purchaseBlanketOrders | ✓ | ✓ | ✓ | ✓ | ✓ | Actions: Archive, Cancel, Release, Reopen, Make Order |
| ↳ Purchase Blanket Order Lines purchaseBlanketOrderLines | ✓ | ✓ | ✓ | ✓ | ✓ | Deferrals, bin code, and item and location by Integration Id. |
| Purchase Invoices purchaseInvoices | ✓ | ✓ | ✓ | ✓ | ✓ | Actions: Archive, Cancel, Release, Reopen, Post |
| ↳ Purchase Invoice Lines purchaseInvoiceLines | ✓ | ✓ | ✓ | ✓ | ✓ | Deferrals, bin code, and item and location by Integration Id. |
| Purchase Credit Memos purchaseCreditMemos | ✓ | ✓ | ✓ | ✓ | ✓ | Actions: Archive, Cancel, Release, Reopen, Post |
| ↳ Purchase Credit Memo Lines purchaseCreditMemoLines | ✓ | ✓ | ✓ | ✓ | ✓ | Deferrals, bin code, and item and location by Integration Id. |
| Purchase Return Orders purchaseReturnOrders | ✓ | ✓ | ✓ | ✓ | ✓ | Actions: Archive, Cancel, Release, Reopen, Post |
| ↳ Purchase Return Order Lines purchaseReturnOrderLines | ✓ | ✓ | ✓ | ✓ | ✓ | Deferrals, bin code, item tracking, and item and location by Integration Id. |
| Purchase Receipts purchaseReceipts | ✓ | ✓ | ||||
| ↳ Purchase Receipt Lines purchaseReceiptLines | ✓ | ✓ | ||||
| Posted Purchase Invoices postedPurchaseInvoices | ✓ | ✓ | ||||
| ↳ Posted Purchase Invoice Lines postedPurchaseInvoiceLines | ✓ | ✓ | ||||
| ↳ Posted Purchase Invoice Tracking Lines postedPurchaseInvoiceTrackingLines | ✓ | ✓ | Serial and lot numbers that were invoiced. | |||
| Posted Purchase Credit Memos postedPurchaseCreditMemos | ✓ | ✓ | ||||
| ↳ Posted Purchase Credit Memo Lines postedPurchaseCreditMemoLines | ✓ | ✓ | ||||
| Return Shipments returnShipments | ✓ | ✓ | ||||
| ↳ Return Shipment Lines returnShipmentLines | ✓ | ✓ | ||||
| Purchase Receipts (query) purchaseReceiptsQuery | ✓ | |||||
| Purchase Credit Memos (query) purchaseCreditMemosQuery | ✓ | |||||
| Archived Purchase Documents (query) archivedPurchaseDocumentsQuery | ✓ | Every archived and cancelled quote, order and return, with version number. | ||||
| Customers & Receivables Customer master data and the ledger documents that post straight to the customer account. | ||||||
| Customers customers | ✓ | ✓ | ✓ | ✓ | ✓ | All 8 shortcut dimensions as flat columns. Ship-to addresses and attachments as child collections. |
| Ship-to Addresses shipToAddresses | ✓ | ✓ | ✓ | ✓ | ✓ | Ship-to code is assigned automatically when SmartConnect leaves it blank. |
| Contact Persons contactPersons | ✓ | ✓ | ✓ | ✓ | ✓ | Contacts linked to a customer or vendor. Actions: Set as Primary Contact |
| Customer Salesperson salesperson | ✓ | ✓ | The salesperson on a customer. | |||
| Salespersons/Purchasers salespersonPurchasers | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Customer Invoices customerInvoices | ✓ | ✓ | ✓ | ✓ | ✓ | Posts through a general journal. No sales document or item needed. Actions: Validate, Process, Post, Reopen Feature: Ledger Documents |
| Customer Credit Memos customerCreditMemos | ✓ | ✓ | ✓ | ✓ | ✓ | Posts through a general journal. No sales document or item needed. Actions: Validate, Process, Post, Reopen Feature: Ledger Documents |
| Customer Payments customerPayments | ✓ | ✓ | ✓ | ✓ | ✓ | Applies to one or more open invoices. Actions: Validate, Process, Post, Reopen Feature: Ledger Documents |
| Customer Refunds customerRefunds | ✓ | ✓ | ✓ | ✓ | ✓ | Applies to open credit memos and payments. Actions: Validate, Process, Post, Reopen Feature: Ledger Documents |
| ↳ Customer Payment Applications customerPaymentApplications | ✓ | ✓ | ✓ | ✓ | ✓ | The invoices a payment applies to. Feature: Ledger Documents |
| Posted Customer Invoices postedCustomerInvoices | ✓ | ✓ | ||||
| Posted Customer Credit Memos postedCustomerCreditMemos | ✓ | ✓ | ||||
| Posted Customer Payments postedCustomerPayments | ✓ | ✓ | ||||
| Posted Customer Refunds postedCustomerRefunds | ✓ | ✓ | ||||
| Customer Ledger Entries custLedgerEntries | ✓ | |||||
| Detailed Customer Ledger Entries detailedCustLedgerEntries | ✓ | |||||
| Customer Payments (query) customerPaymentsQuery | ✓ | |||||
| Customer Posting Groups customerPostingGroups | ✓ | |||||
| Vendors & Payables Vendor master data and the ledger documents that post straight to the vendor account. | ||||||
| Vendors vendors | ✓ | ✓ | ✓ | ✓ | ✓ | All 8 shortcut dimensions as flat columns. |
| Vendor Invoices vendorInvoices | ✓ | ✓ | ✓ | ✓ | ✓ | Posts through a general journal. No purchase document or item needed. Actions: Validate, Process, Post, Reopen Feature: Ledger Documents |
| Vendor Credit Memos vendorCreditMemos | ✓ | ✓ | ✓ | ✓ | ✓ | Posts through a general journal. No purchase document or item needed. Actions: Validate, Process, Post, Reopen Feature: Ledger Documents |
| Vendor Payments vendorPayments | ✓ | ✓ | ✓ | ✓ | ✓ | Applies to one or more open invoices. Actions: Validate, Process, Post, Reopen Feature: Ledger Documents |
| Vendor Refunds vendorRefunds | ✓ | ✓ | ✓ | ✓ | ✓ | Applies to open credit memos and payments. Actions: Validate, Process, Post, Reopen Feature: Ledger Documents |
| ↳ Vendor Payment Applications vendorPaymentApplications | ✓ | ✓ | ✓ | ✓ | ✓ | The invoices a payment applies to. Feature: Ledger Documents |
| Posted Vendor Invoices postedVendorInvoices | ✓ | ✓ | ||||
| Posted Vendor Credit Memos postedVendorCreditMemos | ✓ | ✓ | ||||
| Posted Vendor Payments postedVendorPayments | ✓ | ✓ | ||||
| Posted Vendor Refunds postedVendorRefunds | ✓ | ✓ | ||||
| Vendor Ledger Entries vendorLedgerEntries | ✓ | |||||
| Detailed Vendor Ledger Entries detailedVendorLedgerEntries | ✓ | |||||
| Vendor Payments (query) vendorPaymentsQuery | ✓ | |||||
| Vendor Posting Groups vendorPostingGroups | ✓ | |||||
| Employees & Expenses Expense reports and reimbursements for employees. | ||||||
| Employees employees | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Expenses expenses | ✓ | ✓ | ✓ | ✓ | ✓ | Employee expense reports, posted to the employee account. Actions: Validate, Process, Post, Reopen Feature: Expenses |
| ↳ Expense Lines expenseLines | ✓ | ✓ | ✓ | ✓ | ✓ | Feature: Expenses |
| Employee Payments employeePayments | ✓ | ✓ | ✓ | ✓ | ✓ | Actions: Validate, Process, Post, Reopen Feature: Ledger Documents |
| ↳ Employee Payment Applications employeePaymentApplications | ✓ | ✓ | ✓ | ✓ | ✓ | The expenses a payment applies to. Feature: Ledger Documents |
| Posted Employee Payments postedEmployeePayments | ✓ | ✓ | ||||
| Cash & Bank Deposits and bank or G/L entries that have no customer or vendor. | ||||||
| Deposits deposits | ✓ | ✓ | ✓ | ✓ | ✓ | Groups customer payments into one bank deposit. Actions: Validate, Process, Post Feature: Ledger Documents |
| ↳ Deposit Applications depositApplications | ✓ | ✓ | ✓ | ✓ | ✓ | Feature: Ledger Documents |
| Bank G/L Entries bankGLEntries | ✓ | ✓ | ✓ | ✓ | ✓ | Bank fees, interest, accruals and adjustments with no customer or vendor. Actions: Validate, Process, Post, Reopen Feature: Bank / G/L Entries |
| ↳ Bank G/L Entry Lines bankGLEntryLines | ✓ | ✓ | ✓ | ✓ | ✓ | Feature: Bank / G/L Entries |
| Distributions distributions | ✓ | ✓ | ✓ | ✓ | ✓ | G/L account lines with dimensions, shared by all ledger documents. Feature: Ledger Documents |
| Posted Document Applications postedDocApplications | ✓ | What each posted payment or refund was applied to. | ||||
| Processed Documents processedDocuments | ✓ | ✓ | The outcome of every staged document, including the posted document number. | |||
| General Ledger Journals, entries, dimensions and the reference data every financial map needs. | ||||||
| Journals journals | ✓ | ✓ | ✓ | ✓ | Writes general journal lines directly, then posts the batch. Actions: Post Feature: Raw Journals | |
| ↳ Journal Lines journalLines | ✓ | ✓ | ✓ | ✓ | ✓ | All 8 shortcut dimensions as flat columns. Feature: Raw Journals |
| General Ledger Entries generalLedgerEntries | ✓ | ✓ | Integration Id carried from the source document. | |||
| G/L Accounts glAccounts | ✓ | |||||
| Fiscal Periods fiscalPeriods | ✓ | |||||
| Dimensions dimensions | ✓ | ✓ | ||||
| Dimension Values dimensionValues | ✓ | ✓ | ✓ | ✓ | ||
| Dimension Set Entries dimensionSetEntries | ✓ | |||||
| Dimension Set Lines dimensionSetLines | ✓ | ✓ | ✓ | ✓ | Dimensions beyond the 8 shortcut dimensions on any line. | |
| VAT Entries vatEntries | ✓ | |||||
| VAT Posting Setup vatPostingSetup | ✓ | |||||
| Gen. Business Posting Groups genBusinessPostingGroups | ✓ | |||||
| Gen. Product Posting Groups genProductPostingGroups | ✓ | |||||
| Currencies currencies | ✓ | |||||
| Currency Exchange Rates currencyExchangeRates | ✓ | |||||
| Payment Terms paymentTerms | ✓ | |||||
| Payment Methods paymentMethods | ✓ | |||||
| Inventory Items and everything hanging off them, plus stock adjustments and availability. | ||||||
| Items items | ✓ | ✓ | ✓ | ✓ | ✓ | All 8 shortcut dimensions as flat columns. Attributes, variants, references, units of measure and prices as child collections. |
| Item Variants variants | ✓ | |||||
| Item References itemReferences | ✓ | |||||
| Item Units of Measure itemUnitsOfMeasure | ✓ | |||||
| Units of Measure unitsOfMeasure | ✓ | |||||
| Item Attributes itemAttributes | ✓ | Attribute name, value and unit as flat columns. | ||||
| Stockkeeping Units stockkeepingUnits | ✓ | |||||
| Item Tracking Lines itemTrackingLines | ✓ | ✓ | ✓ | ✓ | Serial, lot and package numbers on open order, return and transfer lines. | |
| Inventory Adjustments inventoryAdjustments | ✓ | ✓ | ✓ | ✓ | ✓ | Count mode sets the quantity on hand. Increment mode adds or removes stock. Actions: Validate, Process, Post Feature: Inventory Adjustments |
| ↳ Adjustment Lines inventoryAdjustmentLines | ✓ | ✓ | ✓ | ✓ | ✓ | Feature: Inventory Adjustments |
| Item Availability itemInventoryAvailabilities | ✓ | Available quantity by item and location, kept current in the background. Feature: Item Availability | ||||
| Item Availability by Location (query) itemAvailabilitiesByLocationQuery | ✓ | Available quantity by item and location, kept current in the background. Feature: Item Availability | ||||
| Inventory Levels by Location (query) itemInventoryLevelQuantitiesByLocationQuery | ✓ | |||||
| Item Ledger Entries itemLedgerEntries | ✓ | ✓ | ||||
| Value Entries valueEntries | ✓ | |||||
| Inventory Posting Groups inventoryPostingGroups | ✓ | |||||
| Pricing Both the current price list model and legacy sales prices. | ||||||
| Price List Headers priceListHeaders | ✓ | ✓ | ✓ | ✓ | Price lists with their lines as a child collection. | |
| Price List Lines priceListLines | ✓ | ✓ | ✓ | ✓ | Item by Integration Id. Line number assigned automatically. | |
| Sales Prices salesPrices | ✓ | ✓ | ✓ | ✓ | Legacy pricing, when the new pricing experience is off. | |
| Sales Line Discounts salesLineDiscounts | ✓ | ✓ | ✓ | ✓ | Legacy pricing, when the new pricing experience is off. | |
| Locations, Warehouse & Shipping Locations and bins, warehouse shipments and receipts, and carrier reference data. | ||||||
| Locations locations | ✓ | ✓ | ✓ | ✓ | ✓ | Bins as a child collection. |
| Bins bins | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Warehouse Shipments warehouseShipments | ✓ | ✓ | Created from a released sales order with the Create Warehouse Shipment action. Actions: Post Warehouse actions need the Warehouse Posting feature | |||
| ↳ Warehouse Shipment Lines warehouseShipmentLines | ✓ | |||||
| Warehouse Receipts warehouseReceipts | ✓ | ✓ | Created from a released purchase order with the Create Warehouse Receipt action. Actions: Post Warehouse actions need the Warehouse Posting feature | |||
| ↳ Warehouse Receipt Lines warehouseReceiptLines | ✓ | |||||
| Route Stops routeStops | ✓ | ✓ | ✓ | ✓ | Delivery stops for a load, for route planning systems. | |
| Shipment Methods shipmentMethods | ✓ | |||||
| Shipping Agents shippingAgents | ✓ | |||||
| Shipping Agent Services shippingAgentServices | ✓ | |||||
| Transfers Moving stock between locations. | ||||||
| Transfer Orders transferOrders | ✓ | ✓ | ✓ | ✓ | ✓ | Transfer-from and transfer-to locations by code or Integration Id. Actions: Ship, Receive, Release, Reopen |
| ↳ Transfer Order Lines transferOrderLines | ✓ | ✓ | ✓ | ✓ | ✓ | Bin codes and item tracking. |
| Transfer Shipments (query) transferShipmentsQuery | ✓ | |||||
| Transfer Receipts (query) transferReceiptsQuery | ✓ | |||||
| Shared Endpoints that work across every area above. | ||||||
| Document Attachments documentAttachments | ✓ | ✓ | ✓ | Attach a file to a customer, vendor, item or document by its Integration Id. Send the file as Base64 or a public URL. | ||
| Record Notes notes | ✓ | ✓ | ✓ | ✓ | ✓ | Notes on any record SmartConnect can attach files to. |
| Document Events documentEvents | ✓ | ✓ | Released, reopened, posted, archived and cancelled events. Ideal for incremental loads. Feature: Document Events | |||
| Change Log Entries changeLogEntries | ✓ | Field-level changes, when the BC change log is on. | ||||
| eOne Setup Read the extension’s own configuration. | ||||||
| Integration Setup integrationSetups | ✓ | Read which features are turned on in this company. | ||||
| Endpoint Setups endpointSetups | ✓ | Read how each document type is processed. | ||||
| Document Archive Settings documentArchiveSettings | ✓ | |||||
Extending the Endpoints
Have your own custom fields? Add a companion API next to the eOne endpoint, and SmartConnect lines the two up by Integration Id.
Why a companion API? Business Central doesn’t allow extensions to add columns to an API page, including Microsoft’s own. A companion API is the supported way, and eOne updates never touch it. See Extending the endpoints for the developer guide.
FAQ
Yes. SmartConnect supports the Business Central v2 APIs either through the ODataV4 or the Standard API endpoints.
Yes. SmartConnect supports custom APIs created through App Source apps or Per Tenant Extensions (PTE).
Yes. SmartConnect works with the on-premises version of Business Central through both the ODataV4 and API endpoints.
How Can You Start Integrating with SmartConnect?
Reach out to the eOne Team. We are happy to discuss your scenarios and help build your integration plan. Contact our team to get started.