Skip to content
FPS Economy · Belgium

BCE/KBO — the Belgian enterprise number and register

Fintech Passport
September 22, 2026 · 11-min read
BCE/KBO — the Belgian enterprise number and register

Every Belgian counterparty you onboard already has a ten-digit number, and it is not the VAT number. The Banque-Carrefour des Entreprises — BCE in French, Kruispuntbank van Ondernemingen or KBO in Dutch, CBE in English — is the federal identification register held inside the FPS Economy. It assigns the number every invoice from a Belgian business must carry, and its extracts have probative force by law. It is also the register whose activity codes the operator itself rewrote in 2025 and 2026 — which is why a KYB file resting on a BCE activity code can now be wrong without anyone having lied.

1. What the BCE/KBO is, and what it is not

Book III, Title 2 of the Code de droit économique (CDE) creates the register. Article III.15 establishes it on the collecte unique principle — data gathered once and reused across government — and charges it with recording, keeping, managing and making available the identification data of registered entities, their agents, active partners and assistants. The management service sits inside the Federal Public Service Economy, SMEs, Self-Employed and Energy.

Two consequences matter. The BCE is an identification register, not a supervisory one: it records what an entity is and where, not whether it may do anything. And it is a hub rather than an origin — Article III.19 has the King designate which authority captures each data class. Since 31 March 2024, Article III.15 also transmits legal-person data to the company registers of the other EEA states through the European system of interconnection of registers under Article 22 of Directive (EU) 2017/1132.

2. Who is in it — including foreign firms

Article III.16 §1 lists what is registered, and the third limb is the one a passporting payments firm should read twice: every legal person under foreign or international law possessing a seat, an establishment unit or a branch in Belgium. A firm serving Belgium purely under the freedom to provide services, with no establishment, is not caught. Open a branch and it is.

The rest covers natural persons registering as an entreprise soumise à inscription, Belgian legal persons, organisations without legal personality, autonomous public-interest bodies, and — separately numbered — every establishment unit of those entities. Article III.49 sets the timing bluntly: before starting its activities, an undertaking must register at the business counter of its choice, provided the activities are carried on within or from an establishment unit. Registration carries, unless proved otherwise, a presumption that the registrant is an undertaking.

3. The two numbers, and how to validate them offline

Article III.17 gives every registered entity and every establishment unit a number on registration and calls it the unique identification number. Article III.22 leaves the composition to the Crown; the FPS Economy’s data-reuse manual states it.

IdentifierLengthStructureWhat it identifies
Enterprise number10 digitsPositions 1–8 sequence, positions 9–10 check digitsThe legal or natural person
Establishment unit number10 digitsSame construction, separate seriesOne address at which activity is carried on

The check rule is 97 minus (the first eight digits modulo 97), giving the last two. That is a two-line function, and it belongs in the onboarding form rather than a downstream exception queue: a mistyped Belgian number fails immediately, before you spend a register lookup, a screening run and a manual review on a typo.

Two habits to break. The enterprise number is not the VAT number, though the Belgian VAT number is built from it by prefixing BE; an entity can hold one and no VAT registration. And the establishment unit number is not a sub-account of the enterprise number — it comes from its own series and cannot be derived. Where a data model has one field for “the Belgian company number”, it will eventually receive a unit number and match nothing.

4. What the register holds, and for how long

Article III.18 §1 enumerates the content: name; each address, including the registered office and every Belgian establishment unit; legal form; legal situation; dates of creation and cessation; identification data of founders, agents, holders of powers, active partners and assistants; economic activities; the authorisations, licences and approvals the entity holds, or the capacities under which it is known to the authorities; contact details; and bank account data.

Two items repay attention. Regulated capacities sit against the number, making the BCE a coarse authorisation check — useful corroboration, though the supervisor’s own register stays authoritative. And the bank-account item holds declared accounts: declared, not verified, and quite separate from the Belgian central account register.

Changes are recorded without delay with their effective date (§3), and data are kept thirty years from the loss of legal personality, or from cancellation of the registration for other registrants (§4). A dissolved Belgian company stays researchable for three decades, which makes the register usable for retrospective enquiries and legacy source-of-funds work.

Article III.51 §2 gives the undertaking one month to correct a stale particular and Article III.52 one month to request cancellation after ceasing activity; where it does nothing, Article III.40 lets the management service write, allow thirty days, then cancel the data ex officio. An ex-officio cancellation in a company’s history is worth reading: the register and the business disagreed, the register wrote, and the business did not answer.

5. Public data, extracts and the reuse feed

Article III.29 §1 sets out the releasable set — numbers, names, legal form, legal situation, addresses, economic activities, registered capacities, founders and publicity-subject officers, licences subject to mandatory publicity, contact details, everything already published under company law and Book XX on insolvency, and bank account data. Article III.31 opens that set to any person, over the internet, through at least one free website — which is why a Belgian KYB first pass costs nothing. Anything beyond it needs ministerial authorisation after a data-protection opinion (Article III.30), a route addressed to authorities discharging legal tasks, not to a firm doing due diligence.

Extracts come through a business counter under Article III.34, certified conform on express request. Article III.35 is the provision for the procedure manual: the data on a BCE extract have probative force until proof to the contrary. And §2, in force since 10 June 2017, saves a translation budget — extracts are issued in the three national languages and in English on express request. A Belgian counterparty file needs no sworn translation of a Dutch extract; it needs someone to have asked for the English one.

Bulk reuse runs under Article III.33, where only the management service may supply the base data. In practice that is a licensed feed: three XML files — full reuse, modifications and codes — zipped onto the FPS Economy’s secure transfer server every working day and available for five working days before archiving, with KBO.xsd and Codes.xsd alongside and full history carried by validity period. The consequence of that five-day window: make a missed delta trigger a full reload, not a silent gap.

6. The activity codes moved, and the register moved them for you

This is the part that breaks KYB assumptions written before 2025. NACE-BEL records what an entity does. NACE-BEL 2025 took effect on 1 January 2025, following the European move to NACE Rev. 2.1, and every active activity carrying a 2008 code was converted automatically. The FPS Economy says plainly what that conversion could not do: some 2008 codes map to several 2025 codes, and only one was written into the register.

It went further for three families of activity. The 2025 five-digit nomenclature classifies retail by what is sold rather than where or how, so the old seven-digit codes encoding the channel — market stalls, mail order, internet retail, door-to-door and vending — are gone. Holders could correct them free of charge through the register’s self-service portal before 31 December 2025; where they did not, the management service substituted the preferential five-digit code. The FPS Economy’s own example is the one to remember: an entity selling roast chickens on a market, holding 47.11021 — food retail on markets and stalls, receives 47.210 — retail sale of fruit and vegetables. In January 2026 the service likewise replaced the seven-digit fairground and limited-service catering codes, with no action by the entity.

So a Belgian activity code read today may be a machine’s best guess, never reviewed by the business, and in the retail cases demonstrably capable of naming the wrong trade. It is good evidence of a declared activity — not evidence that the business does that and only that.

7. Article III.25: the number, and an EEA payment account, on every invoice

Article III.25 requires that all acts, invoices, announcements, letters, orders and other documents emanating from a registered undertaking always mention the enterprise number — and now also the domiciliation and the number of at least one payment account held by the undertaking with an EEA banking establishment covered by Directive (EU) 2015/2366.

Two uses for a payments firm. A Belgian business customer has a statutory reason to want a stable, quotable EEA account reference to print, which is an argument against references that churn. And an invoice from a Belgian supplier showing no enterprise number, or one that fails the check digit, is a documentary defect rather than a formatting quirk — which makes the modulo-97 test one of the cheapest invoice-fraud controls available in accounts payable, because the arithmetic is free.

Article XV.76 makes a breach of Article III.25 a level 1 sanction. Article XV.77 puts at level 2 the graver cases — trading without having applied for registration, operating activities or an establishment unit absent from the register, knowingly filing an incorrect application, or missing the Article III.51 deadlines. Under Article XV.70 a level 1 penal fine runs from €26 to €5,000 and a level 2 fine from €26 to €10,000 — or, in each case, 4% of total annual turnover for the last closed financial year if that is higher. The turnover alternative is what gives the register teeth against a large group; the euro figures alone understate it badly.

8. Two worked examples

A Belgian branch of an EEA payment institution. The firm passports into Belgium under freedom of services and now opens a branch in Antwerp. Rule: Article III.16 §1 3° brings a foreign legal person with a Belgian seat, establishment unit or branch into the register, and Article III.49 requires registration before activities start. What the team does: treats registration as a go-live dependency, captures both numbers — the branch generates an establishment unit number distinct from the enterprise number — and records the capacity under Article III.18 §1 9°. Outcome: the branch is in public search from day one, and the Belgian account register’s requirement to identify a reporting entity by its CBE number is met without a scramble.

An onboarding hit on a stale activity code. A Belgian SME applies for a business account. The BCE shows 47.210 — retail sale of fruit and vegetables; the application describes prepared-food sales from a market pitch; the model flags a mismatch. Rule: none is breached — this is the NACE-BEL 2025 conversion, and 47.210 is precisely the preferential code the FPS Economy’s own example produces from the retired market-food code. What the analyst does: resolves the activity from the customer’s own description and documents, and records the code as converted rather than declared. Outcome: no false negative on the customer, no false comfort in the code, and a standing note that pre-2025 Belgian activity codes need re-reading rather than re-matching.

9. FAQ

Is the BCE number the same as the Belgian VAT number?

No, though they are related. The enterprise number is the ten-digit identifier assigned under Article III.17 CDE. A Belgian VAT number is formed from it with a BE prefix, but an entity may hold an enterprise number without being VAT-registered, so the two are not interchangeable in a data model.

Does a firm passporting into Belgium have to register?

Not on cross-border services alone. Article III.16 §1 3° catches a foreign or international legal person with a seat, establishment unit or branch in Belgium. Establishment is the trigger, and Article III.49 requires registration before activities begin.

What does a BCE extract prove?

Article III.35 gives the data on an extract probative force until proof to the contrary. Extracts come through a business counter under Article III.34, certified conform on request, and are issued in English on request.

Why does the activity code not match what the customer says it does?

Usually the NACE-BEL 2025 conversion. Codes were converted automatically from 1 January 2025, several 2008 codes mapped to more than one 2025 code, and only one was written. Retired seven-digit retail codes were replaced by preferential five-digit codes where the business did not correct them before 31 December 2025, and fairground and limited-service catering codes were converted automatically in January 2026.

10. What to do, today

Put the modulo-97 check into the Belgian onboarding form and stop paying for lookups on typos. Split the enterprise number and the establishment unit number into separate linked fields wherever a single “Belgian company number” field exists. Re-read every Belgian activity code captured before 2025 as converted rather than declared, and drop any rule letting a NACE-BEL code alone set a merchant category or a risk tier. Where a file must survive an inspection, order an extract and ask for it in English: Article III.35 gives it evidential weight a screenshot does not have. And if you run an EEA branch in Belgium, check that your authorised capacity is actually recorded against the number — an empty Article III.18 §1 9° field is the sort of thing a supervisor notices before you do.

Related: the Belgian central account register (PCC/CAP) · the Belgian UBO register · remote identification in Belgium under Article 27

Related reads.