T24 fundamentals
OFS in T24: Message Format, Examples & How It Works
Open Financial Services is how many external systems talk to T24. This guide breaks down the OFS message format, shows practical request examples, and gives you a fast way to decide whether a failure is structure, security, application processing, or response delivery.
Browse more Integration articles →
OFS messages look like structured chaos until you understand the pattern. Once you separate the message into operation, options, sign-on context, ID information, and data, an OFS string becomes much easier to read and troubleshoot.
HELPTEXT.MENU,OFS.DEMO/I/PROCESS,TEST.USER/654321,OFS.TEST,APPLICATION:1:=SECTOR,DESCRIPT:1:=Sector
Treat examples on this page as synthetic learning material. Exact syntax, option semantics, source/channel behaviour, and security requirements can vary by release, operation, and local configuration.
What OFS actually is
OFS — Open Financial Services — is the message interface used by many external systems and channels to communicate with Temenos Transact. It describes what the request contains and how T24 should interpret it; it is separate from the transport that carries the message.
That distinction matters in production support. MQ, sockets, APIs, gateways, and other middleware can move an OFS message, but a transport failure and an OFS application failure are different problems. First prove whether the request reached the OFS/application processing path, then diagnose the earliest stage that failed.
Think of connectivity as the delivery mechanism and OFS as the message language.
What OFS can do
OFS supports several request families. The exact forms available depend on the environment, but support teams most often need to distinguish transactions from enquiries because their operation and data sections mean different things.
| Request type | Typical intent | What changes in the message | Useful next step |
|---|---|---|---|
| Transaction | Create, change, read, validate, or otherwise process an application record. | Application/version/function options and operation-specific ID information drive the request. | Build a synthetic request |
| Enquiry | Run an enquiry and return selected data. | ENQUIRY.SELECT and enquiry-specific context/criteria replace transaction-style field entry. | Parse an existing request |
| Routine / specialist operation | Invoke a supported operation outside the common transaction/enquiry pattern. | The ID/data meaning is operation-specific; do not reuse a transaction template blindly. | Check the quick reference |
If you are debugging an unfamiliar OFS message, identify the request family first. That prevents the common mistake of treating the fourth comma-delimited section as a universal source or record-ID field.
The message structure
A common OFS request can be read as five comma-delimited sections:
OPERATION, OPTIONS, USER/PASSWORD[/COMPANY], ID INFORMATION, DATA
| Section | Meaning | Common troubleshooting question |
|---|---|---|
OPERATION | Application or action being invoked. | Is this the correct operation for the request family? |
OPTIONS | Version/function/processing options where applicable. | Do the option parts match the target operation and release? |
USER | Sign-on/security context used by the channel. | Is authentication/authorisation failing before application processing? |
ID INFORMATION | Operation-specific key, reference, enquiry context, or blank. | Are you interpreting this position correctly for this operation? |
DATA | Fields, multi-values, sub-values, or selection criteria. | Are names, positions, separators, and required values correct? |
Operation
For transactions this is commonly the application name, such asSECTOR, FUNDS.TRANSFER, orAA.ARRANGEMENT.ACTIVITY. Enquiries use ENQUIRY.SELECT.
Options
Options can include version, function, and processing behaviour. Do not assume that one example is valid for every request family or release.
VERSION/FUNCTION/PROCESSING_FLAG OFS.DEMO/I/PROCESS OFS.DEMO/I/VALIDATE
User / sign-on context
OFS processing is subject to the security context configured for the channel and request. Never use real credentials in examples or external troubleshooting notes.
Source and ID context
OFS.SOURCE is configuration for a source/channel in environments that use it that way; it is not a label that belongs in the fourth section of every OFS string. The fourth section is operation-specific ID information and can be a record key, transaction reference, enquiry context, or blank.
Data
Transaction data commonly uses T24 field and multi-value notation. The exact field set is application/version-specific.
FIELDNAME:MULTIVAL:SUBVAL=VALUE ORIGINAL.TEXT=SECTOR APPLICATION:1:=SECTOR DESCRIPT:1:2=Industrie
Multiple fields are separated by commas. A missing or extra separator can shift the meaning of every section that follows, so structure validation should happen before you diagnose business rules.
Use the right OFS tool for the evidence you have
Build a synthetic request, parse an existing string, decode a short error, or parse a complete response. All tools are browser-based aids; use synthetic or appropriately redacted input.
Start from the OFS troubleshooting hub or keep the OFS message quick reference open while you work.
A transaction request in full
Here is a synthetic AA arrangement request:
AA.ARRANGEMENT.ACTIVITY,OFS/I/PROCESS,INPUTT/123456,, ARRANGEMENT=NEW, ACTIVITY:1:1=LENDING-NEW-ARRANGEMENT, EFFECTIVE.DATE:1:1=20130718, CUSTOMER:1:1=100100, PRODUCT:1:1=PERSONAL.LOAN, CURRENCY:1:1=USD, PROPERTY:1:1=COMMITMENT, FIELD.NAME:1:1=AMOUNT:1:1, FIELD.VALUE:1:1=1000
Read it left to right:
AA.ARRANGEMENT.ACTIVITY— operation/applicationOFS/I/PROCESS— options for this synthetic exampleINPUTT/123456— synthetic sign-on context- blank ID-information section — intentional for this example only
- the remaining comma-delimited values are the request data
The blank fourth section does not prove that every create operation leaves ID information blank. It demonstrates why the comma position itself matters and why operation-specific syntax must be confirmed locally.
Enquiry requests
Enquiry requests use a different intent from transaction entry. A synthetic pattern can look like this:
ENQUIRY.SELECT,,TEST.USER/654321,CURRENCY-LIST,@ID:LK=C...
Here CURRENCY-LIST is enquiry-specific context in the fourth section, illustrating again why that position is not universally a source or transaction record ID. Selection criteria live in the data portion and use enquiry-specific syntax supported by the target enquiry/release.
If an enquiry request fails, separate these questions: did the request parse, did the sign-on context authenticate, does the enquiry exist, can that user access it, and did the selection criteria validate?
VALIDATE mode — useful, but verify the target behaviour
Where the target transaction operation and release support the expected VALIDATE semantics, VALIDATE can be used to run validation/defaulting logic without committing the transaction. That makes it useful for controlled testing before PROCESS.
ABBREVIATION,//VALIDATE,TEST.USER/654321,SEC,ORIGINAL.TEXT=SECTOR
Do not assume that every operation, version, channel, or release returns identical data or executes identical logic in VALIDATE. Confirm the behaviour in an approved non-production path before using it as a production-safety assumption.
OFS.SOURCE — source and channel configuration
Many OFS implementations have source/channel configuration that controls how a connection is identified, logged, or processed. In environments that useOFS.SOURCE, treat it as configuration, not as a universal fourth field inside every OFS message.
When a previously working integration stops, check the source/channel layer only after you know the transport reached the OFS entry point. Useful questions include:
- Is the expected source/channel configuration present and active?
- Does the failing connection resolve to the configuration you think it does?
- Did authentication, company, service, or interface configuration change?
- Is logging sufficient to prove whether the request reached application processing?
Field names and settings vary by release/configuration, so use local documentation and environment evidence rather than copying a setting from another bank or release.
Security — separate authentication from application authorisation
OFS requests execute within a security context. A request can fail before application processing because sign-on/authentication is invalid, or later because the user is not authorised for the requested application/function.
For diagnosis, establish the earliest failing stage. Check whether the identity is valid and active, whether the channel/company context is correct, and whether the user is authorised for the target operation. Do not put production passwords, tokens, account identifiers, or copied sensitive messages into public tools or troubleshooting notes.
Some environments also use application-level controls that restrict OFS access. Those controls are release/configuration-specific; verify them locally instead of relying on a universal field or flag.
What goes wrong and how to diagnose it
The quickest way to diagnose OFS is by failure stage rather than by memorising error strings.
| Stage | Typical symptom | Next proof |
|---|---|---|
| Transport / arrival | No response or timeout. | Prove whether the request reached the OFS/application path before retrying. |
| Authentication / source | Rejected before application validation. | Check identity plus source/channel/company context. |
| Message structure | Parser/syntax rejection. | Parse the request and verify separators/sections. |
| Application validation | Business/application error returned. | Read the returned validation/override text and reproduce safely in an approved test path. |
| Posting / outcome | Caller timed out or response was lost. | Prove whether the transaction committed before retrying. |
| Response interpretation | Complete response is hard to read. | Parse the full response or decode a short error. |
If you need to trace one failing request across TAFJ/JBoss evidence, continue with the failed OFS request tracing guide.
Common OFS terms explained
OFS message / OFS string / OFS format
These phrases usually refer to the same practical object: the structured OFS request string and the rules used to interpret its comma-delimited sections. Use the term that helps the reader, but keep the underlying section semantics precise.
OFS request vs OFS response
The request is what the caller sends. The response is what T24 returns. A timeout does not prove that no processing occurred, so retry decisions must be based on outcome evidence rather than response absence alone.
OFS.SOURCE
This is source/channel configuration in environments that use it that way. It is not a universal label for the fourth comma-delimited section of every message.
Frequently asked questions about OFS in T24
What is OFS in T24?
OFS is the message interface used by many external systems and channels to communicate with Temenos Transact. It defines request/response structure separately from the transport carrying the message.
What is the OFS message structure?
A common request uses OPERATION, OPTIONS, USER/sign-on context, operation-specific ID information, and DATA. The fourth section is not universally a source field.
What is VALIDATE mode in OFS?
Where the target operation/release supports it, VALIDATE can perform validation and defaulting without committing. Confirm behaviour in the target environment.
Further reading and tools
- OFS message quick reference — compact structure, tool-choice, and troubleshooting checklist
- OFS Generator — build synthetic OFS requests
- OFS Message Parser — inspect an existing request
- OFS Error Decoder — classify a short error fragment
- OFS Response Parser — inspect a complete response
- OFS vs API vs Batch Interfaces — compare integration patterns
- MQ Patterns with T24 — OFS over messaging transports
Free web resource
OFS message quick reference
Five-section request shape, tool-choice guide, and a practical validation/troubleshooting checklist — public and available without an email gate.
Related reading
Trace a Failed OFS Request Through TAFJ and JBoss Logs
A systematic diagnostic sequence for tracing a failed OFS request from entry point to T24 processing — transport, authentication, syntax, validation, posting, and response-delivery failure stages, with log sources and redaction guidance.
OFS integrationHow to Update a Field Only When It Is Empty in OFS
A practical OFS pattern for updating a field only when its current value is empty, without creating a read-then-write race in T24.
OFS troubleshootingOFS Response Errors: Diagnose Failures by Processing Stage
Diagnose T24 OFS response failures by transport, authentication, syntax, validation, authorisation, posting, and response-delivery stage.
