Microsoft Dynamics 365 Business Central
Authentication: OAuth or access token. See Magic Link for the runtime auth flow, or Application credentials to bring your own OAuth app.
Sample use cases
- Create a sales order for customer
C00010and ship and invoice it once it is picked - List unposted purchase invoices from vendor
Fabrikam Inc.and post the approved ones - Add a general journal line for a month-end accrual and post the journal
Available Tools
List customers in a Business Central company. Use list_companies to find company_id. Supports OData filter,select…
Get one customer by its GUID, including its ‘@odata.etag’ for safe updates. Use list_customers to find customer_id.
Create a customer. Only the name is required. Note the API cannot set Customer Posting Group, so a customer created…
Update fields on an existing customer. Only the supplied fields change. Pass the etag from get_customer to fail…
Delete a customer. Business Central refuses this if the customer has ledger entries or open documents, which is…
List the companies in the connected Business Central environment. Run this first: every other tool needs a…
List the API entity sets this Business Central environment exposes, such as customers or salesInvoices. Use it to…
Inspect one entity set’s fields and expandable relations by sampling a real record. Use before building a $filter…
List the chart of accounts for a company. Only accounts whose account_type is ‘Posting’ can take journal entries…
Get one general ledger account by GUID, including its category, type and net change. Use list_accounts to find…
List general journal batches in a company. A batch holds unposted journal lines until post_journal commits them. Use…
List the unposted lines in one journal batch. A journal GUID is required because Business Central cannot list…
Add an unposted line to a journal batch. A positive amount debits the account and a negative amount credits it. The…
Update an unposted journal line. Only the supplied fields change, and only while the line is unposted. Pass the etag…
Delete an unposted journal line. A posted entry cannot be deleted; it has to be reversed with a balancing entry…
Post every line in a journal batch to the general ledger at once. The batch must balance, so debits and credits have…
List customer or vendor payment journal batches, selected with the party parameter. Use this to find journal_id for…
List customer or vendor payment lines from one payment journal batch, selected with the party parameter. A journal…
List records from any Business Central entity set, for entities with no dedicated tool such as salesQuotes or…
Get one record by GUID from any Business Central entity set, including its ‘@odata.etag’ for safe updates. Use…
Create a record in any Business Central entity set. Use discover_entity_metadata on the entity set first to see…
Update a record in any Business Central entity set. Only the supplied fields change. Pass the etag from get_record…
Delete a record from any Business Central entity set. Business Central refuses this for records with ledger entries…
List items in a Business Central company. Use list_companies to find company_id. Supports OData filter,select and…
Get one item by its GUID, including its ‘@odata.etag’ for safe updates. Use list_items to find item_id.
Create an item in a Business Central company. Only the name is required; pass any other writable field via ‘fields’…
Update fields on an existing item. Only the supplied fields change. Pass the etag from get_item to fail safely if…
Delete an item. Business Central refuses this if the item has ledger entries or appears on open documents, which is…
List purchase orders in a Business Central company. Use list_companies to find company_id and list_vendors to filter…
Get one purchase order header by GUID, including its ‘@odata.etag’ for safe updates. Use list_purchase_order_lines…
Create a purchase order header. Lines are added separately with create_purchase_order_line, because Business Central…
Update header fields on a purchase order. Only the supplied fields change. Pass the etag from get_purchase_order to…
Delete a purchase order and its lines. Only unreceived orders can be deleted; once received and invoiced the…
List the lines on one purchase order. A purchase order GUID is required because Business Central cannot list order…
Add a line to a purchase order. Pass item_id when line_type is ‘Item’ and account_id when it is ‘Account’. Note an…
Receive and invoice a purchase order, creating posted receipt and invoice documents. Cannot be undone. Business…
List purchase invoices in a Business Central company. Supports OData filter,select and $orderby; filter on status…
Get one purchase invoice header by GUID, including its ‘@odata.etag’ for safe updates. Use…
Create a draft purchase invoice header. Lines are added separately with create_purchase_invoice_line. Set…
Update header fields on a draft purchase invoice. Only the supplied fields change. A posted invoice can no longer be…
Delete a draft purchase invoice and its lines. A posted invoice cannot be deleted because it is in the general…
List the lines on one purchase invoice. An invoice GUID is required because Business Central cannot list invoice…
Add a line to a draft purchase invoice. Pass item_id when line_type is ‘Item’ and account_id when it is ‘Account’…
Post a draft purchase invoice to the general ledger. Posting renumbers the document and it can no longer be edited…
List sales invoices in a Business Central company. Supports OData filter,select and $orderby; filter on status to…
Get one sales invoice header by GUID, including its ‘@odata.etag’ for safe updates. Use list_sales_invoice_lines to…
Create a draft sales invoice header. Lines are added separately with create_sales_invoice_line, because Business…
Update header fields on a draft sales invoice. Only the supplied fields change. A posted invoice can no longer be…
Delete a draft sales invoice and its lines. A posted invoice cannot be deleted because it is in the general ledger…
List the lines on one sales invoice. An invoice GUID is required because Business Central cannot list invoice lines…
Add a line to a draft sales invoice. Pass item_id when line_type is ‘Item’ and account_id when it is ‘Account’. Use…
Post a draft sales invoice to the general ledger. Posting renumbers the document, e.g. S-INV102311 becomes…
Post a draft sales invoice and email it to the customer in one step. Use post_sales_invoice when the invoice should…
Cancel a posted sales invoice by issuing a corrective credit memo. This is how a posted invoice is reversed, since…
List sales orders in a Business Central company. Use list_companies to find company_id. Supports OData $filter…
Get one sales order header by GUID, including its ‘@odata.etag’ for safe updates. Use list_sales_order_lines to read…
Create a sales order header. Lines are added separately with create_sales_order_line, because Business Central does…
Update header fields on a sales order. Only the supplied fields change. Pass the etag from get_sales_order to fail…
Delete a sales order and its lines. Only unposted orders can be deleted; once shipped and invoiced the document is…
List the lines on one sales order. A sales order GUID is required because Business Central cannot list order lines…
Add a line to a sales order. Pass item_id when line_type is ‘Item’ and account_id when it is ‘Account’. Use…
Ship and invoice a sales order, creating posted shipment and invoice documents in the ledger. This cannot be undone…
List vendors in a Business Central company. Use list_companies to find company_id. Supports OData filter,select…
Get one vendor by its GUID, including its ‘@odata.etag’ for safe updates. Use list_vendors to find vendor_id.
Create a vendor in a Business Central company. Only the name is required; pass any other writable field via…
Update fields on an existing vendor. Only the supplied fields change. Pass the etag from get_vendor to fail safely…
Delete a vendor. Business Central refuses this if the vendor has ledger entries or open documents, which is expected…