Registry entry
Uruguay DGI/BPS Business Entity Registration (Formulario 0351)
Register a business entity — or communicate a restart of activities or an update to registered data — jointly with Uruguay's Dirección General Impositiva (DGI, the tax authority) and Banco de Previsión Social (BPS, the social-security bank) using DGI/BPS Formulario 0351, "Declaración de Registro: Inscripción y Actualización — Empresas y Otras Entidades Unipersonales o Pluripersonales." A single filing updates both organisms' registries at once. Opens Uruguay as GovSchema's 39th jurisdiction, via the Business Formation vertical (1 of 6). Formulario 0351 is a 501-widget, 2-page AcroForm covering both the unipersonal (sole-proprietor) and pluripersonal (multi-partner company) registration paths at once, plus BPS-specific contribution-regime data, a 267-widget tax-obligation election matrix, and business-succession/transfer data. This schema v1.0.0 is scoped deliberately to the most common path: a first-time individual (persona física / unipersonal) registering their own sole proprietorship (Rubro 1 Identificación, Rubro 2 Datos de la Entidad, Rubro 3 Domicilio Fiscal, Rubro 4 Domicilio Constituido, Rubro 5 Actividad Económica, Rubro 8 Régimen de Aportación al BPS, and Rubro 9 Datos del Titular, which the form's own instructivo restricts to unipersonal filings with up to two linked physical persons — modeled here as the owner plus an optional second person, e.g. a third-party representative). Out of scope for v1.0.0, and disclosed rather than silently dropped: the pluripersonal/multi-partner registration path itself (Rubro 2's 23 non-"persona física" entity types are still enumerated as valid values, since they share the same field, but this schema does not model the additional partner/officer roster that a pluripersonal filing requires — that roster is in fact captured by a separate companion form, Formulario 0352, "Inscripción, Actualización o Baja de Personas Físicas Vinculadas," not by Formulario 0351 itself); Rubro 6's full obligation-election matrix (~20 named DGI/BPS tax obligations × Alta/Baja × 5 "características" sub-roles × per-obligation registration numbers, 171 widgets) beyond four boolean flags for the obligations most common to a sole proprietor (IVA, IRPF, IRAE, Monotributo); Rubro 7's special-regime condition flags (Zona Franca, Imprenta Autorizada, INAC-CVA, etc.) and its business-succession/transfer ("Antecedentes") section, both only applicable to specific, less-common regimes or successor registrations; and the DGI-internal/office-use boxes. Formulario 0351 also supports a "Modificación" act type where only the fields being changed are completed; this schema models the full first-time-registration field set and does not separately encode that partial-update semantics.
Registry entry
uy/dgi/inscripcion-actualizacion-empresas-formulario-0351
Authoritative source Formulario 0351, "Declaración de Registro: Inscripción y Actualización — Empresas y Otras Entidades Unipersonales o Pluripersonales" (Versión 05)
Machine access
- Schema document
registry/uy/dgi/inscripcion-actualizacion-empresas-formulario-0351/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/uy/dgi/inscripcion-actualizacion-empresas-formulario-0351/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
64 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
-
tipoActoenum requiredWhether this filing is a first-time start of activities, a restart of previously ceased activities, or a modification of already-registered data. The source form has separate BPS and DGI checkbox columns for this same election; both organisms must be marked consistently, so this schema models it as one shared field (a disclosed simplification — see VERIFICATION.md for the exportValue-collision note on the underlying widgets).
enum: inicio_actividades | reinicio_actividades | modificacion -
vigenciaActoFechadate requiredEffective date of the act being registered. Consolidated from the source's separate Día/Mes/Año boxes into a single date field, per this registry's date-consolidation convention.
-
rutstringThe entity's 12-digit Registro Único Tributario number. Per DGI/BPS's own instructivo, only required for a restart-of-activities or modification filing; a first-time start-of-activities filing has no RUT yet, since obtaining one is the point of the filing.
patternclassification: pii -
numeroRegistroContribuyenteBpsstringBPS's own contributor registration number, when one already exists. Not marked as obligatory by the source for a first-time filing.
-
numeroRegistroEmpresaDgistringDGI's own business registration number, when one already exists. Not marked as obligatory by the source for a first-time filing.
-
tipoEntidadenum requiredLegal form of the registering entity, per the source's 24-option checkbox group. This schema's core field set beyond this point (Rubro 9's owner/representative data) is scoped to the "persona física" (individual/sole-proprietor) path; the other 23 entity types are enumerated here since they share this one field, but their additional pluripersonal registration requirements (multi-partner rosters, corporate governance data) are out of scope — see the top-level description.
enum: 24 values -
nombreDenominacionstring requiredThe entity's registered name — for a persona física, the individual's own name.
classification: pii -
nombreFantasiastringTrade name, only completed if the individual or entity uses one.
-
esResidenteboolean requiredWhether the individual/entity is a tax resident of Uruguay. Per the instructivo this must be stated in every case.
-
tieneEstablecimientoPermanentebooleanWhether a non-resident has a permanent establishment in Uruguay. Per the instructivo, only completed for non-residents.
-
paisResidenciastringCountry of residence. Per the instructivo, only completed for non-residents.
-
domicilioFiscalCalidadOcupanteenum requiredThe applicant's legal relationship to the registered tax-address property.
enum: propietario | arrendatario | subarrendatario | comodatario | usufructuario | otros -
domicilioFiscalDepartamentoenum requiredUruguayan department of the registered tax address (domicilio fiscal del local principal).
enum: 19 valuesclassification: pii -
domicilioFiscalLocalidadstring requiredLocality of the registered tax address.
classification: pii -
domicilioFiscalCallestring requiredStreet of the registered tax address.
classification: pii -
domicilioFiscalNumerostring requiredStreet number of the registered tax address.
classification: pii -
domicilioFiscalApartamentostringApartment/unit number of the registered tax address, if applicable. Not marked as obligatory by the source.
classification: pii -
domicilioFiscalCodigoPostalstringPostal code of the registered tax address. Not marked as obligatory by the source.
classification: pii -
domicilioFiscalTelefonoFijostring requiredLandline phone number for the tax address. The instructivo requires at least one of Teléfono fijo/Teléfono móvil to be completed; the GovSchema condition grammar has no clean "at least one of N" primitive (see VERIFICATION.md), so this schema models Teléfono fijo as the required representative of that pair and Teléfono móvil as optional — a disclosed simplification.
classification: pii -
domicilioFiscalTelefonoMovilstringMobile phone number for the tax address. See domicilioFiscalTelefonoFijo for the at-least-one-of-two disclosure.
classification: pii -
domicilioFiscalCorreoElectronicostringContact email address for the tax address. Not marked as obligatory by the source.
patternclassification: pii -
domicilioFiscalOtrosDetallesstringFree-text location hint (e.g. "between such-and-such streets"). Not marked as obligatory by the source.
-
domicilioConstituidoIgualAlFiscalboolean requiredWhether the constituted domicile (the legal address for official notifications) is the same as the tax address above. Per the instructivo, when true the rest of Rubro 4 is not completed at all; when false, the source requires a full separate address for the constituted domicile, which this schema does not model field-by-field beyond this flag — a disclosed exclusion (see VERIFICATION.md). This mirrors the same address structure as domicilioFiscal* above.
-
actividadPrincipalDescripcionstring requiredFree-text description of the entity's main economic activity. Per the instructivo, at least one activity is required for a start/restart-of-activities filing.
-
actividadPrincipalGrupostringEconomic-activity classification group code. Not marked as obligatory by the source.
-
actividadPrincipalSubgrupostringEconomic-activity classification subgroup code. Not marked as obligatory by the source.
-
actividadPrincipalCapstringEconomic-activity classification "Cap" sub-code. Not marked as obligatory by the source.
-
actividadPrincipalBandastringEconomic-activity classification "Band" sub-code. Not marked as obligatory by the source.
-
obligacionIvabooleanWhether the entity is registering for any variant of Impuesto al Valor Agregado (IVA). A simplification of the source's IVA-Gral/IVA-Agrop/IVA-Serv.Pers/IVA-Construcc/IVA-Peq.Emp sub-variants — see VERIFICATION.md.
-
obligacionIrpfbooleanWhether the entity is registering for Impuesto a la Renta de las Personas Físicas (IRPF, either category I or II). A simplification of the source's separate IRPF I / IRPF II rows — see VERIFICATION.md.
-
obligacionIraebooleanWhether the entity is registering for Impuesto a las Rentas de las Actividades Económicas (IRAE).
-
obligacionMonotributobooleanWhether the entity is registering under the Monotributo small-taxpayer regime — the obligation most commonly selected by a first-time individual sole-proprietor registrant.
-
combinaCapitalYTrabajobooleanWhether the activity combines capital and labor, per the source's own bottom-of-Rubro-6 flag. Not marked as obligatory by the source.
-
fechaBalancestring requiredFiscal year-end (day and month, no year — an annually-recurring date), formatted MM-DD. The instructivo marks this obligatory for a start/restart-of-activities filing. The source form provides three repeatable Día/Mes balance-date slots in total; this schema models the first (primary) slot, per this registry's bounded-repeating-group convention.
pattern -
regimenAportacionBpsenum requiredThe BPS social-security contribution regime classification for the activity.
enum: industria_comercio | servicios_personales | rural | construccion | civil -
titularTipoDocumentoenum requiredIdentity-document type of the individual owner (titular dueño). Rubro 9 is used, per the instructivo, only for unipersonal filings with up to two linked physical persons.
enum: CI | DNI | PASAPORTEclassification: pii -
titularNumeroDocumentostring requiredIdentity-document number of the individual owner. Modeled as a loose digit pattern rather than enforcing Uruguay's Cédula de Identidad check-digit algorithm — a disclosed simplification.
patternclassification: pii -
titularPaisOrigenDocumentostringCountry that issued the owner's identity document. Not marked as obligatory by the source.
classification: pii -
titularPrimerApellidostring requiredOwner's first surname.
classification: pii -
titularSegundoApellidostringOwner's second surname, if any. Not marked as obligatory by the source.
classification: pii -
titularPrimerNombrestring requiredOwner's first given name.
classification: pii -
titularSegundoNombrestringOwner's second given name, if any. Not marked as obligatory by the source.
classification: pii -
titularFechaNacimientodate requiredOwner's date of birth.
classification: pii -
titularEstadoCivilenumOwner's marital status. Not marked as obligatory by the source; the printed form has a free box rather than a checkbox group, so this enum is this schema's own vocabulary rather than the source's own closed list — a disclosed judgment call.
enum: soltero | casado | divorciado | viudo | concubinatoclassification: pii -
titularSexoenumOwner's sex. Not marked as obligatory by the source.
enum: M | Fclassification: pii -
titularTipoResidenciaenum requiredWhether the owner is a tax resident of Uruguay.
enum: residente | no_residente -
titularPaisResidenciastringOwner's country of residence, only completed when the owner is not a Uruguayan tax resident.
-
titularDomicilioDepartamentoenum requiredUruguayan department of the owner's personal residential address.
enum: 19 valuesclassification: pii -
titularDomicilioLocalidadstring requiredLocality of the owner's personal residential address.
classification: pii -
titularDomicilioCallestring requiredStreet of the owner's personal residential address.
classification: pii -
titularDomicilioNumerostring requiredStreet number of the owner's personal residential address.
classification: pii -
titularDomicilioApartamentostringApartment/unit number of the owner's personal residential address, if applicable. Not marked as obligatory by the source.
classification: pii -
titularDomicilioCodigoPostalstringPostal code of the owner's personal residential address. Not marked as obligatory by the source.
classification: pii -
titularTelefonoFijostringOwner's landline phone number. Not marked as obligatory by the source.
classification: pii -
titularTelefonoMovilstringOwner's mobile phone number. Not marked as obligatory by the source.
classification: pii -
titularCorreoElectronicostringOwner's contact email address. Not marked as obligatory by the source.
patternclassification: pii -
segundoTitularPresenteboolean requiredWhether a second physical person is being registered in Rubro 9's second "Persona Física" block — e.g. a third-party representative/authorized filer (Representante or Repte. Legal SAS), a co-owner, or a collaborating spouse (Cónyuge Colaborador). The source's own Rubro 9 repeats its full person-data block twice ("hasta con dos personas físicas" per the instructivo); this schema gates the second person's fields on this single boolean rather than modeling the source's full 12-role checkbox matrix per person-slot — a disclosed simplification (see VERIFICATION.md).
-
segundoTitularVinculoenumThe second person's relationship to the entity. Collapses the source's 12-option "Tipo de Vínculos" checkbox row (Dueño/Director/Socio/Cónyuge Colab./Administrador/Síndico/Socio sin Administración/Socio Administrador conjunto/Socio Administrador indistinto/Representante/Repte. Legal SAS/Otro) into a single enum — see VERIFICATION.md.
enum: dueno | conyuge_colaborador | representante | representante_legal_sas | otro -
segundoTitularTipoDocumentoenumIdentity-document type of the second linked physical person.
enum: CI | DNI | PASAPORTEclassification: pii -
segundoTitularNumeroDocumentostringIdentity-document number of the second linked physical person.
patternclassification: pii -
segundoTitularPaisOrigenDocumentostringCountry that issued the second person's identity document. Not marked as obligatory by the source.
classification: pii -
segundoTitularPrimerApellidostringSecond linked physical person's first surname.
classification: pii -
segundoTitularPrimerNombrestringSecond linked physical person's first given name.
classification: pii -
observacionesstringFree-text remarks field at the end of Rubro 9. Not marked as obligatory by the source.
Verification record
This file is the source-review record for this document version, per the manual-source-review-v1 practice. It documents the provenance of the published fields and flow and states the current verification claim honestly.
Current claim
status:draftverification.method:manual-source-review-v1verification.lastVerifiedAt:2026-07-12
This is a GovSchema Standard Research cycle (GOV-2449), a general research-analyst brief covering DMV, Business Formation, Visa, Passport, Taxes, and National ID & Civic Documents across all jurisdictions. This cycle opens Uruguay as GovSchema's 39th jurisdiction, via the Business Formation vertical (1 of 6).
Why this candidate
The brief handed a specific, already-scouted candidate: DGI/BPS's Formulario 0351, "Declaración de Registro: Inscripción y Actualización — Empresas y Otras Entidades Unipersonales o Pluripersonales," reported reachable, unauthenticated, and a genuine 501-widget AcroForm. This cycle re-verified that report from scratch rather than trusting it.
Sources examined
Source 1 (primary source, canonical DGI-hosted PDF)
- Authority: Dirección General Impositiva (DGI), jointly with Banco de Previsión Social (BPS) — this is a shared DGI/BPS declaration; a single filing updates both organisms' registries at once.
- Document: Formulario 0351, "Declaración de Registro: Inscripción y Actualización — Empresas y Otras Entidades Unipersonales o Pluripersonales" (Versión 05)
- URL (directly retrieved via
curl, HTTP 200, no login/CAPTCHA/WAF): https://www.gub.uy/direccion-general-impositiva/sites/direccion-general-impositiva/files/2023-09/Formulario%2B0351%2BV05.pdf - File identity:
sha256:339eb84796fa651c4c1354e4677c216d57048c575eb6d12b96864466861fbf69, 499,137 bytes, retrieved 2026-07-12. - AcroForm structure, confirmed via
pdfjs-dist(legacy build)page.getAnnotations(): 2 pages, 501 total widgets — 267Btn(checkbox/radio), 224Tx(text), 10Ch(choice/dropdown), matching the prior scouting pass's counts exactly (re-derived independently, not copied from the brief). - Extraction method:
pdfjs-distgetAnnotations()per page for the field name (T)/type (FT)/tooltip (TU)/export-value inventory, plusgetTextContent()for the full printed text, plus a full-page render to PNG at 2.2x scale viapdfjs-dist+node-canvasfor both pages, to visually confirm the Rubro layout and resolve several field-name-vs-Rubro ambiguities the raw widget/text dumps alone left unclear (see judgment calls below).
Source 2 (landing/download page)
- URL: https://www.gub.uy/direccion-general-impositiva/tramites-y-servicios/formularios/formulario-0351-inscripcion-actualizacion-empresas-otras-entidades
- Confirms this is the current, single published copy of Formulario 0351 (487.44 KB listed, matching the 499,137-byte download); no newer version is linked from this page.
Source 3 (DGI/BPS's own instructivo — casilla-level requiredness rules)
- URL: https://www.bps.gub.uy/1150/instructivo-form-351-inscripcion-y-actualizacion.html (PDF fetched via WebFetch after a direct
curlguess at a differently-named URL 404'd; the actual PDF is titled "INSTRUCTIVO Form 0351 Versión 03" — an older instructivo revision than the V05 form itself, but its Rubro-by-Rubro completion rules match the V05 form's own Rubro structure 1:1 and are the only authoritative prose guidance DGI/BPS publish for this form). - Extracted via
pdfjs-distgetTextContent(). Cited per-field viasourceRefthroughoutschema.jsonand in the field inventory below. This source is what confirms, for example, thatrutis only required on a restart/modification filing, that Teléfono fijo/móvil requires at least one of the two, that Rubro 4 (Domicilio Constituido) is skipped entirely when it equals the fiscal address, and that Rubro 9 (Datos del Titular) applies "solamente en las inscripciones de entidades hasta con dos personas físicas" (only to unipersonal filings with up to two linked physical persons) — the load-bearing fact behind this schema's owner/second-person design.
Source 4 (web search — legal-currency check)
- Searched for a V06 revision or a newer DGI/BPS resolution superseding Formulario 0351 V05. No newer version surfaced; every result (DGI's own page, BPS's own instructivo page, and several third-party accounting-firm explainer blogs) still references Formulario 0351 without a V06. Negative check: V05 (2023-09) remains the current, in-force version as of 2026-07-12.
- This search also surfaced that Formulario 0351 has a companion form, Formulario 0352, "Inscripción, Actualización o Baja de Personas Físicas Vinculadas" — used specifically to register/update/remove the physical persons (partners, administrators, representatives, owners) linked to a pluripersonal entity. This independently corroborates this schema's scoping decision to exclude the full multi-partner roster from Formulario 0351 itself (see judgment call 1 below): that roster genuinely lives in a separate form, not merely in an unmodeled section of this one.
Field inventory (Phase 3)
All Rubro references below are the form's own printed section headers, confirmed via the page-1/page-2 PNG renders described above.
| Field (schema name) | Label (source) | Rubro | Example valid value | |---|---|---|---| | tipoActo | Acto que se realiza | Rubro 1 | "inicio_actividades" | | vigenciaActoFecha | Vigencia del acto (Día/Mes/Año) | Rubro 1 | "2026-07-01" | | rut | Nº de RUT | Rubro 1 | "213456780015" | | numeroRegistroContribuyenteBps | Nº de Registro de Contribuyente | Rubro 1 | "123456" | | numeroRegistroEmpresaDgi | Nº de Registro de Empresa | Rubro 1 | "7654321" | | tipoEntidad | Tipo de entidad | Rubro 2 | "persona_fisica" | | nombreDenominacion | Nombre o denominación | Rubro 2 | "María Fernanda Rodríguez Silva" | | nombreFantasia | Nombre de fantasía | Rubro 2 | "Almacén Rodríguez" | | esResidente | Residente | Rubro 2 | true | | tieneEstablecimientoPermanente | No residente con Establecimiento permanente | Rubro 2 | false | | paisResidencia | País de residencia | Rubro 2 | "Argentina" | | domicilioFiscalCalidadOcupante | Calidad en que ocupa el domicilio fiscal | Rubro 3 | "arrendatario" | | domicilioFiscalDepartamento | Departamento | Rubro 3 | "Montevideo" | | domicilioFiscalLocalidad | Localidad | Rubro 3 | "Montevideo" | | domicilioFiscalCalle | Calle | Rubro 3 | "Avenida 18 de Julio" | | domicilioFiscalNumero | Número | Rubro 3 | "1234" | | domicilioFiscalApartamento | Apart. | Rubro 3 | "301" | | domicilioFiscalCodigoPostal | Código postal | Rubro 3 | "11200" | | domicilioFiscalTelefonoFijo | Teléfono fijo | Rubro 3 | "27091234" | | domicilioFiscalTelefonoMovil | Teléfono móvil | Rubro 3 | "099123456" | | domicilioFiscalCorreoElectronico | Correo electrónico | Rubro 3 | "almacen@example.com" | | domicilioFiscalOtrosDetalles | Otros detalles de ubicación | Rubro 3 | "Entre Yaguarón y Andes" | | domicilioConstituidoIgualAlFiscal | Indicar si el Domicilio Constituido es igual al Fiscal | Rubro 4 | true | | actividadPrincipalDescripcion | Actividad Principal | Rubro 5 | "Comercio minorista de artículos de almacén" | | actividadPrincipalGrupo | Grupo | Rubro 5 | "47" | | actividadPrincipalSubgrupo | Sub G | Rubro 5 | "471" | | actividadPrincipalCap | Cap | Rubro 5 | "1" | | actividadPrincipalBanda | Band | Rubro 5 | "A" | | obligacionIva | Obligación: IVA (Alta) | Rubro 6 | true | | obligacionIrpf | Obligación: IRPF I / IRPF II (Alta) | Rubro 6 | true | | obligacionIrae | Obligación: IRAE (Alta) | Rubro 6 | false | | obligacionMonotributo | Obligación: MONOTRIBUTO (Alta) | Rubro 6 | true | | combinaCapitalYTrabajo | Combina Capital y Trabajo | Rubro 6 | true | | fechaBalance | Balance (Día/Mes) | Rubro 7 | "12-31" | | regimenAportacionBps | (Industria y comercio / Servicios Personales / Rural / Construcción / Civil) | Rubro 8 | "industria_comercio" | | titularTipoDocumento | Tipo de documento | Rubro 9 (person 1) | "CI" | | titularNumeroDocumento | Nº de documento | Rubro 9 (person 1) | "4123456" | | titularPaisOrigenDocumento | País de origen del documento | Rubro 9 (person 1) | "Uruguay" | | titularPrimerApellido | 1º Apellido | Rubro 9 (person 1) | "Rodríguez" | | titularSegundoApellido | 2º Apellido | Rubro 9 (person 1) | "Silva" | | titularPrimerNombre | 1º Nombre | Rubro 9 (person 1) | "María" | | titularSegundoNombre | 2º Nombre | Rubro 9 (person 1) | "Fernanda" | | titularFechaNacimiento | Fecha de Nacimiento | Rubro 9 (person 1) | "1988-03-14" | | titularEstadoCivil | Estado Civil | Rubro 9 (person 1) | "soltero" | | titularSexo | Sexo | Rubro 9 (person 1) | "F" | | titularTipoResidencia | Tipo de residencia | Rubro 9 (person 1) | "residente" | | titularPaisResidencia | País de residencia | Rubro 9 (person 1) | "Argentina" | | titularDomicilioDepartamento | Departamento (Domicilio Particular) | Rubro 9 (person 1) | "Montevideo" | | titularDomicilioLocalidad | Localidad (Domicilio Particular) | Rubro 9 (person 1) | "Montevideo" | | titularDomicilioCalle | Calle (Domicilio Particular) | Rubro 9 (person 1) | "Bulevar Artigas" | | titularDomicilioNumero | Número (Domicilio Particular) | Rubro 9 (person 1) | "2456" | | titularDomicilioApartamento | Apart. (Domicilio Particular) | Rubro 9 (person 1) | "301" | | titularDomicilioCodigoPostal | Código postal (Domicilio Particular) | Rubro 9 (person 1) | "11300" | | titularTelefonoFijo | Teléfono fijo | Rubro 9 (person 1) | "27089999" | | titularTelefonoMovil | Teléfono móvil | Rubro 9 (person 1) | "099888777" | | titularCorreoElectronico | Correo electrónico | Rubro 9 (person 1) | "maria@example.com" | | segundoTitularPresente | (second "Persona Física (indicar)" block present) | Rubro 9 (person 2) | true | | segundoTitularVinculo | Tipo de Vínculos | Rubro 9 (person 2) | "representante" | | segundoTitularTipoDocumento | Tipo de documento | Rubro 9 (person 2) | "CI" | | segundoTitularNumeroDocumento | Nº de documento | Rubro 9 (person 2) | "4556677" | | segundoTitularPaisOrigenDocumento | País de origen del documento | Rubro 9 (person 2) | "Uruguay" | | segundoTitularPrimerApellido | 1º Apellido | Rubro 9 (person 2) | "Fernández" | | segundoTitularPrimerNombre | 1º Nombre | Rubro 9 (person 2) | "Ana" | | observaciones | Observaciones | Rubro 9 | "Presentación a cargo de contadora pública." |
No documents[] are modelled. DGI/BPS's own instructivo says required documentation "estará en función del tipo de entidad y del acto que se esté registrando. La DGI brindará en forma específica el detalle para cada caso en particular" — i.e. there is no fixed, universal document checklist published by the authoritative source itself; it is determined case-by-case at filing. Rather than fabricate a plausible-sounding but unsourced documents[] array (e.g. from third-party accounting blogs), this schema version omits it — a disclosed omission, consistent with pe/sunat's sibling Business Formation schema also omitting documents[].
Access notes and judgment calls
- Scoped to the "persona física" (individual/sole-proprietor, unipersonal) registration path.
tipoEntidad's enum still lists all 24 entity-type checkbox values (since they share one field), but this schema's remaining field set — most importantly all of Rubro 9 (Datos del Titular) — only applies, per the instructivo's own text, to unipersonal filings ("Rubro 9 – Datos para la Inscripción del Titular Dueño (Sólo para unipersonales)"). The pluripersonal path additionally requires a full partner/officer roster, which — per this cycle's web-search legal-currency check (Source 4) — is in fact captured by a separate companion form, Formulario 0352, not merely an unmodeled section of Formulario 0351. Also out of scope: Rubro 2's "Fecha de Constitución" and "Inscripción en el Registro Nal. Com." fields, which the instructivo explicitly restricts to "sociedades con contrato" (contract-based companies) — not applicable to an individual. - Rubro 6 (Obligaciones)'s full election matrix is collapsed to four boolean flags. The printed table lists ~20 named DGI/BPS tax obligations (IRAE, five IVA sub-variants, four IMESI sub-registrations, IMEBA/IMEBA ADIC., PAT-P.F./PAT-Entidades, ITP, ICOSA, MONOTRIBUTO, IRPF I/II, IRNR, PRIMARIA, FIS, ENT.ASEGURA.), each with independent Alta/Baja columns and up to 5 "Características" sub-roles (01 Contribuyente, 02 Agente de retención, 03 Agente de percepción, 04 Responsable por obligaciones tributarias de 3ros, 05 Responsable sustituto) — a 267-widget sub-structure within Rubro 6 alone. This schema models only
obligacionIva/obligacionIrpf/obligacionIrae/obligacionMonotributo(the four most relevant to a sole proprietor) as simple Alta-only booleans; Baja (deregistration), the five Características sub-roles, and the IMESI sub-registration numbers are all out of scope for v1.0.0. - Rubro 9's second "Persona Física" block is modelled as one boolean gate (
segundoTitularPresente) plus one collapsedsegundoTitularVinculoenum, rather than the source's full per-person 12-option "Tipo de Vínculos" checkbox row (Dueño/Director/Socio/Cónyuge Colab./ Administrador/Síndico/Socio sin Administración/Socio Administrador conjunto/Socio Administrador indistinto/Representante/Repte. Legal SAS/Otro) crossed with per-role VF/SS date sub-widgets. This directly demonstrates the brief's requestedrequiredWhenpattern: whensegundoTitularPresenteistrue(e.g. because a third-party representative/authorized filer is acting on the owner's behalf, one ofsegundoTitularVinculo's values), that person's identity fields (segundoTitularVinculo,segundoTitularTipoDocumento,segundoTitularNumeroDocumento,segundoTitularPrimerApellido,segundoTitularPrimerNombre) become required; they stay absent and optional otherwise.requiredWhenis gated on the genuine booleansegundoTitularPresente, not onnotEquals ""against an optional field, per this registry's documentednotEquals-empty-string gotcha. domicilioFiscalTelefonoFijois modelled as required, withdomicilioFiscalTelefonoMoviloptional, even though the instructivo actually requires "por lo menos uno" (at least one) of the pair. The GovSchema v0.3Condition/crossFieldValidationgrammar'srequirePresent/requireAbsentprimitives both mean "all of these fields," with no clean "at least one of N" expression available; rather than invent a non-standard construct, this schema disclosed-simplifies to requiring the fijo variant and leaving móvil optional.- Checkbox
exportValuecollision, disclosed: theTActo(DGI column) andTActoBps(BPS column) widget groups for Rubro 1's "Acto que se realiza" each expose three checkboxes sharing the literal export valuesYes/No/NoNoacross their three rows (Inicio de actividades/Reinicio de actividades/Modificación) — the same collision-by-shared-exportValue pattern this registry has previously documented forfi/poliisi. Disambiguation here is by widget rect position (row order), not by distinct exportValue strings. Since BPS and DGI must be marked consistently for the same election, this schema collapses both widget groups into the singletipoActofield. - Field-name-prefix-vs-Rubro-number mismatch, resolved via visual render. The AcroForm's internal field names run
R1..R11(e.g.R10.1Ap,R11.FNac), but the printed form has only 9 Rubros. Rendering both pages to PNG (pdfjs-dist+node-canvas, 2.2x scale) confirmed thatR10.*/R11.*-prefixed widgets are the two repeatable person-data slots inside Rubro 9 ("Datos del Titular"), not non-existent Rubros 10/11. Likewise, severalR7.*-prefixed widgets (e.g.R7.Rein1,R7.AntSuc) turned out, on visual inspection, to belong to the "Antecedentes"/transfer-reason subsection printed directly above the Rubro 8 header rather than to Rubro 7's own "Condición" checkboxes — this schema excludes both regardless (judgment call 7), so the distinction does not affect any modeled field, but it is recorded here since an initial text-only extraction pass mis-attributed it. - Rubro 7 (Otros Datos) is excluded except for
fechaBalance. The instructivo marks "Fecha de balance" obligatory for a start/restart filing, so this schema models the first of the printed form's three repeatable Día/Mes balance-date slots asfechaBalance(bounded repeating-group convention). Rubro 7's "Condición" checkboxes (Zona Franca usuario directo/indirecto, Imprenta Autorizada (WEB), INAC-CVA 30/90 días, Comercio autorizado Tax free, Entidad Colaboradora, Administradora de Crédito, Exonerado, etc.) are explicitly conditional ("Sólo se completa cuando corresponde") special/niche regimes, and the Antecedentes/transfer-reason section only applies when registering as successor to a transferred business — neither applies to the common first-time individual registration this schema targets, so both are out of scope. titularEstadoCivil's enum is this schema's own vocabulary, not the source's. The printed form has a free text box for "Estado Civil" rather than a checkbox group;soltero/casado/divorciado/viudo/concubinatois a reasonable closed set for Uruguay but is not itself verified against a DGI-published enumeration — disclosed as a judgment call.titularNumeroDocumento/segundoTitularNumeroDocumentouse a loose^[0-9]{6,9}$digit pattern, not Uruguay's Cédula de Identidad check-digit algorithm, sincetipoDocumentocan also be DNI or Pasaporte (foreign formats) for either person slot.- Domicilio Constituido (Rubro 4) beyond the same-as-fiscal flag is out of scope. Per the instructivo, when
domicilioConstituidoIgualAlFiscalistruethe rest of Rubro 4 is not completed at all. Whenfalse, the source requires a full separate address (mirroring Rubro 3's own structure) that this schema does not model field-by-field — disclosed rather than silently dropped, both in this file and in the schema's top-leveldescription.
Legal-currency check
Web search for a Formulario 0351 V06 or a superseding DGI/BPS resolution found none; V05 (dated 2023-09) remains the current, in-force version as of 2026-07-12 (see Source 4 above). Negative result recorded per this registry's established convention.
Test run (Phase 4)
No live submission was attempted — Formulario 0351 is a PDF filed with DGI/BPS, not a self-service online API GovSchema can exercise. Verification here is against the schema's own structural rules (tools/validate.mjs, tools/validate-ajv.mjs) and a hand-rolled conformance-fixture check.
A throwaway Node script (not committed, run locally from /tmp) loaded schema.json and each fixture under conformance/uy/dgi/inscripcion-actualizacion-empresas-formulario-0351/1.0.0/, evaluating every field's required/requiredWhen and validation.pattern/ validation.enum rule against each fixture:
| Fixture | Expected | Actual | |---|---|---| | inicio-actividades-unipersonal-comercio-minorista.json (valid: first-time individual, retail, no representative) | 0 errors | 0 errors | | inicio-actividades-unipersonal-con-representante-autorizado.json (valid: first-time individual, services, with an authorized third-party representative) | 0 errors | 0 errors | | mutation-control-missing-required-field.json (drops nombreDenominacion) | 1 error, required | 1 error, required on nombreDenominacion | | mutation-control-rut-pattern-violation.json (sets tipoActo: modificacion and a malformed rut) | 1 error, pattern | 1 error, pattern on rut | | mutation-control-missing-conditional-representante-field.json (segundoTitularPresente: true but segundoTitularPrimerApellido absent) | 1 error, required (conditional) | 1 error, required on segundoTitularPrimerApellido |
This schema has no documents[] array (see above), so there is no documents[]-requiredness blind spot to separately exercise — the mutation-control set above already covers the three requested error classes (missing static-required field, pattern violation, missing requiredWhen-gated field) against fields[], which is the schema's only requirement surface.
Both registry validators pass with 0 errors:
``` $ node tools/validate.mjs registry/uy/dgi/inscripcion-actualizacion-empresas-formulario-0351/1.0.0/schema.json ok registry/uy/dgi/inscripcion-actualizacion-empresas-formulario-0351/1.0.0/schema.json 1/1 document(s) passed.
$ node validate-ajv.mjs ../registry/uy/dgi/inscripcion-actualizacion-empresas-formulario-0351/1.0.0/schema.json ok registry/uy/dgi/inscripcion-actualizacion-empresas-formulario-0351/1.0.0/schema.json [v0.3] 1/1 document(s) validated against the meta-schema (ajv 2020-12). ```
tools/govschema-client's registry-index.json was regenerated (npm run build-index) and now lists 371 entries.
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 Dirección General Impositiva or any government. The authoritative source is always the live government form and its official instructions.