Your EDI, drawn into your own records.

LunoLake receives, translates, and posts EDI traffic as your own records inside Dynamics 365: status on the record, setup and retries in your own forms, where your team already works. Everyone else fits a portal beside your ERP. The drawing below shows it crossed out, because status belongs on your own records instead.

New to this? Start with the plain language version, written for someone whose customer has just asked them to do EDI.

System drawing: trading partners connect to LunoLake over AS2, AS4, and SFTP; LunoLake posts records into Dynamics 365. A vendor portal box is crossed out and marked not needed. TRADING PARTNER A TRADING PARTNER B TRADING PARTNER C LUNOLAKE CLOUD RECEIVE + VERIFY TRANSLATE D96A POST + ACKNOWLEDGE DYNAMICS 365 SALES ORDERS STATUS ON RECORD RETRIES INSIDE GLN 5790000112345 GLN 5790000223456 GLN 5790000334567 AS2 AS4 SFTP POSTED AS RECORDS VENDOR PORTAL NOT NEEDED ONE SYSTEM, END TO END System drawing, vertical: trading partners connect to LunoLake over AS2, AS4, and SFTP; LunoLake posts records into Dynamics 365. A vendor portal box is crossed out and marked not needed. TRADING PARTNERS LUNOLAKE CLOUD RECEIVE + VERIFY TRANSLATE D96A POST + ACKNOWLEDGE DYNAMICS 365 SALES ORDERS STATUS ON RECORD RETRIES INSIDE A · GLN 5790000112345 B · GLN 5790000223456 C · GLN 5790000334567 AS2 · AS4 · SFTP POSTED AS RECORDS VENDOR PORTAL NOT NEEDED
EDI module for Dynamics 365 Finance & Operations

Four operations, one drawing.

Receive

Each partner connects over AS2, AS4, or SFTP. Every transmission is signed and encrypted, receipts are verified both ways, and the payload is archived before anything touches it.

Translate

EDIFACT D96A in, Dynamics 365 entities out, qualifier by qualifier. Not only EDIFACT: X12 as well, and the framework is open to your own. Try it on a real message below.

Post

The message becomes a sales order inside Dynamics 365, carrying its own EDI status. Setup lives there too: partners and agreements are Dynamics 365 forms, not a vendor's settings page.

Acknowledge

A CONTRL answers the envelope, an APERAK the document, positive or negative with reason codes. Both are reconciled onto the exact message they answer.

Edit the message. Watch the record.

This is not a picture of a translation. Every underlined value below is editable: change one and the Dynamics 365 record derives again as you type. Break one and the posting is blocked: the precondition codes are the module's own, and the validation lines name the EDIFACT element at fault.

Inbound ORDERS · D96Aeditable
UNB+UNOC:3+5790000112345:14+5790000555556:14+260818:0814+4711'
UNH+1+ORDERS:D:96A:UN:EAN008'
BGM+220+4500012345+9'
DTM+2:20260821:102'
NAD+BY+5790000112345::9'
LIN+1++5701234500017:EN'
QTY+21:48'
LIN+2++5701234500024:EN'
QTY+21:12'
UNT+9+1'

SEGMENT TERMINATOR ' · ELEMENT + · COMPONENT : · SWIPE THE WIRE TO READ ON

POSTED Precondition gate clear. Sales order created.
Dynamics 365 sales orderderived live
Document typeUNH 0065
ORDERS D96A Not a message type this agreement carries.
Customer referenceBGM 1004
4500012345 Document number is required.
Requested deliveryDTM 2380
21 Aug 2026 Not a calendar date in format 102.
Customer accountNAD 3039
EDI0042 · GLN 5790000112345 A GLN is 13 digits, and the partner needs an agreement on file.
LinesLIN 7140 · QTY 6060
ItemGTINQty
M0078570123450001748
M0112570123450002412

ILLUSTRATION: REAL D96A SYNTAX AND REAL MAPPING RULES · SYNTHETIC IDENTIFIERS

Parts list: the documents carried.

ItemDocumentDirectionRemark
1ORDERSIn + outBecomes a draft sales order to work, or carries your own order to a vendor.
2ORDRSPIn + outThe answer to an order: confirmed quantities and dates, landed on the record.
3DESADVIn + outWhat is on the way, down to pallet, batch and expiry.
4INVOICIn + outThe invoice: out from the posted journal, or in against the purchase order.
5CONTRLIn + outWhether the envelope arrived intact. Sent and reconciled without anyone asking.
6APERAKIn + outWhether the document was accepted, and on a rejection, the reason why.
7SPAREYoursYour own document types and formats, extended from your own model.

The parts list is open by design. New document types and whole new formats extend from your own model, against the published surface, with zero changes to ours.

Wire formats

FormatStatusRemark
EDIFACTReadyThe workhorse. D96A runs end to end today, and a partner's own variant is remapped in one place instead of in code. EANCOM invoicing on board.
X12ReadyFor North American partners. 301 transaction sets translate today; tell us which documents you need and the Dynamics 365 mapping follows.
OIOUBLReadyDanish public sector invoicing. Every outbound document is checked against the rules before it leaves, and you can load your own rule sets.
PEPPOL BISReadyBilling and ordering profiles over AS4, validated before anything leaves. The channel table shows the network it travels on.
YOURSOpenYour own format, written in your own model. The spare row is real.

Channels and networks

ChannelStatusRemark
DIRECT AS2In serviceBilateral: signed and encrypted, verified MDN receipts.
DIRECT AS4In serviceebMS 3.0 with profiles Standard, eDelivery, eDelivery v2, ENTSOG.
SFTPIn serviceFor partners that exchange files, not protocols.
NEMHANDELIn serviceeDelivery with NemHandelsRegisteret discovery: OIOUBL BIS 3, OCES3 signing per legal entity.
PEPPOLIn serviceSML/SMP discovery, SBDH envelopes, certificate trust that fails closed.

READY means the format translates today, with the remark saying how far it is carried. IN SERVICE means the channel runs traffic, and OPEN is yours to fill. Ask us where your partners and your network sit.

Supervision, on the record.

Open the sales order and the whole exchange is standing there: an EDI tracker on the order itself, one card per step, every transmission with its acknowledgements indented beneath it. No portal tab to flip to.

General notes

  • N1The full audit trail is written to a log file you own and drained into Dynamics 365 on schedule, so what happened on the wire stays answerable from the record itself.
  • N2Failed sends retry with backoff, then land in your own error store. An expired certificate blocks the posting with a named code before a bad send can exist.
  • N3Safe to rerun, all of it: duplicates deduplicate, posters detect what has already posted, status only advances. Nothing posts twice.

Behind the pill sit four independent status axes: lifecycle, envelope acknowledgement, document acknowledgement, and health. They collapse into one word: Settled, Waiting, Action, Overdue, or Failed. Overdue comes from the agreement's own deadline stamp on the message, not from a query someone has to remember to run.

One plan, rated.

EUR 700

per month, one price, stated plainly

Request contact

No tiers, no portal. One plan for the whole exchange.

Included
25,000 documents per month, inbound and outbound combined
Transports
AS2 · AS4 · SFTP
Formats
EDIFACT · X12 · OIOUBL · PEPPOL BIS
Extensible
Your own document types and formats, worked example included

Request contact.

Tell us where EDI hurts today: partners, document types, or a deadline. We will come back to you the same working day.

0 of 4 complete
Enter your name.
Enter your company.
Enter a valid email address so we can answer.
Tell us at least a line, so the first reply is useful.
Prefer mail? info@lunolake.com

RECEIVED We will answer from info@lunolake.com the same working day.