Skip to content

CIPC Taxonomy Example

This is an analysis of the CIPC XBRL Taxonomy 2024, staged in this vault as raw source material under docs/Sources/xbrl/cipc_2024-09-30/ (open it in an XBRL processor such as Arelle to follow along). It's a complex, real-world example of how taxonomies are built for national regulatory reporting.

What Is CIPC?

The Companies and Intellectual Property Commission is South Africa's corporate regulator. It was the first regulator in Africa to implement full-scale 13 Inline XBRL (July 2018). See 17 XBRL Global Adoption.

Package Structure

cipc_2024-09-30/
├── META-INF/
│   ├── taxonomyPackage.xml         ← Package manifest
│   └── catalog.xml                 ← URL remapping
└── xbrl.cipc.co.za/taxonomy/2024-09-30/
    ├── def/                        ← Definition schemas (base concepts)
    │   ├── ca/                     ← Companies Act concepts
    │   │   ├── cipc_ca-cor_2024-09-30.xsd    ← Core CA schema
    │   │   ├── enumerations/       ← Enumeration lists
    │   │   ├── fdn/                ← Foundation schemas
    │   │   └── labels/             ← CA-specific labels
    │   ├── coops/                  ← Co-operatives Act concepts
    │   ├── grap/                   ← Government accounting (GRAP)
    │   ├── mfma/                   ← Municipal Finance Management Act
    │   ├── pfma/                   ← Public Finance Management Act
    │   └── sds/                    ← Sustainability (IFRS S1/S2)
    └── rep/cipc/                   ← Reporting entry points
        ├── full_cipc_entry_point_*.xsd  ← 15 entry points
        ├── dimensions/             ← Dimension definition linkbases
        ├── formula/                ← Validation formula linkbases
        ├── labels/                 ← Generic labels
        ├── linkbases/              ← Presentation, calculation, definition
        │   ├── ca/                 ← Companies Act linkbases
        │   ├── coop/              ← Co-operatives linkbases
        │   ├── full_ifrs/         ← Full IFRS linkbases
        │   ├── grap/              ← GRAP linkbases
        │   └── ifrs_smes/         ← IFRS for SMEs linkbases
        └── references/            ← Reference linkbases

The 15 Entry Points

The taxonomy provides entry points for different reporting frameworks:

Financial Statements

Entry PointFor
Full IFRSCompanies using full International Financial Reporting Standards
IFRS for SMEsSmall and medium enterprises
Financial Accountability Supplement (CA-FAS)Companies Act supplement
GRAPGovernment (Generally Recognised Accounting Practice)
Co-ops (A1)Small co-operatives
Full IFRS Co-ops (A2, B, C, others)Larger co-operatives using full IFRS
IFRS for SMEs Co-ops (A2, B, C, others)Co-operatives using SME standards

With Sustainability Disclosures

Each of the above also has a version with sustainability parts (IFRS S1/S2), plus a standalone:

Entry PointFor
S1/S2-onlySustainability disclosures only

How the Full IFRS Entry Point Works

The file full_cipc_entry_point_full_ifrs_2024-09-30.xsd is a masterful example of DTS construction:

Imports (Base Schemas)

xml
<xsd:import namespace="https://xbrl.cipc.co.za/taxonomy/ca"
  schemaLocation="../../def/ca/cipc_ca-cor_2024-09-30.xsd" />
<xsd:import namespace="https://xbrl.ifrs.org/taxonomy/2024-03-27/ifrs-full"
  schemaLocation="https://xbrl.ifrs.org/taxonomy/2024-03-27/full_ifrs/full_ifrs-cor_2024-03-27.xsd" />

It imports:

  1. The CIPC Companies Act schema (local, SA-specific concepts)
  2. The IFRS Foundation full IFRS schema (international, from xbrl.ifrs.org)

Referenced Linkbases

The entry point references over 160 linkbase files:

TypeCountPurpose
Label~6CIPC labels, IFRS labels, documentation labels, generic labels
Calculation~40Arithmetic validation for each financial statement section
Presentation~65Display structure for each report section
Definition~35Dimensional relationships and hypercubes
Reference2Links to IFRS standards and Companies Act sections
Formula1CIPC-specific validation rules
Dimension3Hypercube definitions

Linkbase Naming Convention

The CIPC taxonomy follows clear naming patterns:

PrefixTypeExample
cal_Calculationcal_cipc_full_ifrs_2024-09-30_role-210000.xml
pre_Presentationpre_cipc_full_ifrs_2024-09-30_role-210000.xml
def_Definitiondef_cipc_full_ifrs_2024-09-30_role-802200.xml
dim_Dimensionsdim_cipc_full_ifrs_2024-09-30_role-990000.xml
lab_Labellab_cipc_ca-en_2024-09-30.xml
gla_Generic labelgla_cipc-en_2024-09-30.xml
ref_Referenceref_cipc_full_ifrs_2024-09-30.xml
for_Formulafor_cipc_full_ifrs_2024-09-30.xml
rol_Role definitionsrol_cipc-ca_2024-09-30.xsd

Role Numbers

The numeric suffixes correspond to financial statement sections:

RoleSection
210000Statement of Financial Position (Balance Sheet)
220000Statement of Comprehensive Income
310000 / 320000Statement of Cash Flows
410000 / 420000Statement of Changes in Equity
510000 / 520000Notes disclosures
610000Additional disclosures
700000Entity information
800xxxDetailed note disclosures
850xxxCompanies Act specific sections
990000 / 999999Dimensional structures

The URL Remapping (catalog.xml)

xml
<rewriteURI
  uriStartString="https://xbrl.cipc.co.za/taxonomy/2024-09-30/"
  rewritePrefix="../xbrl.cipc.co.za/taxonomy/2024-09-30/"/>

This maps the public URL https://xbrl.cipc.co.za/taxonomy/2024-09-30/ to the local directory, enabling offline processing. See 12 Taxonomy Packages.

Definition Schemas (def/ directory)

The def/ directory contains base concept definitions for South African-specific reporting:

DirectoryFrameworkPurpose
ca/Companies ActConcepts specific to SA Companies Act
coops/Co-operatives ActCo-operative-specific concepts
grap/GRAPGovernment accounting concepts
mfma/MFMAMunicipal finance concepts
pfma/PFMAPublic finance concepts
sds/IFRS S1/S2Sustainability disclosure concepts

Each contains:

  • A core schema (*-cor_2024-09-30.xsd) defining concepts
  • Label files for human-readable names
  • Some have enumeration definitions (predefined value lists)

What This Example Teaches

  1. Real-world complexity: a production taxonomy with 160+ linkbase files
  2. Extension architecture: how CIPC extends the international IFRS taxonomy with local requirements
  3. Multiple entry points: 15 different starting points for different entity types
  4. Naming conventions: systematic file naming makes the taxonomy navigable
  5. Multi-framework support: one package covers IFRS, SMEs, GRAP, Co-ops, Companies Act, and Sustainability
  6. All five linkbase types in action: labels, presentation, calculation, definition, reference
  7. URL remapping: how taxonomy packages enable offline use