Skip to main content

Lattice Data Entities - Integration & Performance Entity Pack for Dynamics 365 Finance & Operations

By Magicite

Lattice Data Entities is an ISV entity pack that fills targeted gaps in the standard Dynamics 365 Finance & Operations entity catalog. It pairs writable contact and document-attachment entities - for onboarding customers/vendors and managing attachments by business key - with high-performance read feeds purpose-built for integration and BI workloads. Where the standard entities are heavy or simply missing, this pack gives you lean, predictable, OData- and DMF-ready surfaces that drop straight into your integration architecture.


Who it's for​

  • ISVs embedding D365 F&O data access into their own products.
  • System integrators (SI) and partners building and operating customer integrations.
  • Customers and in-house teams connecting D365 F&O to:
    • WMS / 3PL systems (stock sync, fulfillment)
    • E-commerce / storefronts (inventory and catalog feeds)
    • PIM (product information management)
    • BI / data lake / analytics platforms
    • Document management systems (attachment ingestion and retrieval)

Capabilities by business workload​

The 28 core entities (of 149 in the consolidated Lattice data-entity surface) are grouped below by the workload they serve rather than by the underlying table.

Document & attachment management​

A complete attachment surface built on D365's DocuRef/DocuValue model. Sixteen business-keyed document attachment entities let you create, read, update, and delete attachments by business key - including attaching files and notes to posted journals - without ever touching internal RecIds.

  • Sales posting types: confirmations, packing slips, invoices.
  • Purchase posting types: order confirmations, receipts lists, packing slips (product receipts), invoices, purchase order lines.
  • Master data: customer, vendor, free text invoice.
  • Manufacturing: production orders, quality orders, projects.
  • Transfer: transfer order headers and lines.

Attach by natural business key (e.g., sales order + invoice id + invoice date), and the framework resolves the parent record and links the attachment automatically.

Customer & vendor onboarding​

Writable contact entities that import/export using only the customer or vendor account number - no need to pre-resolve party numbers.

  • MGCLatticeCustomerContactInfoEntity / MGCLatticeVendorContactInfoEntity - electronic contact info (phone, email, URL, fax).
  • MGCLatticeCustomerContactPersonEntity / MGCLatticeVendorContactPersonEntity - full contact-person records.

Ideal for ERP migrations and ongoing CRM/master-data sync.

Order processing & visibility​

  • Order lines: MGCLatticeSalesOrderLineEntity, MGCLatticePurchaseOrderLineEntity - performance-optimized line feeds with site/warehouse dimensions (InventDim join) for near-real-time fulfillment and commitment tracking.
  • Intercompany visibility: MGCLatticeIntercompanyOrderEntity, MGCLatticeIntercompanyPurchaseOrderEntity - read-only, pre-filtered to intercompany orders with cross-entity linkage metadata for reconciliation.
  • Customer packing slip journals: header and line entities (plus a composite for DMF) for shipment reporting and archival.

High-performance integration feeds (NEW)​

Read-only, lean feeds engineered for high volume where the standard entities are too heavy:

  • MGCLatticeInventOnHandEntity (LatticeInventoryOnHands) - inventory on-hand snapshot from InventSum + InventDim, filtered to open rows. Feeds WMS/3PL stock sync, e-commerce inventory, ATP, and BI.
  • MGCLatticeReleasedProductEntity (LatticeReleasedProducts) - lean released-product catalog (item, search name, type, unit, en-us name/description). Feeds catalog/PIM/storefront sync.

Both are read-only, use lean explicit field projections, and are change-tracking-ready for incremental delta export, so high-frequency sync moves only what changed.


Performance & integration characteristics​

The high-performance feeds are engineered, not accidental. The choices that make them fast:

  • Explicit field projection (DynamicFields=No). Each data source lists only the fields the entity maps, so SQL selects a narrow column set instead of every column on the table. Smaller rows, less I/O, smaller payloads.
  • Read-only (no write/validation overhead). Marked IsReadOnly=Yes, so the framework skips the insert/update/validate machinery entirely on these query-only surfaces.
  • Baked-in range filters. Filters are applied in the entity query (e.g., on-hand restricted to open rows Closed == No; released products to ModuleType == Invent and LanguageId == en-us). Consumers receive pre-filtered, smaller result sets without having to send $filter themselves.
  • Index-aligned keys for paging. Keys are chosen to align with the source primary index (e.g., on-hand keyed on ItemNumber + InventoryDimensionId), so server-driven $skiptoken keyset paging stays efficient at any depth.
  • Change tracking for incremental export. Designed to have change tracking enabled, so DMF and BYOD/Data Lake export projects can run incremental delta exports instead of full snapshots - the recommended pattern for frequent on-hand and catalog sync.

Paging guidance - prefer $skiptoken over $skip. D365 returns an @odata.nextLink containing a $skiptoken for server-driven (keyset) paging; follow it as-is until it stops appearing. Offset-based $skip + $top degrades at high offsets because SQL must scan the skipped rows. For high-volume feeds, always use $skiptoken.


Access methods​

All entities in this pack are public and DMF-enabled. Two primary access paths:

OData (REST)​

Every entity uses the consistent Lattice collection-name prefix.

# Inventory on-hand snapshot (open rows), lightweight selection
GET /data/LatticeInventoryOnHands?$select=ItemNumber,InventoryWarehouseId,PhysicalInventoryQuantity&cross-company=true

# Released-product catalog
GET /data/LatticeReleasedProducts?$select=ItemNumber,ProductName,InventoryUnitSymbol

# Create a document attachment by business key
POST /data/LatticeSalesInvoiceDocumentAttachments

# Server-driven paging - follow the returned @odata.nextLink ($skiptoken)
GET /data/LatticeInventoryOnHands?$top=1000&cross-company=true

DMF (Data Management Framework)​

  • Import/export projects against any entity (e.g., contact import, packing-slip export).
  • BYOD (Bring Your Own Database) and Azure Data Lake export, with incremental/delta export for change-tracked entities.
  • Composite entity (MGCLatticeCustomerPackingSlipsEntity) for atomic header+line export packages.

Security model​

  • Per-entity View and Maintain privileges (56 privileges for the 28 entities) give granular control over read vs. write access.
  • Privileges are bundled into two duties:
    • MGCLatticeDataEntitiesView - read access to every entity in this pack.
    • MGCLatticeDataEntitiesMaintain - write access to writable entities (read-only access for read-only entities).
  • SubscriberAccessLevel Read=Allow is set on the entities, enabling cross-company read scenarios.
  • Maintain privileges on read-only entities are deliberately downgraded to read-only access.

Entity catalog summary​

EntityOData collectionR/WWorkload
MGCLatticeCustomerContactInfoEntityLatticeCustomerContactInfosRead/WriteCustomer & vendor onboarding
MGCLatticeCustomerContactPersonEntityLatticeCustomerContactPersonsRead/WriteCustomer & vendor onboarding
MGCLatticeVendorContactInfoEntityLatticeVendorContactInfosRead/WriteCustomer & vendor onboarding
MGCLatticeVendorContactPersonEntityLatticeVendorContactPersonsRead/WriteCustomer & vendor onboarding
MGCLatticeCustomerPackingSlipJournalHeaderEntityLatticeCustomerPackingSlipJournalHeadersRead-onlyOrder processing & visibility
MGCLatticeCustomerPackingSlipJournalLinesEntityLatticeCustomerPackingSlipJournalLinesRead-onlyOrder processing & visibility
MGCLatticeSalesOrderLineEntityLatticeSalesOrderLinesRead/WriteOrder processing & visibility
MGCLatticePurchaseOrderLineEntityLatticePurchaseOrderLinesRead/WriteOrder processing & visibility
MGCLatticeIntercompanyOrderEntityLatticeIntercompanyOrdersRead-onlyOrder processing & visibility
MGCLatticeIntercompanyPurchaseOrderEntityLatticeIntercompanyPurchaseOrdersRead-onlyOrder processing & visibility
MGCLatticeInventOnHandEntityLatticeInventoryOnHandsRead-onlyHigh-performance integration feeds
MGCLatticeReleasedProductEntityLatticeReleasedProductsRead-onlyHigh-performance integration feeds
MGCLatticeSalesConfirmationDocumentAttachmentEntityLatticeSalesConfirmationDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticeSalesPackingSlipDocumentAttachmentEntityLatticeSalesPackingSlipDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticeSalesInvoiceDocumentAttachmentEntityLatticeSalesInvoiceDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticePurchaseOrderConfirmationDocumentAttachmentEntityLatticePurchaseOrderConfirmationDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticePurchaseReceiptsListDocumentAttachmentEntityLatticePurchaseReceiptsListDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticePurchasePackingSlipDocumentAttachmentEntityLatticePurchasePackingSlipDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticePurchaseInvoiceDocumentAttachmentEntityLatticePurchaseInvoiceDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticePurchaseOrderLineDocumentAttachmentEntityLatticePurchaseOrderLineDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticeCustomerDocumentAttachmentEntityLatticeCustomerDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticeVendorDocumentAttachmentEntityLatticeVendorDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticeFreeTextInvoiceDocumentAttachmentEntityLatticeFreeTextInvoiceDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticeProjectDocumentAttachmentEntityLatticeProjectDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticeProductionOrderDocumentAttachmentEntityLatticeProductionOrderDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticeQualityOrderDocumentAttachmentEntityLatticeQualityOrderDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticeTransferOrderDocumentAttachmentEntityLatticeTransferOrderDocumentAttachmentsRead/WriteDocument & attachment management
MGCLatticeTransferOrderLineDocumentAttachmentEntityLatticeTransferOrderLineDocumentAttachmentsRead/WriteDocument & attachment management

Composite (DMF only): MGCLatticeCustomerPackingSlipsEntity - packing slip header + lines, for atomic export packages.