Capabilities
Outcome
Each trading partner's capability set matches what the partner agreement authorizes — no more, no less — so the gateway never tries to send a transaction the partner cannot accept and never expects an inbound the partner does not produce.
Prerequisites
PLATFORM_ADMIN to edit capabilities. Every platform role can view them on
the Overview tab.
What is a capability
A partner declares capability at two levels, both edited in the partner dialog (Edit in the partner page header):
| Level | Dialog section | Meaning |
|---|---|---|
| Transport modes | Transport modes | Which of BATCH_SFTP, BATCH_REST, BATCH_AS2, REALTIME_REST the partner can satisfy at all. |
| Per-tx-type matrix | Per-tx-type capability matrix | For each transaction type, which of those transport modes the partner accepts it on. |
The matrix is closed-world once it has any row:
- Empty matrix — permissive. The partner is treated as capable of every transaction type on every transport mode it declares.
- Non-empty matrix — an allowlist. A transaction type with no row, or a row without the mode, means not capable.
The router enforces both. A routing rule whose dispatch mode is not in the
partner's transport modes, or whose transaction type the matrix does not
allow on that mode, is skipped as CAPABILITY_MISSING.
Steps
Open the partner and click Edit. The Transport modes checkboxes and the Per-tx-type capability matrix are below the connection fields.
Tick the transport modes the partner agreement covers.
Fill the matrix. Rows start with
270,271,276,277,278,837P,837I,837Dand835; Add row adds another type (for example999). Columns are the transport modes, and a cell is disabled when its mode is not ticked above. For a batch clearinghouse that takes professional and institutional claims over SFTP:TX type BATCH_SFTP837P✓ 837I✓ Leave the matrix empty only if the partner really accepts every transaction type on every declared mode.
Save. Then check the result:
- The Overview tab's Capabilities summary lists the transport modes and the matrix, and warns with Matrix drift when a matrix row names a mode that is not in the transport modes.
- The routing rule editor shows a Capability mismatch warning when the chosen partner cannot carry the rule's transaction type on its dispatch mode.
Capability nuances
277CA vs 277
Both are 277 transactions. They differ in BHT02:
BHT02 | Variant | Capability |
|---|---|---|
08 | 277CA — Claim Acknowledgment | 277CA inbound |
00 | 277 — Claim Status Response | 277 inbound |
Some partners only acknowledge (277CA); some only respond to status
inquiries (277); some do both. The gateway parses both via the same
parser but routes them differently based on BHT02.
999 implementation level
The 999 has been the standard since 5010; pre-5010 partners used 997. The platform only emits 999 inbound; if a partner sends 997, parse it manually and contact the partner about upgrading.
TA1 inline vs separate file
TA1 can travel either inside the same interchange that triggered it or
as a separate inbound. Most partners send it as a separate file.
Capability TA1 inbound covers both.
Validation
| Check | Expected |
|---|---|
| Overview → Capabilities shows the modes and matrix you saved | Yes. |
| No Matrix drift warning on the Overview tab | Yes. |
| The routing rule editor shows no Capability mismatch for the rules that pick this partner | Yes. |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
A rule never resolves to this partner; the resolver explains it as CAPABILITY_MISSING | The dispatch mode is not a transport mode, or the matrix does not allow the transaction type on it | Tick the mode, or add the matrix row, in Edit. |
| Matrix drift warning on the Overview tab | A matrix row names a mode no longer in the transport modes | Tick the mode again, or clear it from the row. |
| Routing rule editor shows Capability mismatch | The chosen partner is not capable of the rule's transaction type on its dispatch mode | Fix the partner's capabilities, or pick another partner. |