Registry entry

Dominican Republic DGII Sworn Declaration of Motor Vehicle Transfer (Declaración Jurada de Transferencia de Vehículos de Motor, Formulario FI-VHM-308)

The Dirección General de Impuestos Internos' (DGII) Formulario FI-VHM-308, a single-page sworn declaration ('declaración jurada') a vehicle seller files with DGII's Departamento de Vehículos de Motor to record the sale/transfer of a motor vehicle for tax-roll ('descargo') purposes. It identifies the seller, optionally the buyer (Section II), the vehicle, and the sale's own terms, and — when the seller does not know the buyer's identity — carries its own fallback sworn statement (Section V) substituting for Section II. This document opens the Dominican Republic's DMV vertical (3 of 6 verticals for the jurisdiction, following `do/dgii/annual-corporate-income-tax-return-ir-2` (Taxes) and `do/mirex/passport-application` (Passport)). The form ships as a `.zip` containing a single-worksheet `.xlsx` (a print-and-fill layout, not a live AcroForm/e-filing widget), is freely downloadable from DGII's own vehiculosMotor forms page with no login/CAPTCHA/WAF gate, and is one of four sibling forms on that same page (FI-VHM-308 itself, GRCIV-011 'Solicitud de Eliminación de Vehículos de Motor', FI-VHM-312 'Solicitud Reembolso del Impuesto de Circulación Vehicular', and FI-ADML-007 'Solicitud de Certificaciones') — FI-VHM-308 was chosen as this vertical's opening document because a sale/transfer declaration is the closest functional analogue to a DMV title-transfer transaction already established in this registry (e.g. `cl/sii/aviso-venta-vehiculo`, `br/mg/detran/comunicacao-de-venda-de-veiculo`). Deliberately out of scope: the 'Departamento de Vehículos de Motor' office header (not applicant data); 'Firma del Declarante' (a wet-ink signature captured in person, excluded per this registry's treatment of physical signature/biometric capture elsewhere, e.g. `do/mirex/passport-application`); and the '(*) Datos Obligatorios' legend and Section V's own footnote, both instructional text rather than fields. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of the Dominican Republic or the Dirección General de Impuestos Internos.

Registry entry

do/dgii/vehicle-transfer-sworn-declaration-fi-vhm-308

Jurisdiction
Dominican Republic · national
Version
1.0.0
Verification
draft

Authoritative source Formulario FI-VHM-308 — Declaración Jurada de Transferencia de Vehículos de Motor (Departamento de Vehículos de Motor, DGII)

Machine access

Registry catalog
registry/index.jsonone record per schema id

Field reference

23 fields, 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.

Fields

  • declarationDate date optional

    Date the sworn declaration itself is executed. Printed as three boxes labeled '(día)'/'(mes)'/'(año)'; modeled as a single date-typed field per this registry's convention (e.g. `do/mirex/passport-application`'s `dateOfBirth`). Carries no printed asterisk despite being the document's own execution date — modeled optional strictly per the source's own convention, disclosed rather than upgraded to required.

  • sellerCedulaRnc string required

    The seller's Dominican national identity number (Cédula, for a natural person) or taxpayer registry number (RNC, for a legal entity), entered in the same box. No per-format split or pattern is printed on the form itself, so this is modeled as an unconstrained string rather than fabricating a regex covering both formats — the same treatment given the equivalent ambiguity in `do/mirex/passport-application`'s `identityDocumentNumber`.

    length: 0–20classification: sensitive-pii
  • sellerName string required

    The seller's full name (natural person) or company name (razón social, legal entity).

    length: 0–200classification: pii
  • sellerPhone string required

    The seller's landline telephone number. Marked required via a standalone '*' cell printed immediately after the 'Teléfono' label (see VERIFICATION.md) — unlike Section II's buyer 'Teléfono', which carries no such marker.

    length: 0–30classification: pii
  • sellerMobile string required

    The seller's mobile telephone number.

    length: 0–30classification: pii
  • sellerAddressStreet string optional

    Street name of the seller's address. Carries no asterisk; modeled optional even though the 'Dirección' subsection header itself carries one, consistent with this registry's treatment of a header-level asterisk not implying every sub-field beneath it is individually required (e.g. `do/mirex/passport-application`'s Section 2).

    length: 0–150
  • sellerAddressNumber string optional

    House/building number of the seller's address.

    length: 0–50
  • sellerAddressNeighborhood string optional

    Named urbanización/barrio/residencial of the seller's address, if applicable.

    length: 0–150
  • sellerAddressSector string required

    Sector of the seller's address.

    length: 0–100
  • sellerAddressMunicipality string required

    Municipality of the seller's address.

    length: 0–100
  • sellerAddressProvince string required

    Province of the seller's address.

    length: 0–100
  • buyerCedulaRnc string optional

    The buyer's Cédula or RNC, if known to the seller. Section II is entirely optional per the form's own footnote directing the filer to Section III when the buyer's data is not known, in which case Section V's fallback sworn statement is completed instead.

    length: 0–20classification: sensitive-pii
  • buyerName string optional

    The buyer's full name or company name, if known to the seller.

    length: 0–200classification: pii
  • buyerPhone string optional

    The buyer's landline telephone number, if known to the seller.

    length: 0–30classification: pii
  • buyerMobile string optional

    The buyer's mobile telephone number, if known to the seller.

    length: 0–30classification: pii
  • vehiclePlate string required

    The vehicle's license plate number.

    length: 0–20
  • vehicleBrand string required

    The vehicle's make/brand.

    length: 0–100
  • vehicleModel string required

    The vehicle's model.

    length: 0–100
  • vehicleChassis string optional

    The vehicle's chassis/VIN number. Carries no printed asterisk despite its practical importance to identifying the vehicle; modeled optional strictly per the source's own convention, disclosed rather than upgraded to required.

    length: 0–50
  • vehicleYear integer required

    The vehicle's model/manufacture year.

    range: 1900–2100
  • saleAmount number required

    The vehicle's sale amount, in Dominican pesos (RD$).

    range: 0–∞classification: financial
  • saleDate date optional

    The date the vehicle was sold. Carries no printed asterisk despite being central to the declaration; modeled optional strictly per the source's own convention, disclosed rather than upgraded to required.

  • declarantFullName string optional

    The seller's full legal name, filled into the blank of Section V's fallback sworn statement ('Yo, ___, Declaro bajo Fe de juramento que el vehículo indicado en el presente formulario fue vendido por mi... y que desconozco los datos del comprador...'). Completed only when Section II (buyer data) is left blank because the seller does not know the buyer's identity, per the form's own footnote. No boolean/enum field on the form marks this condition, so this is modeled `required: false` (completed in lieu of Section II) rather than a fabricated `requiredWhen` gate — disclosed here, not enforced computationally.

    length: 0–200classification: pii

Verification record

This file is the source-review record for this document version, per the manual-source-review-v1 practice.

Current claim

  • status: draft
  • verification.method: manual-source-review-v1
  • verification.lastVerifiedAt: 2026-07-15

Why this schema and why now (GOV-3166)

GOV-3152 (2026-07-15) independently scouted and live-verified all four of the Dominican Republic's then-remaining verticals in parallel with authoring tz/nida/application-form-2a. GOV-3158 picked up the Passport candidate (do/mirex/passport-application) and delegated the other four as standalone child issues, disclosing this candidate's source URL, its two-option choice (FI-VHM-308 vehicle-transfer vs. GRCIV-011 vehicle-removal), and a confirmed dead end (INTRANT driver's-license first-issuance, SSO-gated). This cycle (GOV-3173) picked up GOV-3166 directly and re-verified the source from scratch rather than trusting the prior scouting note as-is, per this registry's standing convention. FI-VHM-308 was chosen over GRCIV-011 because a sale/transfer declaration is the closer functional analogue to the title-transfer transactions already modeled elsewhere in this registry's DMV vertical (cl/sii/aviso-venta-vehiculo, br/mg/detran/comunicacao-de-venda-de-veiculo). The Dominican Republic already has two published documents (Taxes and Passport); this document is its third, opening the DMV vertical (1 of 6 for that vertical, 3/6 verticals overall for the jurisdiction).

Sources examined

  • Document (id, version): do/dgii/vehicle-transfer-sworn-declaration-fi-vhm-308 / 1.0.0
  • Spec version: GovSchema 0.3.0
  • Authority: Dirección General de Impuestos Internos (DGII), Departamento de Vehículos de Motor.
  • Primary source: https://dgii.gov.do/vehiculosMotor/formularioVehiculosMotor/Documents/FI-VHM-308.zip — fetched fresh this cycle with a plain curl (no browser User-Agent or session needed): HTTP 200, Content-Type: application/zip, 45,504 bytes, sha256 21e4f72d6f2fb2454ab4b60f6c379f7e24d6a12e0e10aaf66ed5c651a0881932.
  • Archive contents: one file, FI-VHM-308 Formulario Declaración Jurada de Transferencia de Vehículos de Motor.xlsx, 56,408 bytes, sha256 945addf62d6d5e0b326a73afce9bafd33d39fa7339169bdacff3f0b45b14b74f, a single-worksheet OOXML .xlsx (xl/worksheets/sheet1.xml, no embedded VBA project, unlike the legacy .xls IR-2 workbook).
  • Sibling forms on the same DGII page (not modeled this version): GRCIV-011 (Solicitud de Eliminación de Vehículos de Motor), FI-VHM-312 (Solicitud Reembolso del Impuesto de Circulación Vehicular), FI-ADML-007 (Solicitud de Certificaciones) — each a separate, distinct form with its own field set, left as disclosed backlog candidates for a future cycle rather than modeled here.

Structure independently confirmed

Parsed directly via Python's stdlib zipfile/xml.etree.ElementTree (no openpyxl/pip available or needed in this environment) against the workbook's own xl/sharedStrings.xml (39 shared strings) and xl/worksheets/sheet1.xml parts, cross-referenced by cell reference (e.g. C16, K16) and the sheet's 58 mergeCell ranges to reconstruct the print layout's field grid section by section, top to bottom:

  • Header (row 7-10): "Departamento de Vehículos de Motor" (office label, not a field) and the declaration's own title; Fecha (día/mes/año, row 9-10) — no printed asterisk.
  • I. DATOS DEL VENDEDOR (rows 14-31): Cédula/RNC\*, Nombre/Razón Social\*, Teléfono, Celular\*, then a "Dirección\*" subsection: Calle, Número/Edif., Urb./Barrio/Res. (no per-field asterisks), Sector\*, Municipio\*, Provincia\*.
  • II. DATOS DEL COMPRADOR (rows 33-40): Cédula/RNC, Nombre/Razón Social, Teléfono, Celular — none carry an asterisk. Row 40 carries the form's own footnote (shared-string index 34): "\* Si no conoce los datos del comprador continuar en la casilla III" ("If you don't know the buyer's data, continue at box III").
  • III. DATOS DEL VEHICULO (rows 47-56): Placa\*, Marca\*, Modelo\*, Chasis (no asterisk), Año\*.
  • IV. DATOS DE LA VENTA (rows 58-61): Monto de la Venta (RD$)\*, Fecha de la Venta (no asterisk).
  • V. DECLARACION DE VENTA SIN DATOS DEL COMPRADOR (rows 64-73): "Yo, ___, Declaro bajo Fe de juramento que el vehículo indicado en el presente formulario fue vendido por mi en la fecha antes indicada y que desconozco los datos del comprador y/o poseedor actual del mismo..." (a fallback sworn statement for when Section II can't be completed), "Firma del Declarante" (wet-ink signature, excluded — see Scope decisions), and the closing "(\*) Datos Obligatorios" legend.

A genuine reverse-engineering finding: no dataValidations, requiredness from a stray asterisk cell

Unlike the xlsx forms handled in GOV-3104 (Pakistan IT-1B) and GOV-3114 (this same jurisdiction's IR-2), this workbook carries no dataValidations element at all — confirmed by a direct string search of the raw xl/worksheets/sheet1.xml XML for the literal substring dataValidation (absent). It is a plain print-and-fill layout with no cell-level validation rules to decode. Requiredness instead follows the form's own printed * convention, applied cell-by-cell.

One genuine ambiguity was found and resolved by direct inspection rather than assumption: the label "Teléfono" in Section I (cell C21) carries no asterisk character within its own string — but a separate, single-character shared-string cell (F21, string index 26, literal ) sits immediately adjacent to it on the same row, between the "Teléfono" label and the "Celular\" label (cell J21, which does carry its own asterisk concatenated into the string). A full-sheet scan for every cell whose resolved string is exactly * found this to be the only such cell on the entire sheet. Section II's own "Teléfono"/"Celular" labels (row 39) carry no equivalent adjacent marker. Taken together, this confirms Section I's Teléfono is required (the source's typesetting simply placed its asterisk in a neighboring cell rather than the same string as the label), while Section II's Teléfono/Celular are genuinely unmarked and optional — consistent with Section II being conditionally skippable per the footnote quoted above. This is disclosed as a genuine layout quirk resolved by direct cell-level inspection, not glossed over or guessed.

Scope decisions

  1. Cédula / RNC (seller and buyer) is modeled as a single unconstrained string field per the source's own combined label, since the same box accepts either an 11-digit individual cédula or a shorter company RNC and no per-format split or pattern is printed on the form itself — the same treatment given the equivalent ambiguity in do/mirex/passport-application's identityDocumentNumber.
  2. Section II (buyer data) is modeled entirely optional, per the form's own footnote directing the filer to skip to Section III when the buyer's data is unknown.
  3. Section V's declarantFullName is modeled required: false, not gated by a requiredWhen condition on Section II's fields. The form itself provides no boolean/enum field marking "buyer data unknown" — only a footnote directing the filer's behavior — so no cross-field rule is fabricated to enforce this computationally; the conditional relationship is disclosed here instead, the same disclosed-rather-than-fabricated approach used for cl/sii/aviso-venta-vehiculo's conditionally-mandatory Sección D/E fields.
  4. Three fields carry no asterisk despite apparent practical necessity and are modeled required: false strictly per the source's own convention, not overridden by domain judgment: the top-of-form declaration date (declarationDate), vehicleChassis (Chasis/VIN), and saleDate (Fecha de la Venta). Each is disclosed here rather than silently upgraded to required.
  5. sellerAddressStreet/sellerAddressNumber/sellerAddressNeighborhood are modeled optional even though the "Dirección" subsection header itself carries an asterisk — the same header-level-vs-per-field asterisk distinction already established in do/mirex/passport-application's Section 2 (identity-document grid).
  6. Excluded from this version, disclosed rather than silently omitted:
    • "Departamento de Vehículos de Motor" — an office/department header label, not applicant data.
    • "Firma del Declarante" — a wet-ink signature captured in person, consistent with this registry's treatment of physical signature capture elsewhere (do/mirex/passport-application, il/mot/medical- examination-driving-license-renewal).
    • The "(\*) Datos Obligatorios" legend and Section II's own footnote — instructional text, not fields.
    • The three sibling DGII forms on the same page (GRCIV-011, FI-VHM-312, FI-ADML-007) — each a distinct form, left as disclosed backlog for a future cycle.

Conformance fixtures (Phase 3)

7 fixtures committed under conformance/do/dgii/vehicle-transfer-sworn-declaration-fi-vhm-308/1.0.0/: 2 valid scenarios plus 5 mutation-control fixtures, each derived from one of the valid fixtures by a single targeted mutation. All 7 were run against a from-scratch, ephemeral field-by-field conformance checker (derived directly from this schema's own fields[], not committed to the repo) before being finalized:

  • valid-known-buyer-full-transfer.json (seller and buyer both fully identified via Section I/II, all required fields present) — 0 errors.
  • valid-unknown-buyer-section-v-declaration.json (Section II buyer fields omitted entirely; declarantFullName completed instead, per Section V) — 0 errors.
  • mutation-control-missing-required-field.json (drops sellerCedulaRnc) — exactly 1 error.
  • mutation-control-missing-seller-phone.json (drops sellerPhone, testing the stray-asterisk-derived requiredness finding) — exactly 1 error.
  • mutation-control-negative-sale-amount.json (sets saleAmount to a negative value, testing minimum: 0) — exactly 1 error.
  • mutation-control-invalid-vehicle-year.json (sets vehicleYear to 1850, outside minimum: 1900) — exactly 1 error.
  • mutation-control-missing-vehicle-plate.json (drops vehiclePlate) — exactly 1 error.

Structural validation

  • node tools/validate.mjs registry/do/dgii/vehicle-transfer-sworn-declaration-fi-vhm-308/1.0.0/schema.jsonok.
  • node tools/validate-ajv.mjs registry/do/dgii/vehicle-transfer-sworn-declaration-fi-vhm-308/1.0.0/schema.json (ajv 2020-12 against spec/v0.3) — ok.
  • Full-registry re-run after adding this document: node tools/validate.mjs478/478 (477 documents + this one, plus 3 mapping.json companions unaffected); node tools/validate-ajv.mjs478/478.
  • node tools/verify-sources.mjs registry/do/dgii/vehicle-transfer-sworn-declaration-fi-vhm-308/1.0.0 — 1 directory, 3 URLs checked, 0 warnings, 0 failures.
  • npm run build-index re-run in tools/govschema-client/ to regenerate registry-index.json with this document included.

Maturity

structural-reference: the source form's own printed field grid (Sections I-V) is fully transcribed from the genuine, currently-served workbook, with the one layout ambiguity found (the Teléfono stray-asterisk cell) independently resolved by direct cell-level inspection rather than guessed. No live filing through DGII's Departamento de Vehículos de Motor was attempted and no independent second reviewer has yet passed over this field list. GovSchema is an independent, non-profit standards body and is not affiliated with, endorsed by, or operated by the Dominican Republic or the Dirección General de Impuestos Internos.

View the raw record (VERIFICATION.md)

Version history

  • 1.0.0 draft latest this page has verification record schema.json

Independent and non-affiliated

GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Dirección General de Impuestos Internos or any government. The authoritative source is always the live government form and its official instructions.