Introduction
Getting started
With Business Central you can create Connect apps. Connect apps establish a point-to-point connection between Dynamics 365 Business Central and a 3rd party solution or service and is typically created using standard REST API to interchange data. Any coding language capable of calling REST APIs can be used to develop your Connect app. For more information to get started with Connect apps, see Developing Connect Apps for Dynamics 365 Business Central.
Terms of service
Before you start using the Business Central APIs, please familiarize yourself with the Microsoft APIs Terms of Use.
For more information please look into API v2.0 overview by Microsoft.
Http Request
Replace the URL prefix for Business Central depending on environment following the guideline.
| Header | Value |
|---|---|
| Authorization | Bearer {token}. Required. |
| Content-Type | application/json |
| If-Match | Required for PATCH/PUT. When this request header is included and the eTag provided does not match the current tag on the record, the record will not be updated. |
Http Request Structure
URL: https://api.businesscentral.dynamics.com/v2.0/{{Tenant}}/{{EnvironmentName}}/api/softera/softeraEInvoice/{{APIVersion}}/companies({{CompanyId}})/{{Endpoint}}
Structure
| Header | Value |
|---|---|
| https://api.businesscentral.dynamics.com/v2.0/ | URL base |
| {{Tenant}} | Tenant ID |
| {{EnvironmentName}} | Name of the environment |
| softera/softeraEInvoice | E-Invoice API group name |
| {{APIVersion}} | API version, current API version „v2.0“ |
| companies({{CompanyId}}) | {{CompanyId}} id of the selected company retrieved from the Companies endpoint |
| {{Endpoint}} | Endpoint name |
Performance recommendations
- Use
$expandto create a master record together with related data (e.g. a customer withdefaultDimensions, or a sales invoice with its lines) in a single request, instead of separate calls. - Use
$batchwhen creating or updating many records at once (e.g. importing journal lines) — Business Central allows up to 100 operations per $batch request. See API Process for a worked example and details on partial failures within a batch. - Watch your request rate. If you're processing high volumes see Operational limits for Business Central online for the full, current list of limits.
E-Invoice API's
Latest API documentation's postman collection
Here you can find a Postman collection with possible examples for requests:
Softera.E-Invoice API v102.4.postman_collection.zip
API List
Master data
| API | Description |
|---|---|
| customer | Create and manage customer records. |
| vendor | Create and manage vendor records. |
| vendorBankAccount | Bank accounts linked to a vendor. |
| dimension | Dimension codes used for analysis (e.g. department, project). |
| dimensionValue | Values available for a given dimension. |
| item | Item (product) master records. |
| vatPostingSetup | VAT posting group combinations used for tax calculation. |
| deferralTemplate | Deferral templates used to spread revenue/expense recognition over periods. |
| userSetup | User-specific setup and permissions. |
Sales documents
| API | Description |
|---|---|
| salesOrder | Create and manage sales orders. |
| salesOrderLine | Lines of a sales order. |
| salesInvoice | Create and manage sales invoices. |
| salesInvoiceLine | Lines of a sales invoice. |
| salesCreditMemo | Create and manage sales credit memos. |
| salesCreditMemoLine | Lines of a sales credit memo. |
| customerLedgerEntries | Posted customer ledger entries. |
| appliedCustomerEntries | Application records between customer entries. |
Purchase documents
| API | Description |
|---|---|
| purchaseInvoice | Create and manage purchase invoices. |
| purchaseInvoiceLine | Lines of a purchase invoice. |
| purchaseCreditMemo | Create and manage purchase credit memos. |
| purchaseCreditMemoLine | Lines of a purchase credit memo. |
Journals
| API | Description |
|---|---|
| journal | General journal batches. |
| journalLine | Lines of a general journal — supports `$batch` for bulk posting. |
Other
| API | Description |
|---|---|
| transferOrder | Transfer stock between locations. |
| transferOrderLine | Lines of a transfer order. |
| itemTrackingLine | Serial/lot tracking information for item transactions. |
| jobQueueEntry | Scheduled background job entries. |
| fixedAssets | Fixed asset master records. |