﻿# TRSuite 26.02 - CARF module

*Source: TRSuite_26.02_UsersGuide_Module_CARF.docx - TRSuite 26.02, published September 2026. Generated with word/tools/docx_to_md.py.*

TAX REPORTING SUITE

CARF

![](media/TRSuite_26.02_UsersGuide_Module_CARF/image1.png)

VERSION 26.02

USERS’S MANUAL

Published: Sep 2026

For the latest information and to leave feedback, please visit BRIFS GmbH at [http://www.section11.ch](http://www.section11.ch) or [https://www.trsuite.ch](https://www.trsuite.ch)

The information in this document and any document referenced herein is provided for informational purposes only, is provided AS IS AND WITH ALL FAULTS and cannot be understood as substituting for customized service and information that might be developed by BRIFS GmbH for a particular user based upon that user’s particular environment. RELIANCE UPON THIS DOCUMENT AND ANY DOCUMENT REFERENCED HEREIN IS AT THE USER’S OWN RISK.

© 2026 BRIFS GmbH. All rights reserved.

Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place or event is intended or should be inferred.

BRIFS GMBH PROVIDES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION CONTAINED IN THIS DOCUMENT AND ANY DOCUMENT REFERENCED HEREIN. BRIFS GmbH provides no warranty and makes no representation that the information provided in this document or any document referenced herein is suitable or appropriate for any situation, and BRIFS GmbH cannot be held liable for any claim or damage of any kind that users of this document or any document referenced herein may suffer. Your retention of and/or use of this document and/or any document referenced herein constitutes your acceptance of these terms and conditions. If you do not accept these terms and conditions, BRIFS GmbH does not provide you with any right to use any part of this document or any document referenced herein.

Complying with the applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording or otherwise), or for any purpose, without the express written permission of BRIFS GmbH.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

## Revision History

| **Version** | **Doc Version** | **Revision Date** | **Description** |
| --- | --- | --- | --- |
| 26.02 | Rev 0 | 06.09.2026 | Initial Revision - first edition of the CARF module guide |

## The Main Window

The Main window is the launch point for the entire application. You can select the licensed module in the modules button bar and perform the module specific tasks within main area of the module.

Each module comes with its own module menu and detail area.

Modules Button Bar – shows all available modules of the software.Modules Button Bar – shows all available modules of the software.

Module Menu – module specific menu optionsModule Menu – module specific menu options

Menu optionsMenu options

Module Details Area – includes general information and details for the selected moduleModule Details Area – includes general information and details for the selected moduleModule Main Area – the main working area of a module, where all module specific tasks can be executedModule Main Area – the main working area of a module, where all module specific tasks can be executed

![](media/TRSuite_26.02_UsersGuide_Module_CARF/image2.png)

## CARF: Module Overview

This guide provides information about the CARF module of the TRSuite software package. It describes processes and procedures for creating, importing, validating and exporting reports under the OECD Crypto-Asset Reporting Framework (CARF). The module writes and reads the OECD schema CARFXML version 1.0 (namespace urn:oecd:ties:carf:v1).

This document may describe features and capabilities that requires a separate license and are not covered by the standard license. For information about licensing please contact support@section11.ch

The CARF module includes the following:
- Report dashboard with the report tree and the matching editor for each element
- Message Specification
- Reporting Crypto-Asset Service Provider (RCASP) including nexus information
- Crypto Users, either individuals or entities, with their controlling persons
- Relevant Transactions covering all eight transaction kinds of the CARF schema
- XML- / Excel-Import, including the generation of correction reports
- XML-Export and Excel-Export
- PDF documentation for the reported crypto users
- Validation against the CARF business rules and against the XML schema
- Configuration

This document will help explain how each option functions.

The CARF module is operated differently from the CRS and FATCA modules. Instead of a set of tabs it uses a single dashboard: the complete report is shown as a tree on the left, and selecting an element opens the editor for that element next to the tree. Everything you enter is written back into the selected tree node immediately, so there is no separate "add to list" step for the main elements of the report.

### Reference

The following information is used to generate a CARF XML 1.0 compliant document. Before filing a CARF report, please ensure that you are familiar with your country specific Guidance Notes.

In addition to this Users Guide, the following online resources may be useful:
- The OECD Crypto-Asset Reporting Framework: https://www.oecd.org/tax/exchange-of-tax-information/crypto-asset-reporting-framework-and-amendments-to-the-common-reporting-standard.htm
- The CARF XML Schema and User Guide published by the OECD
- The schema delivered with TRSuite: CARFXML_v1.0.xsd

## The CARF Dashboard

The dashboard is the working area of the CARF module. It is divided into four areas:
- The action bar on the left-hand side, holding the file and report operations
- The top bar with the full text search, the country validator and the error counter
- The statistics bar, summarising the current report
- The working area with the report tree on the left and the editor of the selected element on the right

### Action Bar

The action bar contains the following elements:

| **Menu Options** | **Description** |
| --- | --- |
| Generate DocRef-IDs | Generates new document reference IDs for all elements of the current report, following the rule configured in the CARF configuration. As the reference ID may depend on data you enter (for example the reporting period or the sending entity IN), it is good practice to use this function as one of the last steps before the validation. |
| Validate Report | Validates the current report against the CARF business rules of the selected country validator. The result is shown as a notification; the findings are listed in the error view. |
| Import TRSuite XLS ... | Loads a filled TRSuite CARF Excel workbook. Existing data in the module is replaced. |
| Export TRSuite XLS ... | Writes the current report into a TRSuite CARF Excel workbook, so that it can be edited outside the application and imported again. |
| Import CARF XML | Opens the import dialog for an existing CARF XML report. The dialog can also generate a correction report from the loaded data. |
| Export CARF XML ... | Opens the export dialog. The report is validated against the CARF XML schema while it is written. |
| Export Country XML ... | Reserved for national CARF formats. The entry is disabled, because no tax authority has published a national CARF format yet. |
| Open TRWI | Opens a TRSuite work item (.trwi) that was saved earlier. The complete report including the selected country validator is restored. |
| Save TRWI | Saves the current report as a TRSuite work item. If the report has not been saved before, a "Save" dialogue box comes up. Existing files are kept as rotating backups. |
| Save AS TRWI ... | Saves the current report under a different name or in a different folder. |
| General Settings | Opens the CARF configuration. |

You can save a report at any point as you work on it, and it is very good practice to save every few minutes. In addition, the module writes an automatic backup in the background; see chapter "Work Item, Auto-Save and Backups".

### Report Menu

The report menu in the upper right corner of the module contains the following element:

| **Menu Options** | **Description** |
| --- | --- |
| Create Documentation ... | Generates a reporting statement in PDF for the current report, either as a single document or as one document per crypto user. |

### Statistics

The statistics bar gives a brief overview of the current report and is updated while you work:
- RCASPs - the number of reporting crypto-asset service providers in the report
- Crypto Users - the number of crypto users over all CARF body elements
- Amount - the sum of all reported amounts, ignoring different currencies
- Tax Residences - the number of different residence country codes

### Country Validator

The country validator selected in the top bar decides which set of business rules is applied when the report is validated, and which naming and reference ID rules are used. TRSuite 26.02 ships the OECD default configuration only, because no jurisdiction has published CARF specific requirements yet. The selected validator is stored together with the report in the work item.

### Error View

The number next to the warning symbol in the top bar shows how many findings the last validation produced. Clicking the symbol opens the error view with the detailed messages. Each message names the element it belongs to, so that you can find it in the report tree.

### Full Text Search

The search field in the top bar filters the report tree over all its nodes. Enter a search term and the tree shows only the elements that match it, together with their parent elements; from three characters on the remaining branches are expanded automatically. The refresh symbol next to the field clears the filter and restores the complete tree.

The following data is taken into consideration for the search: names of individuals and entities, TIN and IIN values, residence and other country codes, address elements, birth information, document reference IDs, the nexus of the RCASP, the crypto asset and the fields of the relevant transactions. The message specification always stays visible.

The filter only changes what you see. Validation, export, the generation of document reference IDs and the PDF documentation always work on the complete report, never on the filtered view.

## Building a Report

### The Report Tree

A CARF report is built in the report tree. A new report starts with the message specification and one CARF body; the following elements can be added below:
- CARF Report - the root element of the report
- Message Specification - identifies the message as a whole
- CARF Body - one body per reporting crypto-asset service provider
- RCASP - the reporting crypto-asset service provider, either an individual or an entity
- Crypto Users - the container of all reported users of one body
- Crypto User - one reported user, either an individual or an entity
- Controlling Person - only available below a crypto user that is an entity
- Relevant Transactions - one group per crypto asset, holding the transactions of that asset

Elements are added and removed with the context menu of the according node (right-click):

| **Element** | **Menu options** |
| --- | --- |
| CARF Report | Add Message Specification, Add new CARF Body element |
| CARF Body | Remove CARF Body |
| RCASP | Add Individual RCASP ID, Add Organisation RCASP ID, Clear RCASP Information |
| Crypto Users | Add new Crypto User, Add new Crypto User with Individual, Add new Crypto User with Organization |
| Crypto User | Add Individual, Add Organisation, Remove Crypto User |
| Relevant Transactions | Add Crypto Asset Transactions, Remove Crypto Asset Transactions |
| Controlling Person | Remove Controlling Person |

A crypto user and an RCASP can be either an individual or an entity, never both. Once one of the two has been added, the menu option for the other one is no longer offered.

### Message Specification

The message specification contains the information that identifies the message as a whole: the sender, the receiving tax administration, the reporting period and the type of the message. Select the message specification in the tree to open the editor.

| **Field** | **Description** |
| --- | --- |
| Sending Entity IN | The identification number of the entity sending the message. |
| Transmitting Country Code | The jurisdiction of the sending competent authority or financial institution. |
| Receiving Country Code | The jurisdiction of the receiving competent authority. |
| Message Type | CARF. The value cannot be changed. |
| Message Reference ID | The unique identifier of the message. A value is generated automatically when the empty field is focused, following the rule configured in the CARF configuration. |
| Message Type Indicator | CARF701 for a message with new information, CARF702 for corrections and deletions of information sent earlier, CARF703 to advise that there is no data to report. |
| Document Type | The document type applied to the elements of the report. This field is a working field of the user interface and is not written into the XML; the document type of each element is part of its document specification. |
| Reporting Period | The last day of the reporting period in the format YYYY-12-31. |
| Warning | Optional free text, for example a note on the completeness of the data. |
| Contact | Optional contact information of the sender. |
| Timestamp | The creation time of the file. The value cannot be modified and is generated whenever the file is written. |

The message type indicator and the document types have to match. A CARF701 message must contain documents of type OECD1 (new data) or OECD0 (resend), a CARF702 message documents of type OECD2 (correction), OECD3 (deletion) or OECD0. The validation reports a violation of this rule.

### Reporting Crypto-Asset Service Provider

The RCASP element identifies the reporting crypto-asset service provider of a CARF body. Add either an individual or an entity below the RCASP node and enter the identification data in the according editor; the RCASP editor itself holds the nexus and the document specification.

| **Field** | **Description** |
| --- | --- |
| Nexus Type | The reason why the service provider is reporting in this jurisdiction: CARF901 Tax Residence, CARF902 Incorporation, CARF903 Management, CARF904 Place of Business, CARF905 Branch, CARF906 Authorisation or CARF907 Remote Services. |
| Other Nexus Type / Residence Country Code | An additional tax residence nexus in another jurisdiction. The schema allows the value CARF901 only and requires a residence country code for it. The two belong together: if one of them is entered, the other one is required. |
| Document Reference ID | The unique identifier of this RCASP document. A value is generated automatically when the empty field is focused. |
| Document Type | The type of the document: new data, correction, deletion or resend. |
| Corrected Document Reference IDs | The document and message reference ID of the document that is corrected or deleted. Only used for correction and deletion documents. |

### Crypto Users

A crypto user is the person or entity whose transactions are reported. Add a crypto user with the context menu of the "Crypto Users" node; the menu lets you create the user together with its individual or entity identification in one step.

The crypto user editor itself holds the document specification of the user, that is the document reference ID, the document type and, for corrections and deletions, the corrected document and message reference IDs. The identification data is entered in the editor of the individual or the entity below it.

#### Individual

The editor of an individual is divided into name details, identification numbers, address and birth information:
- Name Details - name type, preceding title, title, first name, middle names, name prefix, last name, generation identifier, suffix and general suffix
- Tax Identification Number(s) - one or more TIN with the issuing country. If no TIN is available, the value can be marked as unknown
- Individual Identification Number(s) - one or more IIN with the issuing country
- Residence Country Code - one or more jurisdictions of residence
- Address - address type, country code and the fix address elements (street, building identifier, suite identifier, floor identifier, district, P.O. box, post code, city, country subentity)
- Birth Info - birth date, city of birth, city subentity, country of birth and the former country name

The address of a party is always structured in CARF; unlike CRS there is no free text address. The city is required by the schema. If the birth place is reported, the country information is mandatory - this is a difference to CRS, where the country of birth may be left out.

#### Entity

The editor of an entity holds the legal name and the name type, the tax identification numbers, the organisation identification numbers, one or more residence country codes and the address. Both a structured address and a free address element are available for entities.

### Controlling Persons

Controlling persons are only reported for a crypto user that is an entity. If the crypto user is an individual, the option to add a controlling person is not offered.

The editor of a controlling person contains the same name, identification, address and birth information as an individual, plus the type of the controlling person. The type has to be set; the validation reports a controlling person without a type.

### Relevant Transactions

The transactions of a crypto user are grouped by crypto asset. Add a group with "Add Crypto Asset Transactions" in the context menu of the crypto user, enter the crypto asset (for example BTC) and add the transactions of that asset in the transaction editor. A crypto user without at least one crypto asset is reported as a finding by the validation.

The CARF schema knows eight kinds of transaction, and TRSuite offers all of them in the "Kind" selection of the editor:

| **Kind** | **Description** |
| --- | --- |
| CryptoToCryptoIn | Exchange of another crypto-asset against the reported crypto-asset. |
| CryptoToCryptoOut | Exchange of the reported crypto-asset against another crypto-asset. |
| CryptoFiatIn | Acquisition of the reported crypto-asset against fiat currency. |
| CryptoFiatOut | Disposal of the reported crypto-asset against fiat currency. |
| CryptoTransferIn | Transfer of the reported crypto-asset to the crypto user. |
| CryptoTransferOut | Transfer of the reported crypto-asset from the crypto user. |
| TransferWallet | Transfer to a wallet address that is not known to be associated with a virtual asset service provider or financial institution. |
| RRPT | Retail payment transaction for goods or services. |

Depending on the selected kind, the editor offers the fields that the schema defines for it: the exchange type respectively the transfer type, the number of transactions, the amount with its currency, the number of units and, for transfers, the alternative valuation method.

A transaction is added to the list with "Add Transaction". Selecting an entry in the list fills the form again, so that the entry can be changed with "Update Selected" or removed with "Remove Selected". While an entry is selected, the kind cannot be changed - remove the entry and add a new one if the kind was wrong.

The CARF schema allows only one kind of transaction per RelevantTransactions element. TRSuite therefore writes one RelevantTransactions element per kind that you filled, all of them carrying the same crypto asset. A report written this way and read back again produces the same data.

### Document and Message Reference IDs

Every RCASP and every crypto user carries a document specification with a document reference ID, a document type and, for corrections and deletions, the reference to the document that is corrected. A reference ID is generated automatically when you focus the empty field. As the rules may depend on data you enter later, use "Generate DocRef-IDs" before the validation to renew all identifiers of the report at once.

The rules for generating message and document reference IDs, and the regular expressions they are checked against, are part of the CARF configuration.

## Validation

Before exporting data it is recommended to validate the entered values with "Validate Report". The result is shown as a notification, the findings in the error view. The following checks are performed:
- Message specification: message reference ID, transmitting and receiving country code, sending entity IN, reporting period and its format, message type indicator and document type
- The report contains at least one CARF body, and every body contains an RCASP and at least one crypto user
- The RCASP is identified either as an individual or as an entity, and the nexus rules are observed
- Every crypto user is identified either as an individual or as an entity and has at least one crypto asset with transactions
- Parties: last name and first name of an individual, name of an entity, residence country code, TIN, birth date and the country of the birth place, address with city and country code
- Controlling persons carry a type
- TIN values are checked for length, pattern and syntax; for jurisdictions of the European Union the published TIN algorithms are applied
- Document specification: document reference ID and document type are present, the document type matches the message type indicator, and a corrected document reference ID is only set for corrections and deletions

The validation covers the business rules. The structural requirements of the schema are checked in addition when the report is exported: the XML is validated against CARFXML_v1.0.xsd and the export fails if the document does not comply.

## Loading and Importing Data

TRSuite supports the following methods to enter or import data for a CARF report:
- Input the data interactively over the report tree and the editors
- Use the provided Excel template
- Import an existing CARF XML file
- Open a TRSuite work item saved earlier
- Request a customized importer fitting your company needs (csv, xml, ...)

### Import CARF XML

The "Import CARF XML" action opens the import dialog. Select the file to be imported, either from the list of recent files or with the file chooser, and press "LOAD". Existing data in the module is replaced. Press "ADD" instead to add the content of the file to the report that is currently open.

The reader accepts any namespace prefix, so files written by other applications are read as well. The document type of the message specification is derived from the first crypto user of the file, because it is not part of the CARF schema itself.

The data filter allows you to exclude parts of the file from the import. The country validator selected in the dialog is applied to the imported report.

#### Generating a Correction Report

To correct or delete information that has been sent before, load the original report and select "Generate Correction Report". Choose the correction type - correction, deletion or resend - and TRSuite prepares the report accordingly: the message type indicator is set to CARF702, every element receives the selected document type, and the document and message reference IDs of the original report are carried over into the corrected document reference IDs. Afterwards you only have to change the values that were wrong.

### Excel Import

The most convenient way to load a larger number of crypto users is the Excel template delivered with the product. The current template is CARF_Basic_2602.xlsm; a sample file with example data and a data dictionary describing every field are delivered with it.

The workbook contains the following sheets:

| **Sheet** | **Description** |
| --- | --- |
| Disclaimer | Disclaimer and copyright information |
| Overview | Short description of the document and the template version |
| General | Message specification and RCASP |
| Individuals_List | One line per crypto user that is an individual |
| Organisations_List | One line per crypto user that is an entity |
| ControllingPersons_List | One line per controlling person |
| Transactions_List | One line per transaction |
| ReferenceData | List of values used in the drop-down lists, for your reference only |

The four list sheets are connected by the User Key in column A. Enter the key of the crypto user in the controlling person and transaction lines, so that TRSuite knows which user they belong to. The macros of the workbook generate the key from the name when a new entry is created and rename all references if the name is changed afterwards.

The import maps the data over the TRSuite field IDs in row 3 of each list sheet, not over the column positions. Columns may therefore be re-arranged, and row 3 can be hidden. The headers in row 5 are for the user, the data starts in row 6.

The workbook also contains two macros that help you to enter correct data: "New Entry" (also available with Ctrl+Shift+N) opens an entry form built from the field IDs at run time, and "Check Data" verifies the entered data before the import - the references between the sheets, the combinations of fields that the schema requires for each transaction kind, and the data formats. Findings are marked in orange and explained in a cell comment.

Select "Import TRSuite XLS ..." to load a filled workbook. Any existing data in the module is replaced. Errors and warnings are displayed in the error view and in a dialog.

## Exporting a Report

### Export CARF XML

Select "Export CARF XML ..." to open the export dialog. Choose the target file or folder, either from the list of recent entries or with the file chooser, and press "EXPORT". While the file is written it is validated against the CARF XML schema; any finding is displayed in the result area and in the error view.

The following options are available:

| **Option** | **Description** |
| --- | --- |
| File Type | The report type to be written. CARF is the only type available today. |
| Split Up Options | "By Reporting FI" writes one file per reporting crypto-asset service provider, "By Tax Residence" one file per residence country code of the crypto users. If a split option is selected, a target folder is chosen instead of a target file. |
| NIL Report | Writes a report that advises the receiving tax administration that there is no data to report. |
| Generate Documentation | Generates the PDF documentation after the successful export of the XML report. |
| Country Validator | The rule set applied while the report is written. |

A notification with a link is shown after the export, so that the generated file or folder can be opened directly from the application.

### Export TRSuite XLS

Select "Export TRSuite XLS ..." to write the current report into a TRSuite CARF Excel workbook. The generated workbook has the same structure as the template, so it can be edited outside the application and imported again. This is the recommended way to hand data over to a department that does not work with TRSuite.

### Create Documentation

Select "Create Documentation ..." from the report menu to generate a reporting statement in PDF for the current report. A dialog asks how the documentation should be created:
- One document for all crypto users - a single PDF file. A "Save" dialogue box comes up in which you enter the file name.
- One document per crypto user - one PDF per user. A folder is selected instead of a file name, and all generated documents are placed there.

For the per-user option, the file name is built from the document reference ID and the name of the crypto user. If the option "Anonymize names in file name" is selected, the name is replaced by its SHA-256 hash value, so that no client data appears in a file name. The option is only available for the per-user output.

## Work Item, Auto-Save and Backups

A CARF report is saved as a TRSuite work item with the file extension .trwi. The work item holds the complete report and the selected country validator, so that you can continue your work at any time and in any state - a report does not have to be complete to be saved.

When an existing work item is overwritten, the previous version is kept as a rotating backup. The files are named after the work item with the extensions .bak1 to .bakN, where .bak1 is the most recent one. The number of backups is set in the CARF configuration; the default is three, and the value 0 switches the backups off.

In addition, the module can save your work automatically. If the auto-save is enabled in the configuration, the current report is written to the file carf\_autosave.trwi in the configured working folder at the configured interval. The file is written atomically, so a crash during the write cannot destroy the last backup.

The auto-save file is only offered for restore if your data was not saved explicitly. Saving the work item, saving it under a new name or exporting the XML report all mark the data as saved; every automatic write marks it as unsaved again. If unsaved data is available at the next start of the application, TRSuite asks whether the auto-saved data should be restored and names the time it was written. Restored data is still unsaved - store it with "Save TRWI". If you decline the restore, you are not asked again for that file.

## CARF Configuration

The CARF configuration is opened with "General Settings" in the action bar. It contains the rules and default values used to generate a valid report for the selected reporting country. TRSuite 26.02 ships the OECD default configuration; a configuration you adapt is stored and loaded again the next time you start the application.

| **Setting** | **Description** |
| --- | --- |
| Reporting Country | The configuration to be edited. OECD is the default configuration. |
| Message Ref-ID Generation Rule / Regex | The rule used to generate a message reference ID, and the regular expression the value is checked against. |
| Reporting FI Doc-Ref ID Generation Rule / Regex | The rule and the regular expression for the document reference ID of an RCASP. |
| Account Doc-Ref ID Generation Rule / Regex | The rule and the regular expression for the document reference ID of a crypto user. |
| TIN Validation Rule / Regex | The rule and the regular expression used to check tax identification numbers. |
| File Naming Rule / Regex | The rule used to build the name of the exported file. |
| Default Country Code | Entered into an empty country code field when it is focused. |
| Default Currency Code | Entered into an empty currency code field when it is focused. |
| Max File Size (MB) | Maximum size of a generated file. -1 means no limitation. |
| Max Accounts per File | Maximum number of crypto users per file. -1 means no limitation. |
| Max TRWI Backups | Number of rotating backups kept when a work item is overwritten. 0 switches the backups off, the default is 3. |
| Auto-Save Enabled | Switches the automatic backup on or off. The default is off. |
| Auto-Save Period (sec) | The interval of the automatic backup in seconds. The default is 60 seconds. |
| Working Folder / Folder for auto-save file | The folder the automatic backup is written to. The default is the temporary folder of the user. |

Do not forget to save the changes before you leave the configuration.

## Appendix

### Export control information

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

TRSuite uses the Java Cryptography Architecture (JCA) and the Bouncy Castle libraries for handling de-/encryption.
