The TPT-IBS report — the monthly security-by-security reporting of financial companies — is the most granular of the three statistical returns that Luxembourg financial companies file with the Banque centrale du Luxembourg. Every individual security on the balance sheet is reported line by line, with its identification, valuation and, when no ISIN exists, a full set of supplementary data. This guide covers Layout 2, applicable from the January 2027 reference period, and flags the points where the BCL’s own documents disagree with one another.
On this page
- Who must report, and when
- Securities in scope
- How a TPT-IBS file is built
- The five items in detail
- ISIN and non-ISIN securities
- Supplementary information
- What Layout 2 changes
- The 23 permanent verification rules
- File naming and transmission
- Where the BCL documents disagree
- Pre-submission checklist
- Frequently asked questions
Who must report, and when
Regulation BCL 2014/17 requires every resident financial company above the exemption threshold to file the S 2.16, the S 2.17 and the security-by-security report. A company is a financial company when its object covers at least one of five activities: investing in any company for any investment purpose; acquiring securities, shares, bonds, certificates of deposit or any other financial instrument; investing directly or indirectly in real estate, patents or other intellectual property; borrowing in any form; or lending funds to its shareholders, subsidiaries, affiliated companies or any other entity.
A company is resident when it is a legal person under Luxembourg law — covering the head office, its Luxembourg subsidiaries, affiliates and branches — or a legal person under foreign law acting through a head office or a branch established in Luxembourg.
| Point | Rule |
|---|---|
| Exemption threshold | Total balance sheet of €500 million, or the equivalent in foreign currency. Below it, the BCL exempts the company from monthly and quarterly statistical reporting. |
| Frequency | Monthly. |
| Reference date | The last business day of each month — not the last calendar day. |
| Deadline | At the latest 20 working days after the end of the month concerned. The exact dates are published on the BCL website. |
| Reporting currency | The accounting currency of the company. Amounts may carry up to five decimals. |
| Record keeping | Reports and supporting documents must be kept for 24 months. |
Securities in scope
Only securities recorded in five lines of the S 2.16 quarterly balance sheet are reported. No other line is in scope.
| Side | Item | Content |
|---|---|---|
| Assets | 1-003000 | Debt securities held |
| Assets | 1-005000 | Equity and investment fund shares or units held |
| Liabilities | 2-002050 | Short sales of securities |
| Liabilities | 2-003000 | Debt securities issued |
| Liabilities | 2-C05000 | Capital, share premiums, reserves and results |
How a TPT-IBS file is built
Header
| Field | Content |
|---|---|
endMonthDate | The statistical reference date: the last business day of the month reported. |
closingDate | The date on which the data were established. May be later than the reference date. Every security’s issue date must be on or before it. |
reporterID | Type and code of the entity that files. |
declarantID | Type and code of the entity whose data are reported. |
reportingCurrency | The accounting currency of the company. |
layout | 2 from the January 2027 reference period. |
endMonthDate, not endOfMonthDate. Any other spelling fails schema
validation before the file ever reaches the BCL’s verification rules.The balance sheet line identifier
Each security sits inside a balance sheet line. In the TPT-IBS that line carries no real breakdown: the three breakdown components are always the no-breakdown codes.
| Component | Element | Value in TPT-IBS |
|---|---|---|
| Balance sheet item | item | One of the five codes above |
| Country | country | XX |
| Currency | currency | XXX |
| Economic sector | sector | 90000 |
The five permitted identifiers are therefore 1-003000-XX-XXX-90000,
1-005000-XX-XXX-90000, 2-002050-XX-XXX-90000,
2-003000-XX-XXX-90000 and 2-C05000-XX-XXX-90000. Unlike the S 2.16,
the TPT-IBS line carries no original maturity component.
Valuation and sign
| Situation | Rule |
|---|---|
| Quoted securities | The price prevailing on the stock exchange at the end of the reporting date. |
| Securities other than shares | Dirty price: market price plus interest accrued since the last coupon payment. |
| Positive amounts required | 1-003000, 2-002050, 2-003000 |
| Negative amounts permitted | 1-005000, 2-C05000 |
| Line total | A totalReportedAmount is required for each of the five lines and must equal the sum of its securities. |
Quantity
Quoted in percentage points
Report nominalAmount and nominalCurrency. The pool factor must
not be applied to the nominal. The nominal currency must be a real ISO 4217 code
— XXX is forbidden.
Quoted in monetary units
Report numberOfUnits. Do not report a nominal amount or a nominal currency.
The five items in detail
1-003000 — Debt securities held
Negotiable debt instruments on the asset side: bonds, notes, commercial paper, treasury bills, subordinated debt in securities form. Accrued interest is included. Debt securities issued and held by the reporting agent itself are not recorded as assets.
| Field | Permitted values |
|---|---|
holdSecurityType | 01 held and not temporarily transferred, 02 lent, 03 sold under a repurchase agreement |
securityType | F.3 |
reportedAmount | ≥ 0 |
1-005000 — Equity and investment fund shares or units held
| Field | Permitted values |
|---|---|
holdSecurityType | 01, 02, 03 |
securityType | F.511 quoted shares, F.512 unquoted shares, F.519 other equity, F.52 investment fund shares or units |
relationshipLink | 01, 02, U0, 03 |
reportedAmount | May be negative |
2-002050 — Short sales of securities
The liability arising from a short sale. The amount is the sale price, valued on the same basis as comparable positions on the asset side.
| Field | Permitted values |
|---|---|
holdSecurityType | 05 |
securityType | F.3, F.511, F.512, F.519, F.52 |
reportedAmount | ≥ 0 |
2-003000 — Debt securities issued
| Field | Permitted values |
|---|---|
holdSecurityType | 04 |
securityType | F.3 |
| Issuer country, non-ISIN | LU |
| Issuer sector, non-ISIN | 44000 |
reportedAmount | ≥ 0 |
2-C05000 — Capital, share premiums, reserves and results
Equity capital issued by the reporting company: paid-up capital, share premiums, reserves and undistributed profits. Each shareholder and their country of residence must be identified.
| Field | Permitted values |
|---|---|
holdSecurityType | 04 |
securityType | F.511, F.512, F.519 — F.52 is not permitted here |
shareholderCountry | A real ISO 3166 code, or a BCL supranational code |
relationshipLink | 04, 05, V0, 06 |
reportedAmount | May be negative |
XX. The
instructions state it twice. The schema is more permissive — it accepts codes beginning
with X — so a file carrying XX will validate technically and be
rejected on the rules. Block it in your own tool.ISIN and non-ISIN securities
Securities with a valid ISIN, codeType = 1
- The first two characters must be a valid ISO 3166 country code at the date of issue, or one of
EU,XA,XB,XC,XD,XS. - These prefixes are never valid:
DU,EV,HF,HS,QS,QT,QU,QY,TE,XF,XX,ZZ. - The code must pass the ISO 6166 check digit.
- Provisional or pseudo codes are not ISINs. Internal codes built to look like an ISIN must never be reported as one.
Securities without an ISIN, codeType = 2
The identification code may be internal or external, but it must never change from one report
to the next. When the issuer is a Luxembourg entity, the RCS number is required as the code. If
you hold several investments in the same entity, derive unique codes from a common base —
B1234a, B1234b, and so on.
The issuer is identified by five elements.
| Element | What the BCL expects |
|---|---|
lei | The Legal Entity Identifier when one has been assigned. If none exists, report twenty zeros — never the parent company’s LEI. |
nationalID/type | The register concerned, taken from the ECB list of national identifiers. |
nationalID/code | The identification number itself. For a Luxembourg counterparty, the RCS number exactly as registered. |
country | ISO 3166. XX is forbidden. |
sector | A Level 1 code from Types of breakdowns. |
XX_NOTAP and code XX exist — but the BCL monitors their use
and expects them to stay exceptional.Luxembourg investment funds
Securities issued by investment funds are reported at sub-fund level, unless the fund has a traditional single-compartment structure.
| Case | Format | Example |
|---|---|---|
| CSSF-authorised fund, no sub-fund | LUOxxxxxxC00000 or LUKxxxxxxC00000 | — |
| Compartment of a CSSF-authorised fund | LUOxxxxxxCxxxxx or LUKxxxxxxCxxxxx | — |
| Non-authorised AIF, no sub-fund | Six-character prefix (LURCSB, LURCSK, LURCSL) + 7 digits | RCS K1234 → LURCSK0001234 |
| Umbrella non-authorised AIF | Prefix + 7 digits + C + 5 digits | RCS B123456, compartment 1 → LURCSB0123456C00001 |
LUO and
LUK exist for CSSF-authorised funds, and non-authorised AIFs use three prefixes,
LURCSB, LURCSK and LURCSL, depending on the company form
in the Trade and Companies Register. Hard-coding a single prefix is a common source of rejected
lines.Supplementary information
Supplementary data are required only for securities without an ISIN, and they depend on the nature of the instrument, not on the balance sheet side. A short sale of a debt security carries debt supplements; a short sale of equity carries equity supplements.
Debt instruments
| Field | Content | Rule |
|---|---|---|
securityType | Classification | F.3 |
issueDate | Issue date | On or before the closing date. On a roll-over, report a new security with a new code, the roll-over date as issue date and the new maturity. |
finalMaturityDate | Final maturity | 01.01.2999 for perpetual bonds. |
poolFactor | Share of principal still outstanding | Strictly above 0. Default 1. May exceed 1 when it includes accrued interest. |
couponType | Nature of the coupon | 01 fixed, 02 progressive, 03 floating, 04 zero, 05 index-linked, 99 other |
couponFrequency | Coupons per year | 00 zero, 01 annual, 02 half-yearly, 04 quarterly, 06 bi-monthly, 12 monthly, 24 fortnightly, 99 other |
couponLastPaymentDate | Last coupon paid | Equals the issue date when nothing has been paid yet. Between the issue date and the final maturity. |
couponRate | Annualised rate | In percent: a 5.5 % coupon is reported as 5.5. |
Equity and investment fund shares or units held
| Field | Permitted values |
|---|---|
securityType | F.511, F.512, F.519, F.52 |
relationshipLink | 01 at least 10 % of the capital held, 02 under 10 % and issued by a shareholder of the reporting company, U0 sister company, 03 no affiliation |
dividendAmount
and dividendLastPaymentDate were removed from the equity supplements. The
instructions still list them in section 5.2.2.3, but the Layout 2 schema contains no such
elements: a file carrying them fails validation outright. Do not transmit them.Capital, share premiums, reserves and results
| Field | Permitted values |
|---|---|
securityType | F.511, F.512, F.519 |
shareholderCountry | A real ISO 3166 code. XX is forbidden. |
relationshipLink | 04 at least 10 % held by the shareholder, 05 under 10 % cross-holding, V0 sister company, 06 no affiliation |
What Layout 2 changes
The Layout 2 schema is version 1.5 of the security-by-security structure. Four changes affect the data you transmit.
| Change | Layout 1 | Layout 2 |
|---|---|---|
| Custodian bank country | custodianBankCountry reported on each line | Removed |
| Dividend data on equity held | dividendAmount, dividendLastPaymentDate | Removed |
| Issuer identification | Country and sector | Plus lei and nationalID |
| Affiliation links | U1 to U4, V1 to V4 | U0 and V0 |
| Layout value in the file | 1 | 2 |
The 23 permanent verification rules
The BCL splits its checks in two. Permanent rules are addressed to software providers and must be implemented in the reporting tool. Temporary rules are addressed to reporting agents and are not expected to be coded, because they change.
| # | Rule |
|---|---|
| 1 | Only the five authorised items may appear. |
| 2 | Only the five authorised line identifiers may appear. |
| 3 | The amount is ≥ 0 for 1-003000, 2-002050 and 2-003000; it may be below 0 for 1-005000 and 2-C05000. |
| 4 | Percentage-quoted: if the reported amount is above 0, the nominal amount must be above 0. |
| 5 | Currency-quoted: if the reported amount is above 0, the number of units must be above 0. |
| 6 | ISIN codes comply with ISO 6166: valid country prefix and correct check digit. |
| 7 | Non-ISIN: issuer country in ISO 3166, XX forbidden; issuer sector taken from Types of breakdowns. |
| 8 | Twenty Level 1 sector codes are authorised: 11000, 12100, 12200, 12300, 21000, 22110, 22120, 22200, 31000, 32100, 32200, 33000, 41000, 42100, 42200, 42900, 43000, 44000, 45000, 46000. |
| 9 | The type of holding matches the item: 01, 02, 03 for the two asset items; 05 for 2-002050; 04 for 2-003000 and 2-C05000. |
| 10 | The nominal currency follows ISO 4217; XXX is forbidden. |
| 11 | The security type matches the item, as set out above. |
| 12 | Non-ISIN issued by a Luxembourg reporter: country LU, sector 44000, holding 04, affiliation 04, 05, 06 or V0. |
| 13 | Non-ISIN held by a Luxembourg reporter: holding 01, 02 or 03; security type F.511, F.512, F.519 or F.52; affiliation 01, 02, 03 or U0. |
| 14 | The issue date is on or before the closing date. |
| 15 | The pool factor is strictly above 0, defaults to 1 and may exceed 1 exceptionally. |
| 16 | The coupon type is one of 01, 02, 03, 04, 05, 99. |
| 17 | The coupon frequency is one of 00, 01, 02, 04, 06, 12, 24, 99. |
| 18 | Zero coupon type 04 pairs only with zero coupon frequency 00, and the other way round. |
| 19 | The last coupon payment date equals the issue date when nothing has been paid, and otherwise falls between the issue date and the final maturity. |
| 20 | The coupon rate is the annualised rate at the reporting date, in percent. |
| 21 | The gap between the closing date and the last coupon payment is consistent with the frequency (see below). |
| 22 | If the last coupon payment is strictly after the issue date and strictly before the final maturity, the coupon rate must be above 0. |
| 23 | If the frequency is not 00 and the coupon type is fixed 01, the coupon rate must be above 0. |
Rule 21 in detail
The permitted gaps are twice the theoretical period, so that a first coupon paid late does not trigger a false error.
| Frequency | Meaning | closingDate − couponLastPaymentDate |
|---|---|---|
00 | zero coupon | ≥ 0 |
01 | annual | ≥ 0 and < 720 days |
02 | half-yearly | ≥ 0 and < 360 days |
04 | quarterly | ≥ 0 and < 180 days |
06 | bi-monthly | ≥ 0 and < 124 days |
12 | monthly | ≥ 0 and < 62 days |
24 | fortnightly | ≥ 0 and < 31 days |
99 | other | ≥ 0 |
Reconciliation with the S 2.16
Five permanent rules link the two reports. At each quarter end, the
totalReportedAmount of each TPT-IBS line must equal the amount reported on the
matching S 2.16 line: 1-003000-XX-XXX-90000, 1-005000-XX-XXX-90000,
2-002050-XX-XXX-90000, 2-003000-XX-XXX-90000 and
2-C05000-XX-XXX-90000.
The temporary rule: federal states
Sector 12100, State government, may only be combined with a country that has a
federal structure. The BCL’s list holds 27 countries.
AE AR AT AU BA
BE BR CA CH DE
ES ET FM IN IQ
KM MX MY NG NL
PK RS RU SD SS
US VE
File naming and transmission
TPTIBS_L2_yyyymm_Rrrrrrrrrr_Dddddddddd_yyyymmdd_nnn.xml TPTIBS_L2_202701_DSE0000999_DSE0003524_20270220_001.xml
| Segment | Meaning |
|---|---|
TPTIBS | Report code. |
L2 | Layout version. |
yyyymm | Reference period. 202701 is January 2027. |
Rrrrrrrrrr | The reporter, the entity that files: type prefix followed by the identification number, padded on the left with zeros. Ten characters in total. |
Dddddddddd | The declarant, the entity whose data are reported. A financial company uses DSE followed by the numerical part of its RCS number, padded to seven digits. |
yyyymmdd | File creation date. |
nnn | Sequence number. A new sequence starts each day, at 001. 000 is never used. |
DSE0000999, not DSE000000999.Reporter and declarant type codes
| Type | Identification number | Prefix in the file name |
|---|---|---|
01 | Allocated by the CSSF to other entities | 1 |
05 | Allocated by the BCL | 5 |
06 | Allocated by the BCL to non-resident entities | 6 |
23 | Allocated by the CSSF to banks | B |
30 | Allocated by the CSSF to management companies | S |
32 | Allocated by the CSSF to professionals of the financial sector | P |
35 | Allocated by the BCL to financial companies | DSE |
36 | Allocated by the CSSF to PFS — IT companies | I |
40 | Allocated by the CSSF to alternative investment fund managers | A |
Transmission channels
The BCL accepts Sofie (SIX Payment Services Europe, CETREL Securities) and e-file (Bourse de Luxembourg, Fundsquare), as well as any other secure channel agreed between the BCL and the reporting agent. Unlike the CSSF, the BCL provides no free channel of its own.
Where the BCL documents disagree
Three points in the Layout 2 documentation are internally inconsistent. Each one has produced rejected filings, and each has a defensible resolution.
The U1 affiliation code
Compendium, rule 13
Lists 01, 02, 03, U1, U0.
Instructions, sections 4.5 and 5.2.2.3
List 01, 02, U0, 03. No U1.
Resolution: use U0. The instructions describe the code set twice
and never define U1; the Layout 2 release notes state that U0 and
V0 were introduced in place of the former series. U1 in the compendium
is a residue of Layout 1.
The sequence number separator
Transmission manual, file name table
TPTIBS_L2_…_yyyymmdd.nnn — with a full stop.
Same manual, section 2.1, and the official example file
…_yyyymmdd_nnn.xml — with an underscore.
Resolution: use the underscore. The general structure given in section 2.1
uses it, the S 2.16 and S 2.17 rows of the same table use it, and the example file shipped inside
the BCL’s own schema archive is named
TPTIBS_L2_202712_DSE0999999_DSE0999999_20260715_001.xml. The full stop in the TPT-IBS
row is a typographic error.
Dividend fields on equity held
Instructions, section 5.2.2.3
Still require dividendAmount and dividendLastPaymentDate.
Layout 2 schema
Contains neither element. The release notes record their removal.
Resolution: do not transmit them. A schema is not advisory — a file containing an element the schema does not declare is rejected before any verification rule is applied. Note that section 4.8.2, which describes the same supplements, already omits them.
Pre-submission checklist
Structure
- Layout value set to
2and_L2_in the file name endMonthDateon the last business day of the month- Every issue date on or before the closing date
- Line identifiers restricted to the five permitted combinations
- Identifier blocks in the file name exactly ten characters
- Sequence number starting at
001each day
Content
- ISIN prefixes checked against the excluded list, check digit verified
- Non-ISIN codes stable since the first report in which they appeared
- A national identifier on every counterparty, LEI or no LEI
- Twenty zeros where no LEI exists, never the parent’s LEI
- Affiliation codes restricted to
01,02,03,U0on the asset side and04,05,06,V0on the liability side - No shareholder country left at
XX - No dividend fields transmitted
- Dirty price applied to every debt security
- Securities lent or sold under repo still reported; securities borrowed or received under repo excluded
- Sector
12100only against one of the 27 federal countries
Reconciliation
- The five
totalReportedAmountvalues equal to the matching S 2.16 lines at each quarter end - Each line total equal to the sum of its securities
- Reports and supporting documents archived for 24 months
Filing the TPT-IBS from Excel, without writing XML
Fund XP publishes a macro-enabled workbook covering the S 2.16, the S 2.17 and the TPT-IBS in
Layout 2, in a single file. Every rule on this page is implemented as a control that fires while
you type: ISIN check digits verified, affiliation codes restricted to the Layout 2 list, coupon
consistency tested against rule 21, shareholder country blocked at XX, and the
reconciliation with the S 2.16 computed before you file. One macro produces the three XML files
under their regulatory names, and refuses to write anything while a line is still in error.
Frequently asked questions
Which securities must be reported in the TPT-IBS?
Only securities recorded in five lines of the S 2.16 balance sheet: debt securities held (1-003000), equity and investment fund shares or units held (1-005000), short sales of securities (2-002050), debt securities issued (2-003000), and capital, share premiums, reserves and results (2-C05000). No other line is in scope.
When is the TPT-IBS due?
Monthly, at the latest 20 working days after the end of the month concerned. The reference date is the last business day of the month, not the last calendar day. The exact submission calendar is published on the BCL website.
Do I still report dividend data in Layout 2?
No. The dividendAmount and dividendLastPaymentDate fields were removed from the equity supplements in Layout 2. The instructions still mention them in section 5.2.2.3, but the schema declares no such elements, so a file containing them is rejected at validation.
Is the U1 affiliation code still valid?
No. The instructions give only 01, 02, U0 and 03 on the asset side, and 04, 05, V0 and 06 on the liability side. The U1 that still appears in rule 13 of the compendium is a residue of Layout 1 and should not be used.
What do I report when the issuer has no LEI?
Twenty zeros, never the LEI of the parent company. A national identifier is required in addition, for every counterparty, even when a LEI has been provided. Only where the reporter genuinely holds no identifier may the type XX_NOTAP and the code XX be used, and the BCL monitors that usage.
Can the shareholder country be reported as XX?
No. For item 2-C05000 the country of residence of the shareholder must be a real ISO 3166 code or a BCL supranational code. The schema is more permissive than the instructions here, so a file using XX may pass technical validation and still be rejected on the verification rules.
Are securities lent or sold under a repurchase agreement still reported?
Yes. Under the economic holder principle, securities lent or sold under a repo remain on the original owner’s balance sheet and are reported with holding type 02 or 03. Securities borrowed or received under a repo are not on the temporary acquirer’s balance sheet and must not be reported.
How does the TPT-IBS reconcile with the S 2.16?
Five permanent verification rules require the totalReportedAmount of each TPT-IBS line to equal the amount reported on the matching S 2.16 line at each quarter end, for all five items. Reconcile before filing rather than waiting for the BCL to reject the pair.
Official sources: TPT-IBS instructions, Layout 2 · TPT-IBS compendium of verification rules, Layout 2 · TPT-IBS XML schemas, Layout 2 · Definitions and concepts, 2026 · Manual of electronic transmission, 2026 · Types of breakdowns. This page is informative and does not constitute regulatory advice; only BCL publications are authoritative.
The TPTIBS report — Monthly Security-by-Security Reporting of Financial Companies — is a mandatory statistical submission to the Banque centrale du Luxembourg (BCL). Required under Regulation 2014/17, it obliges resident Luxembourg financial companies above the €500 million asset threshold to report every individual security on their balance sheet each month. This guide covers the full technical specification: scope, data model, field constraints, verification rules, and XML submission requirements — and introduces how Fund XP’s Excel-based reporting solution can dramatically simplify your compliance workflow.
Table of Contents
- Scope and Reporting Population
- Securities Subject to Reporting
- Data Model and Key Concepts
- The Five Balance Sheet Items Explained
- ISIN vs. Non-ISIN Securities
- Supplementary Information Requirements
- Verification Rules: Permanent and Temporary
- XML Submission Format and File Naming
- Deadlines and Reporting Calendar
- How Fund XP’s Excel Solution Simplifies Your Reporting
- Compliance Best Practices
1. Scope and Reporting Population
The TPTIBS obligation applies to all resident financial companies whose total assets exceed €500 million. Under BCL Regulation 2014/17, a company qualifies as a financial company if its business purpose includes at least one of the following activities:
- Investment in any entity for any kind of investment purpose
- Acquisition of securities, shares, bonds, certificates of deposit, and other financial instruments
- Direct or indirect investment in real estate, patents, or other intellectual property
- Borrowing in any form
- Lending funds to shareholders, subsidiaries, affiliated companies, or any other entity
A company is considered resident when it is incorporated under Luxembourg law (covering all activities of its head office, subsidiaries, and Luxembourg-based branches) or incorporated under foreign law but operating through a Luxembourg head office or branch.
The BCL exemption threshold is currently set at €500 million in total assets. Companies below this threshold are exempt from monthly and quarterly statistical reporting.
2. Securities Subject to Reporting
The securities to be reported are those recorded in the following lines of the quarterly statistical balance sheet S 2.16 (Layout 2). No other lines are in scope.
Assets
| Item Code | Description |
|---|---|
| 1-003000 | Debt securities held |
| 1-005000 | Equity and investment fund shares/units held |
Liabilities
| Item Code | Description |
|---|---|
| 2-002050 | Short sales of securities |
| 2-003000 | Debt securities issued |
| 2-C05000 | Capital, share premium, reserves and results |
Not in scope: Securities received in repurchase agreements or through securities borrowing are not recorded on the balance sheet of the temporary acquirer and therefore must not be reported in TPTIBS.
3. Data Model and Key Concepts
3.1 Reference Dates
- End-of-month date (
endOfMonthDate): The last calendar day of the reporting month — the statistical reference date. - Closing date (
closingDate): The date on which data were established. May be earlier than the end-of-month date. The issue date of any security must be ≤ the closing date.
3.2 Layout Version
The report entering into force in January 2027 is the third version of TPTIBS, corresponding to layout «2». This designator appears in both the XML schema and the file name (TPTIBS_L2_…).
3.3 Balance Sheet Line Identifier
| Component | Field | Required Value in TPTIBS |
|---|---|---|
| Balance sheet item | item | e.g. 1-003000, 2-C05000 |
| Country | country | XX (no geographic breakdown) |
| Currency | currency | XXX (no currency breakdown) |
| Economic sector | sector | 90000 (no sector breakdown) |
3.4 Reported Amount and Valuation
- Quoted securities: Closing stock-exchange price at end of reporting date.
- Debt securities: Dirty price — market price plus accrued interest since the last coupon payment.
- Sign rules:
reportedAmount≥ 0 for items 1-003000, 2-002050, 2-003000. May be negative for 1-005000 and 2-C05000.
3.5 Quantity of Securities
| Quotation Type | Field to Use | Notes |
|---|---|---|
| Percentage-quoted (nominal value) | nominalAmount + nominalCurrency | Pool factor must NOT be applied to the nominal |
| Currency-quoted (unit count) | numberOfUnits | Do NOT report nominalAmount / nominalCurrency |

4. The Five Balance Sheet Items Explained
Item 1-003000 — Debt Securities Held
Covers all negotiable debt instruments on the asset side: bonds, notes, commercial paper, treasury bills, subordinated debt in securities form. Certificate-type hybrid instruments (PECs, CPECs, TPECs) are explicitly excluded — they are classified as loans. Accrued interest is included (dirty price).
| Field | Constraint |
|---|---|
holdSecurityType | 01 (held outright), 02 (lent), 03 (sold under repo) |
securityType | F.3 only |
reportedAmount | ≥ 0 |
Item 1-005000 — Equity and Investment Fund Shares/Units Held
| Field | Constraint |
|---|---|
holdSecurityType | 01, 02, or 03 |
securityType | F.511 (quoted), F.512 (unquoted), F.519 (other equity), F.52 (investment fund units) |
reportedAmount | May be negative |
Item 2-002050 — Short Sales of Securities
Records the liability arising from short selling. The amount is the sale price of the securities, valued consistently with similar positions on the asset side.
| Field | Constraint |
|---|---|
holdSecurityType | 05 only |
securityType | F.3, F.511, F.512, F.519, or F.52 |
reportedAmount | ≥ 0 |
Item 2-003000 — Debt Securities Issued
| Field | Constraint |
|---|---|
holdSecurityType | 04 only |
securityType | F.3 only |
| Issuer country (non-ISIN) | Must be LU |
| Issuer sector (non-ISIN) | Must be 44000 |
reportedAmount | ≥ 0 |
Item 2-C05000 — Capital, Share Premium, Reserves and Results
Records equity capital issued: paid-up capital, share premiums, reserves, and undistributed profits. Requires identification of each shareholder and their country of residence. The country code XX is not permitted here.
| Field | Constraint |
|---|---|
holdSecurityType | 04 only |
securityType | F.511, F.512, or F.519 |
| Holder country | Valid ISO 3166 code — XX is prohibited |
affiliation | 04, 05, V0, or 06 |
reportedAmount | May be negative |
5. ISIN vs. Non-ISIN Securities
5.1 Valid ISIN Codes (codeType = 1)
- First two characters must be a valid ISO 3166 country code at date of issue, or one of:
EU,XA,XB,XC,XD,XS. - Explicitly invalid prefixes:
DU,EV,HF,HS,QS,QT,QU,QY,TE,XF,XX,ZZ. - Must pass the Luhn check-digit verification.
- Provisional/pseudo-ISIN codes are not valid and must be reported as
codeType = 2.
5.2 Non-ISIN Securities (codeType = 2)
Additional mandatory fields: name (official company name), currency, issuer identification (LEI, national ID type/code, country, sector). If the reporter has no issuer identifier, declare type XX_NOTAP / code XX — for exceptional use only, monitored by the BCL.
5.3 Luxembourg Investment Fund Identification
- CSSF-authorised funds: CSSF number in format
LUOxxxxxxC00000(traditional) orLUOxxxxxxCxxxxx(sub-fund). - Non-authorised AIFs (NAF): RCS-based:
LURCSB0123456(traditional) orLURCSB0123456C00001(compartment 1). - Securities must be reported at sub-fund level unless the fund has a traditional structure.
6. Supplementary Information Requirements
Supplementary information (supplements) is required only for non-ISIN securities and varies by security type.
6.1 Debt Securities (items 1-003000, 2-002050, 2-003000)
| Field | Description | Key Rules |
|---|---|---|
securityType | Security classification | Must be F.3 |
issueDate | Issue date | Must be ≤ closingDate |
finalMaturityDate | Final maturity | Use 01.01.2999 for perpetual bonds |
poolFactor | Fraction of principal remaining | > 0; default = 1; may exceed 1 exceptionally |
couponType | Nature of coupon | 01=fixed, 02=progressive, 03=floating, 04=zero, 05=index-linked, 99=other |
couponFrequency | Coupons per year | 00=zero, 01=annual, 02=semi-annual, 04=quarterly, 06=bi-monthly, 12=monthly, 24=fortnightly, 99=other |
couponLastPaymentDate | Last coupon payment | If no payment yet: equals issueDate. Must be ≥ issueDate and ≤ finalMaturityDate. |
couponRate | Annualised rate (%) | E.g., report 5.5 for a 5.5% rate |
6.2 Equity and Investment Fund Shares/Units (item 1-005000)
| Field | Constraint |
|---|---|
securityType | F.511, F.512, F.519, or F.52 |
affiliation | 01=≥10% held, 02=cross-holding <10%, U0=sister company, 03=no affiliation |
dividendAmount | Dividend coefficient (last dividend per unit) |
dividendLastPaymentDate | Date of last dividend payment |
6.3 Capital, Share Premium, Reserves (item 2-C05000)
| Field | Constraint |
|---|---|
securityType | F.511, F.512, or F.519 only (F.52 not permitted) |
holderID / country | ISO 3166 code; XX is prohibited |
affiliation | 04=≥10% by shareholder, 05=cross-holding, V0=sister company, 06=no affiliation |
7. Verification Rules in Detail
The BCL applies two categories of rules. Permanent rules must be implemented in reporting software. Temporary rules are addressed primarily to reporting agents when preparing data.
7.1 Permanent Internal Verification Rules (23 rules)
| # | Rule Description |
|---|---|
| 1 | Only the five authorised item codes are permitted. |
| 2 | Only the five authorised line identifiers are permitted (XX, XXX, 90000 components). |
| 3 | reportedAmount ≥ 0 for items 1-003000, 2-002050, 2-003000; may be < 0 for 1-005000, 2-C05000. |
| 4 | Percentage-quoted: if reportedAmount > 0, then nominalAmount > 0. |
| 5 | Currency-quoted: if reportedAmount > 0, then numberOfUnits > 0. |
| 6 | ISIN codes must satisfy ISO 6166 (valid country prefix + Luhn check-digit). |
| 7 | Non-ISIN: issuer country must be valid ISO 3166 (no XX); sector must be a valid Level 1 code. |
| 8 | Authorised sector codes: 11000, 12100, 12200, 12300, 21000, 22110, 22120, 22200, 31000, 32100, 32200, 33000, 41000, 42100, 42200, 42900, 43000, 44000, 45000, 46000. |
| 9 | holdSecurityType must match the item (01/02/03 for assets; 05 for 2-002050; 04 for 2-003000 and 2-C05000). |
| 10 | Nominal currency must be a valid ISO 4217 code; XXX is prohibited. |
| 11 | securityType must match the item (F.3 for debt; F.511/F.512/F.519/F.52 for equity). |
| 12 | Non-ISIN issued by LU reporters: country=LU, sector=44000, holdSecurityType=04, affiliation=04/05/06/V0. |
| 13 | Non-ISIN held by LU reporters: holdSecurityType=01/02/03, securityType=F.511/F.512/F.519/F.52, affiliation=01/02/03/U1/U0. |
| 14 | issueDate ≤ closingDate. |
| 15 | poolFactor > 0; default = 1 when not applicable; may exceed 1 exceptionally. |
| 16 | couponType ∈ {01, 02, 03, 04, 05, 99}. |
| 17 | couponFrequency ∈ {00, 01, 02, 04, 06, 12, 24, 99}. |
| 18 | Zero-coupon type (04) may only be combined with zero-coupon frequency (00), and vice versa. |
| 19 | couponLastPaymentDate ≥ issueDate and ≤ finalMaturityDate; equals issueDate if no payment yet. |
| 20 | couponRate is the annualised rate in percentage at the reporting date. |
| 21 | closingDate – couponLastPaymentDate must be consistent with coupon frequency (limits doubled to allow first-coupon exceptions). |
| 22 | If couponLastPaymentDate > issueDate and < finalMaturityDate, then couponRate > 0. |
| 23 | If couponFrequency ≠ 00 and couponType = 01 (fixed), then couponRate > 0. |
7.2 Cross-Report Consistency (TPTIBS ↔ S 2.16)
The totalReportedAmount for each of the five balance sheet lines in TPTIBS must exactly equal the corresponding amount in S 2.16. This cross-check is enforced permanently for all five items.
7.3 Temporary Rule — Federal State Sector (12100)
Sector code 12100 (State government) may only be used with countries having a federal structure, including: AE, AR, AT, AU, BA, BE, BR, CA, CH, DE, ES, ET, FM, IN, IQ, KM, MX, MY, NG, NL, PK, RS, RU, SD, SS, US, VE.
8. XML Submission Format and File Naming
8.1 File Name Structure
TPTIBS_L2_yyyymm_Rrrrrrrrrr_Dddddddddd_yyyymmdd.nnn
| Component | Description | Example |
|---|---|---|
TPTIBS | Report code | TPTIBS |
L2 | Layout version 2 | L2 |
yyyymm | Reporting period | 202701 = January 2027 |
R + 9 digits | Reporter type + ID (left-padded zeros) | DSE000000999 |
D + 9 digits | Declarant type + RCS numerical part | DSE0003524 |
yyyymmdd | File creation date | 20270220 |
nnn | Sequential number (starts at 001 daily) | 001 |
8.2 Reporter / Declarant Type Codes
| Type Code | Description | Filename Prefix |
|---|---|---|
| 01 | Number allocated by CSSF to other entities | 1 |
| 05 | Identification number allocated by the BCL | 5 |
| 23 | CSSF number allocated to banks | B |
| 30 | CSSF number allocated to management companies | S |
| 32 | CSSF number allocated to PFS professionals | P |
| 35 | BCL number allocated to financial companies | DSE |
| 40 | CSSF number for alternative investment fund managers | A |
8.3 Transmission Channels
- Sofie (SIX Payment Services Europe S.A. / CETREL Securities)
- e-file (Bourse de Luxembourg / Fundsquare)
- Any other secure channel mutually agreed with the BCL
9. Deadlines and Reporting Calendar
TPTIBS must be submitted to the BCL monthly, at the latest 20 working days after the end of the reference month. The exact submission calendar is published on the BCL website. Reporting agents must retain all reports and supporting documents for a minimum of 24 months.
10. How Fund XP’s Excel Solution Simplifies Your BCL Reporting
Preparing a fully compliant TPTIBS submission by hand — managing five balance sheet items, ISIN validation, 23 permanent verification rules, proper XML structure, and cross-checks against S 2.16 — is a substantial operational burden for any compliance or finance team. Fund XP, a Luxembourg-based IT & Consulting firm specialising in regulatory reporting, has developed a dedicated Excel-based (XLSM) reporting solution that automates this process end-to-end.
🗂️ What Is the Fund XP BCL Reporting Solution?
The Fund XP Excel template is a macro-enabled workbook (.xlsm) that covers all three BCL statistical reports required from Luxembourg financial companies in a single file:
- S 2.16 — Quarterly Statistical Balance Sheet (assets & liabilities with full breakdowns)
- S 2.17 — Quarterly Transactions of Financial Companies
- TPTIBS — Monthly Security-by-Security Report (ISIN and non-ISIN securities, full supplements)
Once your data is entered, a single macro generates the BCL-compliant XML files ready for submission via Sofie or e-file — no manual XML editing required.
Key Features of the Fund XP XLSM Template
📋 Structured Data Entry Sheets
Dedicated worksheets for each report: Header (reporter & declarant IDs, currency, layout, reference dates), S216, S217, TPT ISIN (ISIN-identified securities), and TPT OTHER (non-ISIN securities with all supplement fields).
✅ Built-in Dropdown Validation
Every controlled field — item codes, hold security types, security types, coupon types, coupon frequencies, sector codes, country codes, affiliation links — uses validated dropdown lists, eliminating typos and invalid codes at source.
🔍 Real-time Error Detection
An Error Comments column on every data sheet highlights constraint violations instantly — wrong combinations, missing mandatory fields, out-of-range values — using the same logic as the BCL’s 23 permanent verification rules.
⚖️ Automatic S 2.16 ↔ TPTIBS Reconciliation
A built-in S 2.16 vs TPT reconciliation table shows the delta between your quarterly balance sheet totals and the TPTIBS totalReportedAmount for all five items — ensuring the mandatory cross-report consistency rules are satisfied before you submit.
🧾 Embedded BCL XML Schema
The workbook embeds the official BCL XSD schemas (TPTIBS, S216, S217) directly in dedicated sheets (XSDTPT, XSDS216, XSDS217), ensuring generated XML is always validated against the latest BCL specification.
🚀 One-click XML Generation
A single macro button generates correctly named, schema-valid XML files for all three reports simultaneously — applying the correct layout «2» format, file naming convention, and encoding — ready to upload to Sofie or e-file.
Who Is It For?
The Fund XP BCL reporting solution is designed for Luxembourg financial companies — holding companies, SPVs, treasury vehicles, securitisation entities — that are subject to BCL statistical reporting obligations but do not have a large, dedicated regulatory reporting infrastructure. It is equally useful for external accountants, domiciliation agents, and fund administrators who prepare BCL reports on behalf of multiple entities.
11. Compliance Best Practices
- Implement all 23 permanent verification rules in your production system before submitting. Do not rely solely on BCL server-side rejection.
- Validate ISIN codes rigorously — check the country prefix and run the Luhn check-digit algorithm. Treat provisional/pseudo codes as
codeType = 2. - Reconcile TPTIBS totals with S 2.16 quarterly. The five
totalReportedAmountvalues must match exactly. - Use dirty price for all debt securities — forgetting accrued interest is one of the most common valuation errors.
- Apply the economic-holder principle consistently: securities lent or sold under repo remain on the original owner’s balance sheet.
- Maintain stable non-ISIN codes — once assigned in the first report, codes must never change.
- Monitor XX_NOTAP usage — the BCL actively tracks this identifier; it should be used only in genuinely exceptional cases.
- Retain all reports and documentation for 24 months — this is a regulatory minimum, not a guideline.
- Subscribe to BCL communications for updates to verification rules, sector code lists, and layout versions.
Conclusion
The BCL TPTIBS report is one of the most technically demanding statistical obligations facing Luxembourg financial companies. Its granular security-by-security approach — covering five distinct balance sheet items, two security identification regimes, extensive supplementary data for non-ISIN instruments, and 23 hard verification rules — requires robust data management processes and well-engineered reporting software.
Whether you build your own tooling or leverage a ready-made solution like the Fund XP Excel-to-BCL reporting tool, the key to sustainable compliance is rigorous pre-submission validation, strong reconciliation between TPTIBS and S 2.16, and thorough staff training.
For the full XML schema, the official sector code list, and the reporting calendar, visit the Banque centrale du Luxembourg website. For questions about our solution or Luxembourg regulatory reporting in general, contact the Fund XP team.
Have questions about your BCL reporting obligations?
Fund XP’s Luxembourg-based team is here to help.
Related Resources
- BCL Regulation 2026/050 — Legal Basis for Financial Company Statistical Reporting
- BCL Compendium of Verification Rules for TPTIBS (February 2026)
- BCL Definitions and Concepts for the Statistical Reporting of Financial Companies (February 2026)
- BCL Manual of Electronic Transmission for Statistical Reports (February 2026)
- GLEIF — Global LEI Index (Legal Entity Identifier Search)
