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 toModuleType == InventandLanguageId == en-us). Consumers receive pre-filtered, smaller result sets without having to send$filterthemselves. - 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
$skiptokenkeyset 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
| Entity | OData collection | R/W | Workload |
|---|---|---|---|
| MGCLatticeCustomerContactInfoEntity | LatticeCustomerContactInfos | Read/Write | Customer & vendor onboarding |
| MGCLatticeCustomerContactPersonEntity | LatticeCustomerContactPersons | Read/Write | Customer & vendor onboarding |
| MGCLatticeVendorContactInfoEntity | LatticeVendorContactInfos | Read/Write | Customer & vendor onboarding |
| MGCLatticeVendorContactPersonEntity | LatticeVendorContactPersons | Read/Write | Customer & vendor onboarding |
| MGCLatticeCustomerPackingSlipJournalHeaderEntity | LatticeCustomerPackingSlipJournalHeaders | Read-only | Order processing & visibility |
| MGCLatticeCustomerPackingSlipJournalLinesEntity | LatticeCustomerPackingSlipJournalLines | Read-only | Order processing & visibility |
| MGCLatticeSalesOrderLineEntity | LatticeSalesOrderLines | Read/Write | Order processing & visibility |
| MGCLatticePurchaseOrderLineEntity | LatticePurchaseOrderLines | Read/Write | Order processing & visibility |
| MGCLatticeIntercompanyOrderEntity | LatticeIntercompanyOrders | Read-only | Order processing & visibility |
| MGCLatticeIntercompanyPurchaseOrderEntity | LatticeIntercompanyPurchaseOrders | Read-only | Order processing & visibility |
| MGCLatticeInventOnHandEntity | LatticeInventoryOnHands | Read-only | High-performance integration feeds |
| MGCLatticeReleasedProductEntity | LatticeReleasedProducts | Read-only | High-performance integration feeds |
| MGCLatticeSalesConfirmationDocumentAttachmentEntity | LatticeSalesConfirmationDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticeSalesPackingSlipDocumentAttachmentEntity | LatticeSalesPackingSlipDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticeSalesInvoiceDocumentAttachmentEntity | LatticeSalesInvoiceDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticePurchaseOrderConfirmationDocumentAttachmentEntity | LatticePurchaseOrderConfirmationDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticePurchaseReceiptsListDocumentAttachmentEntity | LatticePurchaseReceiptsListDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticePurchasePackingSlipDocumentAttachmentEntity | LatticePurchasePackingSlipDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticePurchaseInvoiceDocumentAttachmentEntity | LatticePurchaseInvoiceDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticePurchaseOrderLineDocumentAttachmentEntity | LatticePurchaseOrderLineDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticeCustomerDocumentAttachmentEntity | LatticeCustomerDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticeVendorDocumentAttachmentEntity | LatticeVendorDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticeFreeTextInvoiceDocumentAttachmentEntity | LatticeFreeTextInvoiceDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticeProjectDocumentAttachmentEntity | LatticeProjectDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticeProductionOrderDocumentAttachmentEntity | LatticeProductionOrderDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticeQualityOrderDocumentAttachmentEntity | LatticeQualityOrderDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticeTransferOrderDocumentAttachmentEntity | LatticeTransferOrderDocumentAttachments | Read/Write | Document & attachment management |
| MGCLatticeTransferOrderLineDocumentAttachmentEntity | LatticeTransferOrderLineDocumentAttachments | Read/Write | Document & attachment management |
Composite (DMF only): MGCLatticeCustomerPackingSlipsEntity - packing slip header + lines, for atomic export packages.