Skip to main content

I receive different types of XML files from my partner over AS2 — how do I route each file to the correct relationship?

A
Written by Ashwath Kirthyvasan
Updated over 2 weeks ago

Audience: EDI analysts, integrators, B2B integration teams

This article walks through how to configure routing on an AS2 communication channel that receives two different custom XML transaction types from the same trading partner — purchase orders and purchase order changes.


How this scenario works — expected behavior

A single AS2 channel receives XML files for two different transaction types — ORDER and ORDER_CHANGE — from the same trading partner. Once configured correctly, Orderful reads the file name of every incoming file, extracts the transaction type, and routes the file to the correct relationship automatically.


The issue

Since Orderful does not read file content, it cannot tell from the XML itself which transaction type a file represents. If the transaction type is not configured on the channel, Orderful cannot route the file and you will receive an unprocessed notification.


Before you configure

Ask your trading partner to include a consistent identifier in every file name that distinguishes purchase orders from purchase order changes. For example:

  • ACME_PO_20260301_001.xml for purchase orders

  • ACME_POC_20260301_001.xml for purchase order changes

Ask your partner for a few real file name examples before setting up the configuration. The exact naming convention is flexible — as long as the transaction type is consistently distinguishable in the file name, you can write a regex around it.


How to configure the AS2 channel

Open the communication channel settings and fill in the MFT advanced settings as follows:

Sender identifier
Mode: Static → select your partner's EDI account from the dropdown.

All files on this channel come from the same partner, so extraction is not needed.

Receiver identifier
Mode: Static → select your own EDI account.

Transaction type
Mode: Regex → write a regex that captures the transaction type code from the file name. For the example convention above, _(POC?)_ captures PO or POC.

Then enable Custom Identification and add a mapping table:

  • POORDER

  • POCORDER_CHANGE

Stream
Mode: Static → select LIVE. If your partner uses the same channel for test and live files, switch to Regex mode and add a mapping table to map their values to TEST and LIVE.

Business number (displayed in the Transaction List — does not affect routing)
Choose one of:

  • File name — uses the full incoming file name. Simple, no regex needed.

  • Regex — extract a meaningful reference such as a PO number from the file name.


How to Diagnose

If files are arriving on the AS2 channel but no transactions are being created, you will have received an unprocessed notification. To investigate:

1. Check the exact file name of the file that was not routed

Compare it manually against your regex pattern to confirm it would produce a match.

2. Check your mapping table

Confirm the extracted value is present in the Partner value column. Values must match exactly, including case.

3. Check the relationship status

Confirm the partnership has both an ORDER and an ORDER_CHANGE relationship and that both are in LIVE status — or TEST if you are testing.


What to Send Orderful Support

If routing is still not working after diagnosing, contact [email protected] with:

  • AS2 communication channel name

  • The exact file name of a file that was not routed correctly

  • The regex pattern and mapping table currently configured for the Transaction type field

  • The relationship names you expected transactions to be created on

  • Your partner's ISA ID or MFT identifier


Frequently Asked Questions

What if my partner cannot change their file naming convention?

As long as the file name contains something that consistently distinguishes the two transaction types, you can build a regex around it. Share a set of real file names with your partner and design the pattern from those examples.

What if I have more than two transaction types on the same channel?

Add one row per transaction type to the mapping table.

Does the same approach work for FTP and SFTP channels?

Yes. The MFT advanced settings — including Regex mode and mapping tables — work the same way for FTP and SFTP channels.

Did this answer your question?