IDoc message typeObjectDESADVModuleBTP_INTEGRATION

DESADV message type — DESADV IDoc Despatch Advice Message Type

DESADV carries the despatch advice, also called the advance shipping notification, between the party that ships goods and the party that receives them. Outbound it tells a customer what was packed and dispatched against a delivery; inbound it tells a purchasing organization what a vendor has shipped against a purchase order, ahead of physical goods receipt.

This page covers the DESADV IDoc message type used to move despatch advice or advance shipping notification data between supply chain partners. It focuses on the segment structure, the partner profile and output determination pieces that must line up, and the ordered check sequence to run when a DESADV IDoc fails to generate, fails to send, or fails to post on the receiving side.

Published 16 Sept 2026· 1,085 words

What it carries

DESADV represents the despatch advice document, the notification that goods have left the shipping point and are on their way, sent ahead of or alongside the physical shipment. Outbound, it is generated from an outbound delivery and sent from the shipping party to the customer or to a warehouse, telling the receiving side what quantities, batches, and packaging to expect. Inbound, the same message type arrives from a vendor against a purchase order and is used to create an inbound delivery automatically, letting the receiving plant plan goods receipt and putaway before the truck arrives. The direction is set entirely by whether the IDoc is being generated (outbound partner profile) or received (inbound partner profile); the message type name and structure do not change between the two directions, only the partner role and the processing function module.

Segments

The IDoc is built on the DELVRY basic type family shared with shipping notifications, so the segments describe a delivery rather than a generic document.

  • E1EDL20 - document header: delivery number, document date, shipping point, and reference to the sales order or purchase order
  • E1EDL24 - delivery item: material, quantity, unit of measure, batch, and reference to the original order item
  • E1EDL37 - partner data: ship-from, ship-to, and any intermediate partner roles carried on the delivery
  • E1EDT13 / E1EDT15 - date and date/time segments carrying loading date, goods issue date, and planned or actual shipping date
  • E1EDL44 and E1EDL41 - handling unit header and handling unit item, present when the despatch advice is built at pack level rather than plain item level

Configuration

Outbound generation is driven by output determination on the delivery: an output condition record for the despatch advice output type must exist for the shipping point and partner combination, and that output type must be configured to produce an IDoc rather than a print or fax. The partner profile on the sending side (message type DESADV, outbound parameters) points to the port and the basic type, and the port definition determines whether the IDoc goes to a file, an ALE/RFC destination, or a middleware queue. On the receiving side the partner profile carries the inbound parameters: process code, and the process code links to the function module that actually creates the inbound delivery or updates the purchase order confirmation. If any of these three pieces is missing or points to the wrong basic type version, the IDoc either never gets created, sits unsent, or lands but cannot find a process code to execute against.

What to inspect when it fails

Work from the delivery document outward before touching the IDoc tools; the fault is more often in output determination than in the IDoc layer itself.

  • Check the delivery in the delivery display transaction: has goods issue actually posted, and does an output record exist for the despatch advice output type at all
  • If no output record exists, check the output determination condition records for the shipping point, partner, and delivery type combination
  • If an output record exists but is red or unprocessed, check the NAST processing log from the delivery output screen for the actual error text
  • Check the IDoc itself in the IDoc list transaction: status 51 means the application rejected it, status 30 means it never left the outbound queue, status 03 with no downstream confirmation means it left but nobody responded
  • For status 51, open the IDoc and read the status record message, not just the status code; missing partner number, missing means-of-transport data, or an unconvertible unit of measure are the usual text
  • Check the partner profile and port for the partner in question; a valid IDoc that never left the system usually traces to a port or RFC destination problem, which is a Basis handover
  • For inbound failures, check whether the process code's function module rejected because the referenced purchase order or delivery it should update no longer matches the incoming quantities or dates

Whose problem this is

Functional ownership sits with SD for outbound despatch advice and MM for inbound advance shipping notifications; they own output determination, partner profiles, and process code assignment. Basis owns ports, RFC destinations, and queue health. Hand over to Basis only after confirming the IDoc was generated correctly and simply failed to transmit; hand over to development only when the process code's function module itself needs a code fix rather than a configuration correction.

Common pitfalls

Several things make this message type look broken when the process is actually working as configured.

The reflex is to mass-reprocess every status 51 IDoc from the monitoring transaction without reading the individual error text first. That clears the error list and makes the queue look healthy, but if the underlying cause was a missing EDI partner number on the customer master or an incompatible unit of measure, the reprocessed IDoc fails again on the next run, or worse, posts with wrong data because the retry happened after someone patched the master record halfway. Reprocessing is the last step, applied once the actual cause is fixed, not the first diagnostic action.

  • A despatch advice sent per handling unit produces one IDoc per pack level combination, so a single delivery can generate several DESADV IDocs; counting IDocs against deliveries one-to-one gives a false mismatch
  • The despatch advice is frequently triggered at goods issue time, before the truck physically leaves, so quantities in the IDoc reflect what was picked and packed, not what a warehouse worker later corrects on the dock
  • Inbound DESADV creates an inbound delivery automatically; if that inbound delivery is later deleted manually, the IDoc still shows a successful status, hiding the fact that the receiving side has no record left to receive against
  • Confusing this message type with a purchase order confirmation message type is common because both can reference the same purchase order number; the despatch advice never confirms price or delivery date changes, only what was shipped

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-idoc/desadvERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.