Bring your ERP · Microsoft · read-only

Margin check for Business Central.

Run the Margin X-Ray on your Microsoft Dynamics 365 Business Central data. You pull a few tables read-only, drop them on the X-Ray, and it finds the supplier increases that never reached the price, the expired contracts still billing, the claims never filed, all inside your browser tab. Nothing is uploaded, and no login, password or key ever leaves your building.

Microsoft cloud (SaaS) or on-premises SQL Server.

Where Business Central keeps it

A distributor’s file is many supplier lines, each with its own rule. These are the places Business Central stores what the X-Ray reads.

Where Microsoft Dynamics 365 Business Central stores each piece of pricing data the X-Ray reads.
What the X-Ray readsWhere Business Central keeps it
SupplierItem.Vendor No. and Vendor Item No.; Item Vendor (table 99)
Purchase discount grouppurchase prices and line discounts per vendor
Price line / categoryItem Category Code
Customer price classCustomer Price Group, through Price List Lines (new pricing) or Sales Price (legacy)
Quantity breaksMinimum Quantity on the price list lines
Contractscustomer-specific price list lines with starting and ending dates
InvoicesSales Invoice Line (Unit Price, Unit Cost (LCY)); actual COGS in Value Entry

The read-only pull

API v2.0 with read-only permissions (an Entra ID app registration your admin owns)

  1. Your admin registers an app in Entra ID with read-only Business Central API permissions. The secret stays with your admin.
  2. Pull the lists below for the company, plus the Price List Lines page published as OData (new pricing) or Sales Prices (legacy).
  3. Check which pricing model is on: an upgraded tenant can carry both.
  4. Save each list as CSV and drop them on the X-Ray; map the columns once, then keep the mapping.
API v2.0 (GET only)
GET https://api.businesscentral.dynamics.com/v2.0/<tenant>/<environment>/api/v2.0/companies(<id>)/items
GET https://api.businesscentral.dynamics.com/v2.0/<tenant>/<environment>/api/v2.0/companies(<id>)/vendors
GET https://api.businesscentral.dynamics.com/v2.0/<tenant>/<environment>/api/v2.0/companies(<id>)/customers
GET https://api.businesscentral.dynamics.com/v2.0/<tenant>/<environment>/api/v2.0/companies(<id>)/salesInvoices?$expand=salesInvoiceLines
GET https://api.businesscentral.dynamics.com/v2.0/<tenant>/<environment>/ODataV4/Company('<name>')/PriceListLines

The traps the X-Ray handles

  • Two pricing models (legacy Sales Price and the new Price List Lines) can coexist after an upgrade.
  • Invoice-line unit cost is the cost at posting; it can be revalued later through Value Entry.
  • Rebates are not native: an ISV extension adds its own tables.

The X-Ray reads these exports as they are: map the columns once (it suggests every match), then run. A recognized pack for Business Central is on our list.

Next: your own file

Start with the free X-Ray on your own export. When you want every leak sized against your invoices and supplier files, the Margin Diagnostic does it on your full data (from $5,000), with your Supplier Line Rulebook and a Line Review Kit for each supplier review included.

Other ERPs: Prophet 21 · SX.e / CSD · Eclipse · NetSuite

Field names follow vendor documentation and community data dictionaries, compiled in our ERP research (October 2026). Your version may name a field differently; the X-Ray’s column matcher accepts either.