This document describes the Combined Business Vocabularies specification, which integrates three core vocabularies from the Finnish Interoperability Platform (Tietomallit.suomi.fi): WE BUILD Vocabulary, EU Core Vocabularies, and Nordic Core Business Vocabulary (NCBV). The combined vocabulary enables semantic interoperability for W3C Verifiable Credentials in business process digitalization, particularly for the EU Business Wallet framework.
Alternate versions of the vocabulary definitions exist in Turtle and JSON-LD for each component vocabulary.
This vocabulary specification combines three independently maintained vocabularies. Each component vocabulary has its own publication status:
This combined specification is maintained at github.com/jgmikael/vocabularies. Issues and feedback should be filed there.
This specification makes use of the following namespaces:
| Prefix | Namespace IRI | Description |
|---|---|---|
webuild |
https://iri.suomi.fi/model/webuild/ |
WE BUILD Vocabulary |
eu-core |
https://iri.suomi.fi/model/eu-core/ |
EU Core Vocabularies |
ncbv |
https://iri.suomi.fi/model/ncbv/ |
Nordic Core Business Vocabulary |
cred |
https://w3.org/2018/credentials# |
W3C Verifiable Credentials |
xsd |
http://www.w3.org/2001/XMLSchema# |
XML Schema datatypes |
skos |
http://www.w3.org/2004/02/skos/core# |
SKOS vocabulary |
owl |
http://www.w3.org/2002/07/owl# |
OWL Web Ontology Language |
The three vocabularies have the following import relationships:
┌─────────────────────────────────────┐
│ WE BUILD Vocabulary │
│ (webuild:) │
│ │
│ • ComplianceAttestation │
│ • PostedWorkerNotification │
│ • TaxDebtStatusAttestation │
│ • Employment, WorkAssignment │
└────────────┬────────────────────────┘
│ owl:imports
▼
┌─────────────────────────────────────┐
│ EU-Core Vocabulary │
│ (eu-core:) │
│ │
│ • Person, LegalEntity │
│ • Organization, PublicOrganization │
│ • Address, Location │
│ • Evidence, Document │
│ • Identifier, ContactPoint │
└─────────────────────────────────────┘
▲
│ owl:imports (as isa2core v1.0.0)
│
┌─────────────────────────────────────┐
│ NCBV Vocabulary │
│ (ncbv:) │
│ │
│ • LegalEntity (extended) │
│ • Role, Mandate, Membership │
│ • RepresentationRule │
│ • BeneficialOwner │
│ • ShareCapital │
└─────────────────────────────────────┘
Key architectural principles:
Base class for compliance-related attestations in the construction and posted worker domain.
Notification for posted workers under the EU Posted Workers Directive.
Social security determination certificate (PDA1) indicating applicable social security legislation.
Employment relationship between worker and employer.
Specific work assignment including location, activity, and time period.
Indicates the tax debt status of an entity.
Associates a posted worker notification with the worker(s) involved.
Specifies the geographic location where work is performed.
Natural person with demographics and identification information.
Legal person or organization with registration and legal status.
Postal address with structured components.
Organizational structure that can have sub-organizations and memberships.
Supporting evidence or documentation for requirements or claims.
Formal identification according to a specific scheme.
Name under which a legal entity is registered.
Official registered address of a legal entity.
Formal identifier for a person or organization.
Extended business entity with legal status, registration, and representation information.
Role held by a person or legal entity in relation to another entity.
Legal mandate or power of attorney granting representation rights.
Rule defining how a legal entity may be represented (alone, jointly, etc.).
Ultimate beneficial owner of a legal entity.
Capital and ownership structure information.
Official legal identifier of a business entity (e.g., business ID, VAT number).
Specifies the rules for legal representation of an entity.
Indicates that an entity grants a mandate to another party.
These vocabularies are designed to be used together in W3C Verifiable Credentials. The typical pattern is:
To use all three vocabularies in a Verifiable Credential, include their contexts:
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://iri.suomi.fi/model/webuild/",
"https://iri.suomi.fi/model/eu-core/",
"https://iri.suomi.fi/model/ncbv/"
],
...
}
Classes from different vocabularies can be combined when they extend the same base class:
{
"@type": ["eu-core:LegalEntity", "ncbv:LegalEntity"],
"eu-core:legalName": "Acme Corporation",
"ncbv:legalIdentifier": {
"@type": "ncbv:Identifier",
"ncbv:notation": "FI12345678",
"ncbv:schemeName": "Finnish Business ID"
},
"eu-core:registeredAddress": { ... },
"ncbv:hasRepresentationRule": { ... }
}
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://iri.suomi.fi/model/webuild/",
"https://iri.suomi.fi/model/eu-core/"
],
"@id": "urn:uuid:a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"@type": ["VerifiableCredential", "webuild:TaxDebtStatusAttestation"],
"issuer": {
"@id": "did:web:vero.fi",
"name": "Finnish Tax Administration"
},
"validFrom": "2026-03-16T00:00:00Z",
"validUntil": "2027-03-16T00:00:00Z",
"credentialSubject": {
"@id": "did:example:123456789",
"@type": "eu-core:LegalEntity",
"eu-core:legalName": "Rakennusyhtiö Oy",
"eu-core:legalidentifier": {
"@type": "eu-core:Identifier",
"eu-core:notation": "1234567-8",
"eu-core:schemeName": "Finnish Business ID"
},
"webuild:hasTaxDebtStatus": "no-debt",
"webuild:hasTaxObligationAssessment": {
"@type": "webuild:TaxObligationAssessment",
"webuild:obligationStatus": "compliant",
"webuild:reportingPeriod": {
"startDate": "2025-01-01",
"endDate": "2025-12-31"
}
}
},
"proof": {
"type": "Ed25519Signature2020",
"created": "2026-03-16T10:30:00Z",
"verificationMethod": "did:web:vero.fi#key-1",
"proofPurpose": "assertionMethod",
"proofValue": "z3FXQ..."
}
}
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://iri.suomi.fi/model/eu-core/",
"https://iri.suomi.fi/model/ncbv/"
],
"@id": "urn:uuid:b2c3d4e5-f678-90ab-cdef-1234567890ab",
"@type": ["VerifiableCredential"],
"issuer": {
"@id": "did:web:bolagsverket.se",
"name": "Swedish Companies Registration Office"
},
"validFrom": "2026-03-16T00:00:00Z",
"credentialSubject": {
"@id": "did:example:987654321",
"@type": ["eu-core:LegalEntity", "ncbv:LegalEntity"],
"ncbv:legalName": "Byggföretag AB",
"ncbv:legalIdentifier": {
"@type": "ncbv:Identifier",
"ncbv:notation": "556123-4567",
"ncbv:schemeName": "Swedish Org. Number",
"ncbv:schemeAgency": "Bolagsverket"
},
"eu-core:registeredAddress": {
"@type": "eu-core:Address",
"eu-core:fullAddress": "Kungsgatan 1, 111 43 Stockholm, Sweden",
"eu-core:thoroughfare": "Kungsgatan",
"eu-core:locatorDesignator": "1",
"eu-core:postCode": "111 43",
"eu-core:postName": "Stockholm",
"eu-core:adminUnitLevel1": "SE"
},
"ncbv:hasLegalForm": {
"@type": "ncbv:Code",
"ncbv:codeName": "AB",
"ncbv:codeValue": "Aktiebolag"
},
"ncbv:hasRepresentationRule": {
"@type": "ncbv:RoleBasedRepresentationRule",
"ncbv:definesValidRole": "CEO",
"ncbv:alone": true
},
"ncbv:hasRole": [
{
"@type": "ncbv:Role",
"ncbv:title": "CEO",
"ncbv:heldByPerson": {
"@type": "eu-core:Person",
"eu-core:givenName": "Anna",
"eu-core:familyName": "Andersson",
"ncbv:dateOfBirth": "1975-06-15"
}
}
]
},
"proof": {
"type": "Ed25519Signature2020",
"created": "2026-03-16T10:30:00Z",
"verificationMethod": "did:web:bolagsverket.se#key-1",
"proofPurpose": "assertionMethod",
"proofValue": "z4GYR..."
}
}
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://iri.suomi.fi/model/webuild/",
"https://iri.suomi.fi/model/eu-core/",
"https://iri.suomi.fi/model/ncbv/"
],
"@id": "urn:uuid:c3d4e5f6-7890-abcd-ef12-34567890abcd",
"@type": ["VerifiableCredential", "webuild:PostedWorkerNotification"],
"issuer": {
"@id": "did:example:sending-employer",
"name": "Polish Construction Ltd"
},
"validFrom": "2026-03-01T00:00:00Z",
"validUntil": "2026-06-30T23:59:59Z",
"credentialSubject": {
"@id": "urn:uuid:notification-12345",
"@type": "webuild:PostedWorkerNotification",
"webuild:hasWorker": {
"@type": "eu-core:Person",
"eu-core:givenName": "Jan",
"eu-core:familyName": "Kowalski",
"eu-core:dateOfBirth": "1985-03-20",
"eu-core:citizenship": "PL"
},
"webuild:hasSendingEmployer": {
"@type": ["eu-core:LegalEntity", "ncbv:LegalEntity"],
"ncbv:legalName": "Budowa Sp. z o.o.",
"ncbv:legalIdentifier": {
"@type": "ncbv:Identifier",
"ncbv:notation": "PL1234567890"
},
"eu-core:registeredAddress": {
"@type": "eu-core:Address",
"eu-core:adminUnitLevel1": "PL"
}
},
"webuild:hasWorkAssignment": {
"@type": "webuild:WorkAssignment",
"webuild:hasWorkLocation": {
"@type": "eu-core:Location",
"eu-core:geographicName": "Helsinki",
"eu-core:adminUnitLevel1": "FI"
},
"webuild:hasAssignmentPeriod": {
"startDate": "2026-03-01",
"endDate": "2026-06-30"
},
"webuild:hasWorkActivity": {
"@type": "webuild:WorkActivity",
"webuild:workActivityDescription": "Construction work - residential building"
}
},
"webuild:hasSocialSecurityDetermination": {
"@type": "webuild:PDA1Certificate",
"webuild:issuingInstitution": "Polish ZUS",
"webuild:hasApplicableJurisdiction": "PL",
"webuild:applicablePeriod": {
"startDate": "2026-03-01",
"endDate": "2028-02-28"
}
}
},
"proof": {
"type": "Ed25519Signature2020",
"created": "2026-02-28T12:00:00Z",
"verificationMethod": "did:example:sending-employer#key-1",
"proofPurpose": "assertionMethod",
"proofValue": "z5HZS..."
}
}