Registry entry
Côte d'Ivoire Micro-Enterprise Tax Declaration
The Direction Générale des Impôts' (DGI) "Déclaration d'impôt des microentreprises" (Articles 71 bis et suivants du Code Général des Impôts), used by a taxpayer whose annual turnover (all taxes included) falls between 50,000,001 and 200,000,000 CFA francs to declare and pay the micro-enterprise tax. Opens Côte d'Ivoire's Taxes vertical (2 of 6; Visa, `ci/dst/visa-application`, was already published). This schema models the taxpayer's own identification and address particulars, CGA (Centre de Gestion Agréé) and accounting-firm affiliation, the applicable turnover/tax-rate computation, a supplementary schedule of known taxation elements (revenue, payroll, rent, stock, other charges, staff and vehicle counts), a bounded 4-slot supplier-purchases table, the accompanying payment particulars, and the taxpayer's declaration date and signature. It excludes the form's own top-of-page office box (the office-assigned declaration number, "CACHET DU SERVICE" stamp, and "DATE DE RECEPTION") and the "RESERVE A L'ADMINISTRATION" box, neither of which is applicant-supplied. Filing this declaration is a taxpayer's own action performed with the Direction Générale des Impôts; this schema does not file the declaration 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 the Direction Générale des Impôts.
Registry entry
ci/dgi/microenterprise-tax-declaration
Authoritative source "Déclaration d'impôt des microentreprises" (Articles 71 bis et suivants du CGI), Direction Générale des Impôts, native (searchable-text) PDF, 2 pages.
Machine access
- Schema document
registry/ci/dgi/microenterprise-tax-declaration/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/ci/dgi/microenterprise-tax-declaration/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
60 fields across 6 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.
Filing Period and Tax Assessment Office
-
reportingMonthstring optionalSee this schema's own verification.notes Finding 3 for why this and the two following period fields are modelled as three separate optional fields.
pattern -
reportingQuarterstring optionalReporting Quarter
pattern -
reportingYearstring requiredReporting Year
pattern -
taxAssessmentServiceOfficestring requiredSee this schema's own verification.notes Finding 2 for why this is modelled as applicant-facing rather than office-only.
length: 0–150
Taxpayer Identification
-
companyNamestring requiredCompany Name (Raison Sociale)
length: 0–200 -
tradeNamestring optionalTrade Name (Sigle)
length: 0–100 -
taxpayerAccountNumberstring requiredSee this schema's own verification.notes Finding 4 for the 7-digit-plus-letter NCC format corroboration.
patternclassification: sensitive-pii -
businessActivitystring requiredBusiness Purpose or Activity (Objet ou activité)
length: 0–200 -
addressCommunestring requiredCommune
length: 0–100 -
addressPOBoxstring optionalP.O. Box (BP)
length: 0–50 -
addressPhonestring optionalTelephone (Tél)
length: 0–50classification: pii -
addressQuartierstring optionalQuartier
length: 0–100 -
addressStreetstring optionalStreet (Rue)
length: 0–150 -
addressLotNumberstring optionalLot Number (N° du lot)
length: 0–50 -
addressIlotstring optionalBlock (Ilot)
length: 0–50 -
cadastralSectionstring optionalCadastral Section
length: 0–50 -
cadastralParcellestring optionalCadastral Parcel (Parcelle)
length: 0–50 -
cgaAffiliationstring optionalAffiliated CGA (Centre de Gestion Agréé)
length: 0–200 -
cgaMembershipDatedate optionalCGA Membership Date
-
cgaMembershipNumberstring optionalCGA Membership Number
length: 0–50 -
accountingFirmNamestring optionalAccounting Firm Name (Cabinet d'Expert-Comptable)
length: 0–200 -
accountingFirmMembershipNumberstring optionalAccounting Firm Membership Number
length: 0–50 -
dgiConventionReferencestring optionalDGI Convention Reference
length: 0–150
Tax Determination
-
taxableRevenueAt4Percentinteger optionalSee this schema's own verification.notes Finding 5. Applicable to CGA members or taxpayers filing under an accounting-firm convention with the DGI.
range: 0–∞ -
taxAmountAt4Percentinteger optionalTax Amount at 4% Rate
range: 0–∞ -
taxableRevenueAt6Percentinteger optionalSee this schema's own verification.notes Finding 5. The standard rate, applicable when the 4% rate's conditions are not met.
range: 0–∞ -
taxAmountAt6Percentinteger optionalTax Amount at 6% Rate
range: 0–∞
Known Elements of Taxation
-
elementsKnownAsOfDatedate requiredElements of Taxation Known As Of
-
priorYearPurchasesResoldinteger optionalAmount of Purchases Resold (Prior Year)
range: 0–∞ -
salesOrServicesRevenueinteger optionalAmount of Sales or Services Rendered
range: 0–∞ -
annualSalariesPaidinteger optionalAnnual Salaries Paid
range: 0–∞ -
annualPremisesRentinteger optionalAnnual Rent of Business Premises
range: 0–∞ -
goodsStockValueinteger optionalStock of Goods
range: 0–∞ -
otherOperatingChargesinteger optionalOther Charges Related to the Activity
range: 0–∞ -
numberOfEmployeesinteger optionalNumber of Employees
range: 0–∞ -
numberOfProfessionalVehiclesinteger optionalNumber of Professional Vehicles
range: 0–∞
Statement of Suppliers
-
supplier1Identitystring optionalSupplier 1 — Identity
length: 0–150 -
supplier1NCCstring optionalSupplier 1 — Taxpayer Account Number (NCC)
length: 0–20 -
supplier1NatureOfPurchasesstring optionalSupplier 1 — Nature of Purchases
length: 0–150 -
supplier1Amountinteger optionalSupplier 1 — Amount
range: 0–∞ -
supplier2Identitystring optionalSupplier 2 — Identity
length: 0–150 -
supplier2NCCstring optionalSupplier 2 — Taxpayer Account Number (NCC)
length: 0–20 -
supplier2NatureOfPurchasesstring optionalSupplier 2 — Nature of Purchases
length: 0–150 -
supplier2Amountinteger optionalSupplier 2 — Amount
range: 0–∞ -
supplier3Identitystring optionalSupplier 3 — Identity
length: 0–150 -
supplier3NCCstring optionalSupplier 3 — Taxpayer Account Number (NCC)
length: 0–20 -
supplier3NatureOfPurchasesstring optionalSupplier 3 — Nature of Purchases
length: 0–150 -
supplier3Amountinteger optionalSupplier 3 — Amount
range: 0–∞ -
supplier4Identitystring optionalSupplier 4 — Identity
length: 0–150 -
supplier4NCCstring optionalSupplier 4 — Taxpayer Account Number (NCC)
length: 0–20 -
supplier4NatureOfPurchasesstring optionalSupplier 4 — Nature of Purchases
length: 0–150 -
supplier4Amountinteger optionalSupplier 4 — Amount
range: 0–∞
Payment and Declaration
-
paymentMethodenum requiredSee this schema's own verification.notes Finding 6.
enum: BANK_CHEQUE | POSTAL_CHEQUE | CASH -
checkNumberstring optionalCheque Number
length: 0–50 -
checkDatedate optionalCheque Date
-
bankOrInstitutionstring optionalBank or Institution
length: 0–150 -
paymentAmountinteger optionalPayment Amount
range: 0–∞ -
declarationPlacestring optionalPlace of Declaration
length: 0–100 -
declarationDatedate requiredDate of Declaration
-
signaturestring requiredSignature
classification: pii
Verification record
Candidate selection
GOV-4547 ("GovSchema Standard Research"). Picked up from Known Gaps entry 0l's own banked candidate (GOV-4539, 2026-07-23), which scouted Côte d'Ivoire fresh across all 6 verticals when it opened the jurisdiction via ci/dst/visa-application. That cycle found this Taxes candidate — DGI's micro-enterprise income-tax declaration — real, unauthenticated, and live (245,929 bytes), but left it as open backlog since Visa's specimen was chosen for that cycle's authoring.
Reaching the live source
Located via web search (the GOV-4539 banked record noted only the filename, not the full URL) at https://www.dgi.gouv.ci/assets/documents/imprimes/11_DECLARATION_DE_LIMPOT_DES_MICROENTREPRISES.pdf, then independently fetched directly with a plain curl request using a realistic desktop User-Agent (no login wall, CAPTCHA, or paywall):
- HTTP 200,
Content-Type: application/pdf,Content-Length: 245929— a byte-for-byte match with the GOV-4539 banked record. - sha256
3f6bdde34a1bc239c0f8caa4d36e5b73b4a5d004876a5cca9a4ccd2697796c22.
Extraction method
Extracted with pdfjs-dist (vendored from an existing session scratch install at /tmp/node_modules), reading each page's getTextContent() output directly (item strings plus x/y transform position), grouped by y-coordinate row and sorted by x-coordinate to reconstruct reading/column order. getAnnotations() confirmed zero /Widget annotations on either page — a flat (non-AcroForm) specimen. Both of the document's 2 pages were additionally rendered to PNG via pdfjs-dist + node-canvas (also vendored at /tmp/node_modules/canvas) at 2.5x scale and visually reviewed, cropped and re-examined at higher zoom where the table/box structure needed closer inspection (the payment-mode table and the "N° C/C"/period box grids in particular). As with several prior specimens in this registry, this document's bolded section headers ("01", "02", "03", "04") and one row label ("Espèces", see Finding 6 below) render as solid black boxes or blank space in the rasterized PNG despite extracting correctly through the text layer — a broken-glyph-mapping/correct-underlying-text-extraction pattern, not missing content.
Document structure
A 2-page, French-language form: "Déclaration d'impôt des microentreprises" (Articles 71 bis et suivants du Code Général des Impôts), Direction Générale des Impôts (DGI). Page 1 carries a top-of-page office box (declaration number/stamp/receipt date), the filing-period box grid and tax-office field, Section 01 (taxpayer identification), Section 02 (tax determination at the 4%/6% rates), Section 03 (known elements of taxation), Section 04 (statement of suppliers), and a "RESERVE A L'ADMINISTRATION" office box. Page 2 carries the payment-mode table ("Règlement joint à l'ordre du Receveur des Impôts"), explanatory footnotes, and the declaration place/date/signature block.
Fields modelled
60 fields[] across 6 steps (Filing Period and Tax Assessment Office; Taxpayer Identification; Tax Determination; Known Elements of Taxation; Statement of Suppliers; Payment and Declaration).
Disclosed source-fidelity findings
- The entire top-of-page box (from the page's own top rule down to just above "DECLARATION D'IMPOT DES MICROENTREPRISES") is excluded as office-only. The rendered page confirms two boxed columns flanking the ministry letterhead — the left box is unlabelled in the extracted text (structurally mirroring the right box) and the right box reads "DECLARATION N°…./." directly beside "CACHET DU SERVICE" (office stamp) and "DATE DE RECEPTION" (date of receipt) labels printed immediately above it on the same rule line — none of it printed as applicant input.
taxAssessmentServiceOffice("SERVICE D'ASSIETTE DES IMPOTS DE ……") is modelled as an applicant-facing field, distinct from the excluded top box. It sits on its own dotted line beside the filing-period box grid, not inside the ruled office box discussed in Finding 1, and identifies which local DGI tax-assessment service the taxpayer's business is attached to — information the taxpayer, not the receiving office, would supply when completing the form in advance of submission.- The "PERIODE D'IMPOSITION" box grid (2 boxes captioned "Mois", 2 boxes captioned "Trim.", 4 boxes captioned "Année") is modelled as three separate optional numeric fields (
reportingMonth,reportingQuarter,reportingYear) rather than one field, since the source prints three visually distinct, separately-captioned box groups with no instruction stating they are mutually exclusive or must all be completed together.reportingYearis the only one of the three modelledrequired: true: this document's own footnote (3) states the underlying tax is an annual liability ("le montant de l'impôt annuel exigible") paid via monthly instalments, making the fiscal year the one universally-applicable value of the three;reportingMonth/reportingQuarterare modelled optional to accommodate whichever instalment cadence (monthly or quarterly) a given filer uses, per the same footnote. taxpayerAccountNumber("N° C/C") is modelled with a 7-digit-plus-letter pattern, matching the rendered page's own box grid (7 contiguous digit boxes, then a visually separated 8th box) and independently corroborated by a third-party reference describing Côte d'Ivoire's own NCC (Numéro de Compte Contribuable) format as 7 digits followed by a single letter (e.g. "9500015F").- Section 02's "TAUX" (rate) column is excluded as a fixed printed value, not applicant input — the rendered page shows "4 %" and "6 %" printed directly in that column for the form's own two rows, not left blank for the filer to complete. The corresponding "CHIFFRE D'AFFAIRES TAXABLE TTC" (taxable turnover) and "MONTANT" (tax amount) cells for each of the two rows are modelled as four separate optional fields (
taxableRevenueAt4Percent/taxAmountAt4Percent,taxableRevenueAt6Percent/taxAmountAt6Percent), all optional, since footnote (2) confirms only one row applies to a given filer (the 4% rate applies to CGA members or taxpayers under an accounting-firm convention with the DGI; the 6% rate applies otherwise) and the form gives the filer no instruction to complete both.MONTANTis modelled as its own field rather than excluded as calculated, since — unlike this registry's closed GSP-0013 §7 precedent for excluding same-form arithmetic (e.g.tj/andoz/simplified-tax-declarationitems 004/005) — this form prints no explicit textual formula tying MONTANT to the other two columns; the "(1) (2) (3)" column numbering implies a positional relationship but does not state one in words, so the field is included rather than assumed derivable. - The payment-mode section ("Mode de paiement") is modelled as a
paymentMethodenum (BANK_CHEQUE/POSTAL_CHEQUE/CASH) gating four further fields. The rendered page shows two filled table rows, each with its own checkbox, dottedNuméro/Date/Banque ou établissement/Montantcells, captioned "Chèque … Bancaire" and "… Postal" respectively (both under a shared "Chèque (Cocher)" heading), while the text layer additionally places a third label, "Espèces" (cash), directly beneath at the same left-margin x-position — a row that renders entirely blank in the rasterized PNG (no checkbox or dotted cells visible in any column), the same broken-glyph pattern noted above.checkNumber,checkDate,bankOrInstitution, andpaymentAmountare modelledvisibleWhen/requiredWhengated onpaymentMethodbeingBANK_CHEQUEorPOSTAL_CHEQUEvia GSP-0013'sinoperator (mirroringug/mowt/driving-licence-application's established cross-tab convention), since only the two cheque rows print these cells; no equivalent dotted cell is printed anywhere near theCASHrow for any of the four, so no field is fabricated for a cash amount. - Section 03's eight numbered line items ("ELEMENTS D'IMPOSITION CONNUS AU : ……") are modelled
required: false. The form gives an explicit "known as of" date field (elementsKnownAsOfDate, modelledrequired: truesince the section's own header dedicates a printed date blank to it) but no asterisk or other marking on any of the eight line items themselves, and several (e.g.annualPremisesRent,numberOfProfessionalVehicles) are not applicable to every micro-enterprise (e.g. a business with no rented premises or no vehicles) — mirroring this registry's standing precedent for un-asterisked, not-every-filer-has-every-line schedule items (e.g.tj/andoz/simplified-tax-declarationFinding 7). - The "ETAT DES FOURNISSEURS" (statement of suppliers) table is modelled as a bounded 4-slot repeating group (
supplier1Identitythroughsupplier4Amount), matching the rendered page's own four numbered rows (1-4); all slots are optional, since a micro-enterprise is not guaranteed to have exactly four (or any) suppliers to disclose. companyName,taxpayerAccountNumber,businessActivity, andaddressCommuneare modelled as the only required Section 01 identification fields, alongside the requiredelementsKnownAsOfDate(Finding 7) and the required filing-period/tax-office fields (Findings 2-3). No asterisk or other required-field marking appears anywhere on this form; these four were selected as the minimum information the DGI could not process a declaration without (the filer's legal name, its unique taxpayer account number, what the business does, and which commune it operates in), while every other Section 01 detail (trade name/sigle, address components beyond commune, cadastral references, CGA/accounting-firm affiliation) is modelled optional since a given filer may not have all of them (e.g. a filer with no CGA affiliation, no cadastral parcel reference, or no separately-named trade sigle).- The signature is modelled as a plain
signaturestring field, not adocuments[]entry, matching this registry'sci/dst/visa-applicationprecedent (applicantSignature) for this jurisdiction's own signature-block convention, rather than thedocuments[]-entry convention used elsewhere for a physically attached signature/ attestation page.
Conformance
3 valid mock scenarios — valid-standard-rate-cash-filer (a 6%-rate, cash-paying annual filer with no CGA affiliation); valid-cga-member-bank-cheque-with-suppliers (a 4%-rate, CGA-affiliated, bank-cheque-paying filer with two suppliers declared); valid-accounting-convention-postal-cheque-quarterly (a 4%-rate filer under an accounting-firm/DGI convention, paying by postal cheque on a quarterly cadence) — plus 12 mutation-control fixtures (a missing-required fixture for each of this schema's 10 statically-required fields — reportingYear, taxAssessmentServiceOffice, companyName, taxpayerAccountNumber, businessActivity, addressCommune, elementsKnownAsOfDate, paymentMethod, declarationDate, and signature; an invalid paymentMethod enum value; and an unknown-field-rejected fixture) are committed under conformance/ci/dgi/microenterprise-tax-declaration/1.0.0/.
An ephemeral, from-scratch conformance checker (deriving required/enum/ pattern rules directly from this schema's own fields[], including its visibleWhen/requiredWhen gates, discarded after use, not committed) ran all 15 fixtures: all 3 valid scenarios at 0 errors, and all 12 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 Direction Générale des Impôts or any government. The authoritative source is always the live government form and its official instructions.