Jack Henry SilverLake TrnCodeCode: Retrieve Values
TrnCodeCode values in Jack Henry SilverLake are FI-specific and not public. Use ParmValSrch (ParmName='TranCodeCode'), AcctHist/AcctRecon, or TrnAdd test posts.
How can I get a complete list of valid
I’m working with the Jack Henry SilverLake (JXchange / Symitar) transaction APIs and using the TrnAdd request. Example:
<TrnAdd xmlns="http://jackhenry.com/jxchange/TPG/2008">
<TrnInfo>
<Amt>100.00</Amt>
<TrnCodeCode>90</TrnCodeCode>
<EffDt>2026-01-01</EffDt>
</TrnInfo>
</TrnAdd>
My questions:
- Is there an official or documented list of all valid
TrnCodeCodevalues for Jack Henry SilverLake? - Are these codes standard across all financial institutions, or are they FI-specific / core-configured?
- Is there any API, report, or configuration file within SilverLake to retrieve or verify supported transaction codes?
- If not publicly available, what is the recommended way to determine which
TrnCodeCodevalues are supported?
Jack Henry SilverLake doesn’t provide a public, universal list of valid TrnCodeCode values for JXchange APIs like TrnAdd—these transaction codes are configured per financial institution (FI) in the core system, including Symitar setups. The best way to get your institution’s complete list is querying the ParmValSrch service with ParmName="TranCodeCode" (note the full name), which pulls from SilverLake’s parameter tables for codes like 980 (Memo Debit) or 920 (Memo Credit). If that falls short, test via TrnAdd errors or AcctReconItemSrch to discover supported values in real time.
Contents
- Understanding TrnCodeCode in Jack Henry SilverLake
- No Official Public List Exists
- FI-Specific and Core-Configured
- ParmValSrch: The Primary API for Retrieval
- Testing Methods with TrnAdd and AcctHistSrch
- Accessing Institution Reports and Tables
- Sources
- Conclusion
Understanding TrnCodeCode in Jack Henry SilverLake
Ever tried posting a transaction via JXchange TrnAdd only to hit a wall with invalid TrnCodeCode? You’re not alone. In Jack Henry SilverLake (and Symitar cores), TrnCodeCode is a three-digit numeric identifier that dictates transaction behavior—like deposits (e.g., 90 for credits), debits, or GL entries. It shows up in requests like your XML example:
<TrnAdd xmlns="http://jackhenry.com/jxchange/TPG/2008">
<TrnInfo>
<Amt>100.00</Amt>
<TrnCodeCode>90</TrnCodeCode>
<EffDt>2026-01-11</EffDt>
</TrnInfo>
</TrnAdd>
But here’s the catch: these aren’t arbitrary. They tie directly to your FI’s core setup. SilverLake docs emphasize that TrnCodeCode appears in responses from AcctReconItemSrch or AcctHistSrch, mapping to database fields like SilverLake’s DDPAR3 for descriptions https://jackhenry.dev/open-enterprise-api-docs/enterprise-soap-api/api-reference/core-services/accthistsrch/providers/silverlake/mapping/. No magic universal decoder ring exists.
Why does this matter for devs? One wrong code, and your integration crumbles—fees misapply, or worse, transactions fail silently in prod.
No Official Public List Exists
Short answer to your first question: Nope, no official, documented master list of all valid TrnCodeCode values for Jack Henry SilverLake. The JXchange SOAP API references, like those for TrnAdd, explicitly state no enumeration or public roster is published https://jackhenry.dev/jxchange-soap/api-reference/core-services/trnadd/.
It’s by design. SilverLake treats these as internal config, not standardized specs. Even comprehensive guides on TrnAdd or AcctReconItemSrch confirm: “No public list is published. The codes are defined in each institution’s core configuration” https://jackhenry.dev/jxchange-soap/api-reference/core-services/trnadd/trnadd/.
Frustrating? Absolutely. But it keeps things flexible for FIs tweaking codes for custom workflows.
FI-Specific and Core-Configured
To your second question: TrnCodeCode values are not standard across all financial institutions. They’re FI-specific and core-configured, meaning your bank’s SilverLake (or Symitar) setup defines the full set. One FI might support 900+ codes; another prunes to essentials.
Docs hammer this home: “Transaction codes are core-configured and FI-specific. Each institution can add, remove, or rename codes” https://jackhenry.dev/jxchange-soap/api-reference/core-services/trnadd/. For GL transactions, SilverLake skips TrnCodeCode altogether, using TrnInfo.DrCr instead https://jackhenry.dev/jxchange-soap/api-reference/core-services/trnadd/trnadd/.
Symitar users? Check the “Transaction Code” table in your core DB—no cross-institution harmony here.
ParmValSrch: The Primary API for Retrieval
Yes! SilverLake offers ParmValSrch as the go-to API for your third question. Query the core parameter tables directly:
- Set
ParmName = "TranCodeCode"(full name matters—TrnCodeCode alone might flop). - For SilverLake/CIF 20/20: Response lists all accepted codes.
Stack Overflow devs confirm this works, though it needs precise params https://stackoverflow.com/questions/76237107/assistance-with-trncodecode-values-in-jackhenry-jxchange-dmz. Example request skeleton:
<ParmValSrchRq>
<ParmName>TranCodeCode</ParmName>
</ParmValSrchRq>
Boom—your institution’s exhaustive list. If empty? Double-check with your core admin; some configs hide it.
Testing Methods with TrnAdd and AcctHistSrch
No ParmValSrch access? Fall back to practical tests for question four.
-
TrnAdd Trial-and-Error: Submit test transactions with candidate codes. Error responses spill supported ones: “the error message will list the supported codes for that account” https://jackhenry.dev/jxchange-soap/api-reference/core-services/trnadd/.
-
AcctReconItemSrch: Broad search (no filters) returns real TrnCodeCode samples from history https://jackhenry.dev/jxchange-soap/api-reference/core-services/acctreconitemsrch/.
-
AcctHistSrch: Pulls TrnCodeCode + descriptions (e.g., 90 = credit). Great for discovery https://jackhenry.dev/open-enterprise-api-docs/enterprise-soap-api/api-reference/core-services/accthistsrch/providers/silverlake/mapping/.
Pro tip: Memo Debits? Try 980. Credits? 920. These pop in testing https://jackhenry.dev/jxchange-soap/api-reference/core-services/trnadd/trnadd/.
Accessing Institution Reports and Tables
Still stuck? Escalate internally:
- Request a “Transaction Code” report from your SilverLake support team.
- Query Symitar’s TRNCODE table directly (DB access required).
- Export core config files via admins—TimeDepAcctHist extracts show mappings like CHTRAN for codes https://jackhenry.dev/open-enterprise-api-docs/operational-data-integration/odi-extracts/silverlake/timedepaccthist/.
Your core admin holds the keys. No public shortcuts, but this uncovers everything.
Sources
- Developer Resources - Transaction Add
- JXchange SOAP API - TrnAdd
- AcctReconItemSrch API Reference
- AcctHistSrch SilverLake Mapping
- Stack Overflow: TrnCodeCode Assistance
- TimeDepAcctHist Extracts
Conclusion
Jack Henry SilverLake TrnCodeCode values stay hidden in FI-specific configs—no public list, but ParmValSrch with “TranCodeCode” delivers the goods reliably. Test via TrnAdd errors or history APIs for validation, and lean on your core team for reports. Build resilient integrations by querying dynamically; it’ll save headaches down the line.