Test & Prod Usage Indicators Now Supported
Adrian Duyzer
Each transaction setting now has a usage indicator, Production (P) or Test (T), that sets the ISA15 on outbound interchanges and is recorded on every inbound document, instead of every interchange going out as P.
Impact: nothing changes unless you change it. Every existing setting defaults to P, which is what Tediware has always sent. If a partner expects T while you test a new transaction set, open that settingās Advanced section and switch it to Test. If your system receives inbound webhooks, check usageIndicator on the result before you create orders or update records, because a partnerās test documents go through the same flow and to the same webhook as its production ones.
How it works:
- The setting is per transaction set, so a partnerās 850 can be live while its 856 is still in testing, over the same connection and flows.
- On an outbound set, the setting is the ISA15 Tediware sends. To send one document with the other value, pass
overrides.usageIndicator(PorT) on the send request. Any other value returns400 invalid_parameter. - On an inbound set, the setting is the value you expect the partner to send. Tediware records the ISA15 that actually arrives. A document with the other value is still processed, with a
usage_indicator_mismatchwarning whosedetailcarries theusageIndicatorthat arrived and theexpectedvalue. - Automatic 997s go out with the same ISA15 as the interchange they acknowledge.
- Duplicate detection compares test documents only with test documents and production only with production, so a partner who restarts control numbers for test traffic is not flagged for it.
Where you see it:
- The platform API returns
usageIndicatoron transactions (list, compact and detail), on results, and on each entry in a partnerāstransactionSets. The MCP tools return it too. - Test transactions carry a T badge on the EDI Transactions list, and the Prod/test filter narrows the list to one or the other.
Notes and limits:
- The sandbox partnerās settings are now Test, and its sample documents arrive as test documents. If your code skips test documents, it will skip every sandbox document, so an empty result in the sandbox can mean the check is working.
- Test transactions are billed the same as production ones.
- An inbound transaction records the ISA15 value as sent, uppercased, including
Ior a code outside the X12 list, and readsPwhen ISA15 was blank. Transactions recorded before this change readP. - The platform APIās transaction list has no filter on
usageIndicatoryet. Read the field from each row instead.
The details are in the partner docs.
This update was written with AI assistance. It has been reviewed and edited by a human.