{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":50941,"path":"source-to-pay-operations/supplyon-special-cases.md","title":"SupplyOn outbound special cases and edge conditions","bundle":null,"doc_type":null,"release":"australia","body":"\n# SupplyOn outbound special cases and edge conditions\n\nThese special cases and edge conditions apply to the outbound send, covering non-eligible rows, release orders, missing lines, attachment violations, cancellations, and failure conditions.\n\nThe following special cases and edge conditions apply to the outbound send.\n\n|Case|Behavior|\n|----|--------|\n|Row not routed through the SupplyOn connection alias|The eligibility gate takes no action and logs a distinct line. The row is left for its own ERP dispatch.|\n|Blanket release order \\(core blanket\\_order populated\\)|The gate takes no action and logs a distinct line. SupplyOn receives only the primary order.|\n|Non-standard purchase order type|The factory throws an error and the row is not sent. Primary blanket \\(type 20\\) mapping is an open item.|\n|Order with no eligible lines|The header NetValue is omitted and the POST carries no positions.|\n|Service or handling-fee lines|These lines are excluded from the positions.|\n|Attachment limit or type violation|The system throws `SUPPLYON_ATTACHMENT_VIOLATION` and aborts before the REST call. The row is marked Failed.|\n|Detected cancellation|The order is reserved as the cancel operation with attachments omitted. Per-line cancel emission is pending a SupplyOn API field. Until then the order posts as a normal FunctionCode `9` order.|\n|Synchronous response not 201|Header and lines move to `40`, the message is set to the error detail, and the flow ends without waiting.|\n|No callback within 24 hours|Header and lines move to `40`. The correlation token is preserved so that a late callback can reconcile the row to `30`.|\n\n"}}