Skip to main content

Advanced Delivery and Transaction Forwarding — Troubleshooting Issues

How do I make sure I route transactions to different relationships or communication channels?

A
Written by Ashwath Kirthyvasan
Updated over a month ago

Audience: EDI developers, B2B integration teams, system administrators

This article covers errors and diagnosis for Advanced Delivery Settings (multiple communication channels) and Transaction Forwarding. For configuration steps, see the Advanced Delivery Settings and Transaction Forwarding product documentation.


What Conditional Delivery and Forwarding Do — Expected Behavior

Understanding what each feature is supposed to do helps you identify when something is going wrong.

Advanced Delivery Settings let you deliver a single inbound transaction to up to five communication channels simultaneously. Each channel can receive the transaction in a different format or X12 version, with or without transformation rules applied, and optionally only when the transaction matches specific field values (delivery conditions). If no conditions are set, every transaction on that relationship is delivered to that channel. If conditions are set, only transactions where all conditions are met are delivered — transactions that don't match are not delivered to that channel but are still processed in Orderful and delivered to any other channels that match.

Transaction Forwarding copies a received inbound transaction and sends it outbound through a separate relationship to a different trading partner. The forwarded transaction is a new outbound transaction — it has its own transaction ID, its ISA IDs are updated to reflect the outbound relationship, and its X12 envelope segments are regenerated. The original inbound transaction is still delivered to your own communication channel as normal. Forwarding can happen automatically when a transaction is received (if Auto Send is enabled) or manually on demand.

If a transaction is not reaching its intended destination, the first step is confirming which of these two behaviors you're relying on and whether the configuration matches your expectation.


Common Errors

Transaction not delivered — Missing value to evaluate condition or condition not met

The field path referenced in a delivery condition doesn't exist in this transaction or exist but don't match the conditions.

In these situations, the transaction is not delivered to that channel.

Transaction was not sent to the as2-native communication channel My 3rd Party (CC): Transaction content did not meet the delivery conditions.

Condition evaluated incorrectly

The transaction was delivered — or not delivered — when the opposite was expected. The condition logic exists but is resolving against the wrong value. Either the field path is pointing to the wrong location in the transaction, or the expected value doesn't match what's actually in the transaction data.

In this situation, there may not be an error message but the incorrect final recipient will most likely raise the issue outside of Orderful.

Transaction not delivered — communication channel inactive (no error message)

If the communication channel assigned to the relationship is inactive or has been disconnected, transactions will not be delivered to it.

There is no error message on the transaction itself — the delivery will silently not occur.

Transaction not delivered or not forwarded — Auto Send is off (no error message)

If Auto Send is disabled on the inbound relationship, transactions will not be automatically delivered to any channel or forwarded. The transaction will be received and stored in Orderful with a pending delivery status, but nothing will be sent until manually triggered.

There is no error message — the transaction simply sits without moving. Check the Auto Send setting on the relationship if transactions are consistently not being delivered or forwarded.

Transaction failed to be forwarded

For Transaction Forwarding, this message appears on the original transaction when forwarding could not be completed, because they're a configuration mismatch between the source and target relationships. The most common cause is that the target relationship is still in test while live transactions are posted on the source transaction.

Transaction failed to be forwarded.

How to Diagnose

1. Check the delivery conditions on the channel

Open the inbound relationship and review the conditions configured for the channel that failed. Note the exact field paths and expected values. Confirm whether the condition is a simple match or includes a qualifier path.

2. Extract the condition path value from the transaction

Open the transaction in Orderful and navigate to the field path referenced in the condition. Confirm whether the transaction contains a value at that path, and whether it matches the expected value exactly.

3. Check for trailing whitespace or non-printable characters

A condition can fail even when the value appears correct if the actual data contains trailing spaces, leading zeros, or non-printable characters not visible in the UI. These will cause an exact-match condition to evaluate to false. Download the raw payload and inspect the field content at the byte level to rule this out.

4. Check the communication channel's active status

If the communication channel is inactive or misconfigured, transactions won't be delivered regardless of whether conditions are met. Verify the channel is active and the connection details are correct.

4. Check the relationship auto-send flag

If the relationship auto-send flag is off, transactions won't be automatically delivered or forwarded regardless of whether conditions are met. Verify the auto-send flag is on.

5. For forwarding — check the target relationship status

Transaction forwarding requires both the source and target relationships have the same status. If the target relationship is in test, but the source transactions posts live transactions, forwarding will fail. Check the source and target relationship status.


What to Send Orderful Support

Contact [email protected] with:

  • Transaction ID of the transaction that was not delivered as expected

  • Which communication channel or target relationship was supposed to receive it

  • The condition field path and expected value if conditions are involved

  • The error message if visible on the transaction (for forwarding failures)

  • A description of what you expected to happen vs. what occurred


Frequently Asked Questions

The transaction shows as Delivered but one channel didn't receive it — is that a bug?

No. Delivered means all configured channels confirmed successful delivery. If the status shows Delivered but a channel reports not receiving it, confirm the connection details on that channel are correct and check for delivery confirmation on the channel's side.

A transaction shows as Sent, not Delivered — what does that mean?

Sent means the transaction was transmitted but Orderful hasn't received a delivery confirmation from at least one channel. This can happen with channels that don't return explicit confirmation. Check the channel's received logs on their side to confirm whether it arrived.

Why would my condition evaluate correctly for some transactions but not others from the same partner?

The condition evaluates the actual data in each transaction. If the field value varies between transactions — for example an optional field that isn't always populated — the condition will behave differently for each. Verify the specific transactions that are failing and extract the condition path value from each one.

My forwarding was working and suddenly stopped — what should I check?

Check the status of the target relationship first. If it was moved to an inactive or test

The transaction shows as Valid, Delivered, and Accepted, but the trading partner says they didn't receive it — what should I do?

On the transaction page, click the download button. If you see an MDN and a 997, download and review them — these are proof that the trading partner received the data. Share this with the trading partner to confirm delivery on Orderful's side.status, forwarding will stop. Also verify that Auto Send is still enabled on the source inbound relationship.

Did this answer your question?