Retries never double-post
A repeated request returns the original result. Networks drop and brokers redeliver; your ledger does not notice.
Products / Lattice / Integration operations
integration operations155 REST operations across 27 services put one consistent, idempotent surface in front of the documents your business posts: sales and purchase orders, journals, inventory, production, projects and workflow.
Every system that needs to make something happen in Finance & Operations (create an order, post a journal, report production, approve a requisition) usually gets its own custom X++ service. Each one is designed, secured, tested and maintained on its own by the same scarce F&O developers, each behaves a little differently, and almost none of them is safe to retry. So when a network call times out, the integration either gives up or posts the document twice, and someone finds out at month end.
Lattice ships those services already built. Sales orders can be created, confirmed, packed, invoiced and returned; purchase orders confirmed, received, invoiced and returned; general, intercompany, payment, inventory and project journals posted and reversed; production orders taken from estimate to end; workflow items submitted, approved, rejected, delegated and recalled. Fixed assets, currency revaluation, budget register entries and vendor payment proposals are covered too.
Every operation shares one predictable request shape, so an integrator who has called one can call the rest. Each runs the same validation as the Finance & Operations pages and either succeeds or fails with a typed error, leaving nothing half-posted. Nearly every posting operation has a batch twin that takes many documents in one call and reports the outcome of each one, and long-running work can be submitted asynchronously and polled for status.
Every operation is idempotent. The caller sends a request id, Lattice records the claim in the same transaction as the document, and a repeat of the same request returns the first result instead of posting again. General ledger journals and sales order confirmations, packing slips and invoices can also run as a dry-run preview that validates the request without posting or using a number.
Callers can send the keys their own systems use, such as a shop's order number or a CRM's account id, and Lattice resolves them to the Dynamics record before the operation runs. Partners who send files instead of calls are covered by file ingestion: Lattice pulls files from SFTP, Azure Blob storage or Azure Files, decrypts them when they are PGP-encrypted, skips any file it has already processed, keeps the original as a document attachment, reads CSV, JSON, XML or fixed-width records, reshapes them with a Liquid template, and posts each record through the same services.
When the surface is ready to share, the APIM configurator turns it into an Azure API Management bundle (Bicep, APIOps or ARM templates) with JWT validation, rate limits and the other policies you choose.
What you get
What is in the box
Nearly every posting operation also comes as a batch operation that takes many documents in one call. Numbers are operation counts per area.
Questions
No. The services are already built, secured and maintained. Your integrators call standard Finance & Operations service endpoints, authenticated with Microsoft Entra ID like any other call, from whatever tools they already use.
Nothing new. Each request carries a request id, and a repeat of the same id returns the result of the first call instead of posting again. If a crash interrupts a call between creating and posting a document, a scheduled sweep finds it and resolves it.
Yes. General ledger journals and sales order postings support a dry-run preview, and the service test console runs any operation interactively, with saved requests, in preview where the operation supports it.
Each operation has its own privilege, and Lattice ships administrator, operator and read-only roles. The operator role can post but leaves out the high-risk operations, such as reversals, cancellations and fixed asset disposals, so those stay with the people who should hold them. Access is granted with standard Finance & Operations security.
Neither. Lattice is one flat price per production instance per year, with every capability included and no call limits, and it is free in any non-production environment.
Try it
Lattice is one package: every capability on these pages comes with it. Run it free in any non-production environment for as long as you like, and subscribe only when it goes to production.