Registry entry
Côte d'Ivoire Sole Trader (Individual Entrepreneur) Business Registration
The Centre de Promotion des Investissements en Côte d'Ivoire's (CEPICI) "Formulaire Unique d'Immatriculation des Entreprises (Personnes Physiques)" — the single-window business-registration form an individual entrepreneur (sole trader) files with CEPICI's Guichet Unique des Formalités d'Entreprises to obtain a Registre du Commerce et du Crédit Mobilier (RCCM) number, taxpayer account number, CNPS employer number, and (where applicable) import-export code. Closes Côte d'Ivoire's Business Formation vertical (4 of 6; Visa, Taxes, and Passport were already published) — the sole remaining item of this jurisdiction's disclosed backlog. This schema models the declarant's own identity and contact particulars, the entrepreneur's identification and marital-status particulars, a conditionally-applicable spouse-identification cluster, the business's activities and premises/localisation particulars, a bounded 3-slot table for any additional person(s) empowered to bind the business, three-year investment- and employment-projection figures, and the declaration date/place and signature. It excludes the form's own top-of-page "CADRE RESERVE AU CEPICI" office box (dossier number, date of receipt, and the office-assigned RCCM/taxpayer-account/CNPS/import-export numbers), none of which is applicant-supplied. Registering a business is an applicant's own action performed with CEPICI's Guichet Unique; this schema does not file the registration itself, and the live source is always authoritative. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Republic of Côte d'Ivoire or CEPICI.
Registry entry
ci/cepici/sole-trader-registration
Authoritative source "Formulaire Unique d'Immatriculation des Entreprises (Personnes Physiques)", CEPICI, native (searchable-text) PDF, 3 pages (form ref. "FU/PP-1/2"/"FU/PP-2/2").
Machine access
- Schema document
registry/ci/cepici/sole-trader-registration/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/ci/cepici/sole-trader-registration/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
71 fields across 7 steps, read from the published schema.json, with names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.
Declarant and Investment Projections
-
declarantNamestring requiredDeclaration Established By
length: 0–150 -
declarantCapacitystring requiredActing in the Capacity Of
length: 0–150 -
declarantTaxpayerAccountNumberstring optionalThe declarant's own taxpayer account number, if the declarant (who may be the entrepreneur or a mandated agent/accountant) already has one. Not required, since a first-time entrepreneur declarant would not yet hold one.
length: 0–50classification: sensitive-pii -
declarantAddressstring requiredDeclarant's Personal Address
length: 0–300classification: pii -
declarantPhonestring requiredDeclarant's Telephone
length: 0–30classification: pii -
declarantFaxstring optionalDeclarant's Fax
length: 0–30 -
declarantMobilestring requiredDeclarant's Mobile
length: 0–30classification: pii -
declarantEmailstring optionalDeclarant's Email
length: 0–150classification: pii -
investmentYear1Amountnumber requiredProjected Investment Amount — Year 1
range: 0–∞ -
investmentYear2Amountnumber requiredProjected Investment Amount — Year 2
range: 0–∞ -
investmentYear3Amountnumber requiredProjected Investment Amount — Year 3
range: 0–∞ -
employeesYear1integer requiredProjected Number of Employees — Year 1
range: 0–∞ -
employeesYear2integer requiredProjected Number of Employees — Year 2
range: 0–∞ -
employeesYear3integer requiredProjected Number of Employees — Year 3
range: 0–∞
Entrepreneur Identification
-
lastNamestring requiredLast Name (Nom)
length: 0–100classification: pii -
firstNamesstring requiredFirst Names (Prénoms)
length: 0–150classification: pii -
dateAndPlaceOfBirthstring requiredSee this schema's own verification.notes Finding 5 for why date and place of birth are modelled as a single combined field.
length: 0–150classification: sensitive-pii -
domicilestring requiredDomicile
length: 0–300classification: pii -
nationalitystring requiredNationality
length: 0–100classification: pii -
maritalStatusstring requiredSee this schema's own verification.notes Finding 2 for why this is modelled as free text rather than an enum.
length: 0–100
Spouse Identification
-
spouseNamestring optionalSpouse's Last Name (Nom)
length: 0–100classification: pii -
spouseFirstNamesstring optionalSpouse's First Names (Prénoms)
length: 0–150classification: pii -
spouseDateAndPlaceOfBirthstring optionalSpouse's Date and Place of Birth
length: 0–150classification: sensitive-pii -
spouseNationalitystring optionalSpouse's Nationality
length: 0–100classification: pii -
spouseDomicilestring optionalSpouse's Domicile
length: 0–300classification: pii -
matrimonialRegimestring optionalMatrimonial Regime (Régime Matrimonial)
length: 0–100
Business Activities
-
businessActivitiesstring requiredActivities Carried Out
length: 0–500 -
operatingFormstring requiredForm of Operation (Forme d'Exploitation)
length: 0–150 -
numberOfEmployeesinteger optionalNumber of Employees
range: 0–∞ -
firstEmployeeHireDatedate optionalFirst Employee's Hire Date
-
mainEstablishmentStartDatedate requiredMain Establishment Start-of-Operation Date
-
otherEstablishmentsStartDatedate optionalOther Establishments' Start-of-Operation Date
-
recentEstablishmentsActivityNatureAndLocationstring optionalNature and Location of Activity of Most Recent Establishments
length: 0–500 -
secondaryEstablishmentsDetailsstring optionalSecondary Establishments — RCCM Number, Trade Name and Address
length: 0–500 -
projectedRevenuenumber requiredProjected Turnover (Chiffre d'Affaires Prévisionnel)
range: 0–∞ -
tradeNamestring optionalTrade Name (Nom Commercial)
length: 0–150 -
tradeAcronymstring optionalTrade Acronym (Sigle Utilisé)
length: 0–50 -
businessPurposestring requiredBusiness Purpose (Objet de l'Entreprise)
length: 0–500
Localisation
-
headOfficeBuildingNamestring optionalHead Office — Building Name
length: 0–150 -
headOfficeFloorNumberstring optionalSee this schema's own verification.notes Finding 3 for why this is modelled optional.
length: 0–20 -
headOfficeDoorNumberstring optionalHead Office — Door Number
length: 0–20 -
establishmentBuildingNamestring optionalEstablishment — Building Name
length: 0–150 -
establishmentFloorNumberstring optionalEstablishment — Floor Number
length: 0–20 -
establishmentDoorNumberstring optionalEstablishment — Door Number
length: 0–20 -
citystring requiredCity (Ville)
length: 0–100 -
communestring requiredCommune
length: 0–100 -
quartierstring requiredNeighbourhood (Quartier)
length: 0–100 -
lotNumberstring optionalLot Number
length: 0–50 -
ilotstring optionalBlock (Ilot)
length: 0–50 -
cadastralSectionstring optionalCadastral Section
length: 0–50 -
cadastralParcellestring optionalCadastral Parcel (Parcelle)
length: 0–50 -
titleFoncierNumberstring optionalLand Title Number (TF N°)
length: 0–50 -
postalAddressstring optionalPostal Address
length: 0–200classification: pii -
premisesPhonestring optionalPremises Telephone
length: 0–30
Persons Empowered to Bind the Business
-
representative1Namestring optionalAdditional Representative 1 — Last Name
length: 0–100classification: pii -
representative1FirstNamesstring optionalAdditional Representative 1 — First Names
length: 0–150classification: pii -
representative1DateAndPlaceOfBirthstring optionalAdditional Representative 1 — Date and Place of Birth
length: 0–150classification: sensitive-pii -
representative1Nationalitystring optionalAdditional Representative 1 — Nationality
length: 0–100classification: pii -
representative1Domicilestring optionalAdditional Representative 1 — Domicile
length: 0–300classification: pii -
representative2Namestring optionalAdditional Representative 2 — Last Name
length: 0–100classification: pii -
representative2FirstNamesstring optionalAdditional Representative 2 — First Names
length: 0–150classification: pii -
representative2DateAndPlaceOfBirthstring optionalAdditional Representative 2 — Date and Place of Birth
length: 0–150classification: sensitive-pii -
representative2Nationalitystring optionalAdditional Representative 2 — Nationality
length: 0–100classification: pii -
representative2Domicilestring optionalAdditional Representative 2 — Domicile
length: 0–300classification: pii -
representative3Namestring optionalAdditional Representative 3 — Last Name
length: 0–100classification: pii -
representative3FirstNamesstring optionalAdditional Representative 3 — First Names
length: 0–150classification: pii -
representative3DateAndPlaceOfBirthstring optionalAdditional Representative 3 — Date and Place of Birth
length: 0–150classification: sensitive-pii -
representative3Nationalitystring optionalAdditional Representative 3 — Nationality
length: 0–100classification: pii -
representative3Domicilestring optionalAdditional Representative 3 — Domicile
length: 0–300classification: pii
Declaration
-
declarationDatedate requiredDeclaration Date
-
signaturestring requiredSee this schema's own verification.notes Finding 8 for why this is modelled as a plain string field rather than a documents[] entry.
length: 0–100
Verification record
Candidate selection
GOV-4561 ("GovSchema Standard Research"). Côte d'Ivoire's Business Formation vertical was the sole item left open in Known Gaps entry 0l after Visa (GOV-4539), Taxes (GOV-4547), and Passport (GOV-4554) were each authored in prior cycles this same week — CEPICI's own "formulaire unique" sole-trader candidate and DGI's Formulaire_Enregistrement_des_Entreprises_FNE.doc were both flagged real but CEPICI's live host was recorded as sitting behind a Sucuri Cloudproxy JS challenge that a plain curl/fetch cannot pass — "not a login wall, but not authorable without real-browser-automation access this cycle."
Reaching the live source
Real-browser automation access was available this cycle. A Playwright/ Chromium session (this registry's own standing browser-playwright-sandboxed-env-setup recipe: vendored Chromium binary, LD_LIBRARY_PATH/FONTCONFIG_FILE environment fixes, realistic desktop Chrome User-Agent) navigated https://cepici.gouv.ci and https://www.cepici.ci — both redirected (HTTP 307) to https://cepici.ci, which loaded past the Sucuri challenge cleanly in the real browser (title "Bienvenue CEPICI", full page content rendered, no challenge page).
From the homepage: "Services" → "Guichet Unique des Formalités d'Entreprise" → "Création d'entreprise" (https://cepici.ci/infos-creation-entreprise) → "SERVICE A LA CREATION D'ENTREPRISES" card → "VOIR PLUS" link → https://cepici.ci/creation-entreprise, which lists CEPICI's own document library for business creation, organised by legal form. Under the "PERSONNE PHYSIQUE" (individual/sole-trader) heading, "Formulaire unique" links to https://cepici.ci/admin/pdf/codeinvestir/1752162607.pdf.
That PDF asset URL itself is not behind the Sucuri challenge — confirmed by fetching it directly with a plain, unauthenticated curl request (no browser, cookies, or session needed), using a realistic desktop Chrome User-Agent:
`` HTTP/2 200 content-type: application/pdf content-length: 29145 server: Sucuri/Cloudproxy ``
sha256 a55c3a61d8e0b3f609085746841cdac7561df01568947825ed4a32a8593b970d.
A companion document from the same page, the "Liste exhaustive des pièces à fournir pour l'Entreprise individuelle" (https://cepici.ci/admin/pdf/codeinvestir/1767862894.pdf), was also independently fetched directly (HTTP 200, 300,464 bytes) and read in full — it supplies this schema's documents[] checklist and the blanket requiredness instruction discussed in Finding 1 below.
Extraction method
Text extracted via pdfjs-dist's getTextContent() API (vendored at /tmp/node_modules/pdfjs-dist), reading each item's raw string and x/y transform position, grouped by y-coordinate row to reconstruct reading order. getAnnotations() confirmed zero /Widget annotations across all 3 pages — a flat (non-AcroForm) specimen, consistent with every other document in this jurisdiction's family.
All 3 pages were additionally rendered to PNG via pdfjs-dist + node-canvas (vendored at /tmp/node_modules/canvas) at 2.5x scale. As with several prior specimens in this registry, this document's glyphs render as blank/invisible in the rasterized PNG despite extracting correctly through the text layer — a broken-glyph-mapping/correct-underlying-text-extraction pattern, not missing content. Box and table gridlines (vector-drawn, not glyphs) render correctly regardless, and were used to independently corroborate the Section V table's column/row counts against the text layer's own x/y-coordinate groupings (see Finding 4).
Document structure
3 pages:
- Page 1: the office-only "CADRE RESERVE AU CEPICI" box (excluded); the "DECLARANT RESPONSABLE POUR L'ACCOMPLISSEMENT DES FORMALITES" block; a three-year (ANNEE 1/2/3) investment-amount and employment-count projection table. Footer stamp "FU/PP-1/2".
- Page 2: Sections I (entrepreneur identification) through V (persons empowered to bind the business), and the declaration date/place/signature line.
- Page 3: footer page-number stamp only ("FU/PP-2/2"), no further content.
Models 71 fields[] across 7 steps (27 statically required) and 11 documents[] entries.
Fields modelled
See schema.json's own steps[]/fields[] for the full list; summarized by step:
- Declarant and Investment Projections — the responsible declarant's own identity/contact particulars, plus the three-year investment-amount and employment-count projections.
- Entrepreneur Identification — the individual entrepreneur's own name, date/place of birth, domicile, nationality, and marital status.
- Spouse Identification — a conditionally-applicable cluster, entirely optional (Finding 2).
- Business Activities — activities, operating form, employee/ establishment particulars, projected turnover, trade name/purpose.
- Localisation — head-office and establishment address particulars, cadastral references, postal address and phone.
- Persons Empowered to Bind the Business — a bounded 3-slot repeating group (Finding 4).
- Declaration — declaration date and signature.
Disclosed source-fidelity findings
- The companion pièces-à-fournir document's blanket "toutes obligatoires" ("all of it is mandatory") instruction is applied to every Section I/III/IV/declarant field that is unconditionally applicable to any filer. The pièces-list states: "Il est important de remplir toutes les informations contenues dans le formulaire unique ; elles sont toutes obligatoires (exemple : chiffre d'affaires prévisionnel, régime d'imposition, numéros de téléphone …)" — an authority-issued blanket- required instruction. This is the only document in this registry's Côte d'Ivoire family to carry such an explicit statement (the sibling
ci/dst/visa-applicationandci/dst/passport-applicationschemas rely on per-field judgment calls in the absence of any such statement). It is NOT extended to the two structurally-conditional clusters modelled optional per Findings 2 and 4 (spouse identification; additional empowered persons), since a blanket instruction to complete "all the information" cannot literally require information that does not exist for a given filer (an unmarried entrepreneur has no spouse to declare), nor to sub-components of a premises description that may not apply to every property type (floor number, door number, cadastral references — see Finding 3). - The "II- IDENTIFICATION DU CONJOINT" (spouse identification) cluster is modelled entirely optional, with no
visibleWhen/requiredWhengate tomaritalStatus. Unlike this registry's siblingci/dst/passport-applicationschema (whose source form prints a literal C/M/D/V marital-status checkbox/box-grid enum that schema's own spouse cluster gates on), this form's "Situation matrimoniale" is a single free-text blank line with no printed options — there is no discrete, enumerable value to construct a reliable machine condition against, somaritalStatusis modelled as a plainstringfield and the spouse cluster is left ungated (optional throughout), rather than fabricating an enum this specimen does not print. - The premises/localisation sub-fields describing a specific building's internal layout or land-registry references (
headOfficeFloorNumber/headOfficeDoorNumber,establishmentFloorNumber/establishmentDoorNumber,lotNumber,ilot,cadastralSection,cadastralParcelle,titleFoncierNumber) are modelled optional, since these are conditional on the specific property (an unbuilt or non-multi-story premises may have no floor/door number; a leased office may have no land-title/cadastral references of its own) —city,commune, andquartier(the form's own three primary location-identification captions) are modelled required per Finding 1's blanket instruction, since every business has a city/commune/quartier regardless of building specifics. - "V- IDENTIFICATION DES PERSONNES AYANT LE POUVOIR D'ENGAGER L'ENTREPRISE" is modelled as a bounded 3-slot repeating group, all fields optional. The rendered page shows a 4-column, 5-row table — one label column ("Nom"/"Prénoms"/"Date et lieu de naissance"/"Nationalité"/ "Domicile", confirmed via the text layer's own x-coordinate grouping: all five labels share the identical x=59 left-margin position, meaning they are row labels, not column headers) plus three further data columns — matching the companion pièces-list's own "NB : En cas de désignation d'une personne pouvant engager l'entreprise, produire..." note, which frames this as a conditional designation, not a mandatory one. This schema's own documents checklist (Finding 6) does not separately duplicate the near-identical identity/criminal-record/residence- certificate document set the pièces-list's own "NB" sub-items (a/b/c) describe for such a designated person, since it is structurally identical to the entrepreneur's own already-modelled document set and this bounded table is itself optional.
dateAndPlaceOfBirthand its spouse/representative-table counterparts are each modelled as a single combinedstringfield, not split into separate date-of-birth and place-of-birth fields. Unlike this registry's siblingci/dst/passport-applicationandci/dst/visa-applicationschemas (whose source forms print separate "J M A" day/month/year box grids and a distinct "Lieu de naissance" caption), this specimen prints one shared blank line captioned "Date et lieu de naissance" throughout (Section I, Section II, and the Section V table) with no internal box/caption split — splitting it would fabricate a structure this specimen does not present.- The
documents[]list is drawn from the companion pièces-à-fournir document, not from this form's own text (this form prints no attached-documents checklist of its own, unlike the sibling passport/visa schemas' printed "Documents joints" sections).identityDocumentCopy,birthCertificateOrFiliationDocument,residenceCertificate,leaseContractOrPropertyProof, andlocationPlanare modelledrequired: true(the pièces-list states production of every listed document is mandatory for the dossier to be processed, and these five apply to every individual-entrepreneur filer regardless of circumstance).criminalRecordExtractAbidjanandswornDeclarationOfHonorWithCriminalRecordare modelledrequired: falseas a disclosed either/or pair (the pièces-list itself conditions which applies on whether the entrepreneur/manager was born within the Abidjan Commercial Court's own territorial jurisdiction, a condition this schema has no field to test).emancipationAct,marriageCertificateOrFamilyRecordBook,regulatedActivityAuthorization, andpowerOfAttorneyOrOtherDocumentare modelledrequired: false, matching the pièces-list's own "Autres" framing (emancipated minor / legally married / regulated activity / procuration, each conditional on the filer's own circumstances). - The three-year investment- and employment-projection figures (
investmentYearNAmount/employeesYearNfor N=1..3) are all modelledrequired: true, per Finding 1's blanket-required instruction — the source prints all three years' columns identically, with no asterisk or note distinguishing any one year as optional, and the pièces-list's own worked example of a mandatory field ("chiffre d'affaires prévisionnel") is a structurally identical projected-figure field. - The signature is modelled as a plain
signaturestring field, not adocuments[]entry, matching this registry'sci/dst/visa-applicationandci/dgi/microenterprise-tax-declarationprecedent for this jurisdiction's own signature-block convention.
Conformance
3 valid mock scenarios (an unmarried sole entrepreneur with no additional empowered representative and no CNPS-registered employees; a married entrepreneur declaring a spouse under the séparation de biens regime with one additional empowered representative; a multi-establishment entrepreneur declaring two additional empowered representatives and secondary- establishment details) plus 29 mutation-control fixtures (a missing-required- field fixture for each of this schema's 27 statically-required fields, an invalid-type fixture, and an unknown-field-rejected fixture) are committed under conformance/ci/cepici/sole-trader-registration/1.0.0/.
An ephemeral, from-scratch conformance checker (deriving required/type rules directly from this schema's own fields[], discarded after use, not committed) ran all fixtures: all 3 valid scenarios at 0 errors, and all mutation controls each raising exactly 1 error of the expected kind. Validated clean with node tools/validate.mjs and node tools/validate-ajv.mjs, individually and as part of the full registry run. registry-index.json regenerated via npm run build-index in tools/govschema-client/.
View the raw record (VERIFICATION.md)
Version history
-
1.0.0draftlatestthis pagehas verification recordschema.json
Independent and non-affiliated
GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Centre de Promotion des Investissements en Côte d'Ivoire or any government. The authoritative source is always the live government form and its official instructions.