PHPackages                             letkode/latam-documents - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PDF &amp; Document Generation](/categories/documents)
4. /
5. letkode/latam-documents

ActiveLibrary[PDF &amp; Document Generation](/categories/documents)

letkode/latam-documents
=======================

Latin American and Spanish document validation, normalization and formatting (DNI, RUT, CPF, CNPJ, CURP, RFC, CI, RUC, NIF, NIE, CIF and more).

1.0.3(1mo ago)05↓100%MITPHPPHP ^8.4

Since May 3Pushed 3w agoCompare

[ Source](https://github.com/letkode/latam-documents)[ Packagist](https://packagist.org/packages/letkode/latam-documents)[ RSS](/packages/letkode-latam-documents/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (8)Versions (5)Used By (0)

Document Helpers
================

[](#document-helpers)

Validación y formateo de documentos de identidad para LATAM + España.

Entry point
-----------

[](#entry-point)

```
$processor = new DocumentProcessor();
$result = $processor->process('12.345.678-9', CountryDocumentEnum::CL, DocumentTypeEnum::RUT);

// $result->valid     → true
// $result->formatted → '12.345.678-9'
// $result->normalized → '123456789'
```

Países y tipos soportados
-------------------------

[](#países-y-tipos-soportados)

PaísEnumTipoAlgoritmoChile`CL``RUT`Módulo 11Brasil`BR``CPF` / `CNPJ`Módulo 11 dobleArgentina`AR``DNI` / `CUIL` / `CUIT`Módulo 11 / RegexColombia`CO``CC` / `NIT`Módulo 11 / RegexMéxico`MX``CURP` / `RFC`Regex estructuradoPerú`PE``DNI` / `RUC`Módulo 11 / RegexUruguay`UY``CI`Módulo 10Ecuador`EC``CI` / `RUC`Módulo 10Rep. Dom.`DO``CEDULA`Módulo 10 (Luhn)El Salvador`SV``DUI`Módulo 10España`ES``NIF` / `NIE` / `CIF`Tabla mod 23 / CIFBolivia`BO``CI`RegexParaguay`PY``CI`RegexVenezuela`VE``CI` / `RIF`Regex + prefijoCosta Rica`CR``CI` / `DIMEX`RegexGuatemala`GT``DPI`RegexHonduras`HN``RNP`RegexNicaragua`NI``CI`Regex estructuradoPanamá`PA``CI`Regex estructuradoCuba`CU``CI`Regex + fecha embebidaDocumentResultDTO
-----------------

[](#documentresultdto)

```
$result->country    // CountryDocumentEnum
$result->type       // DocumentTypeEnum
$result->raw        // string — valor original
$result->normalized // string — sin separadores
$result->formatted  // string — formato canónico del país
$result->valid      // bool
```

Uso directo de un documento
---------------------------

[](#uso-directo-de-un-documento)

```
$doc = (new DocumentFactory())->make(CountryDocumentEnum::BR, DocumentTypeEnum::CPF);
$doc->isValid('123.456.789-09');  // bool
$doc->format('12345678909');      // '123.456.789-09'
$doc->normalize('123.456.789-09'); // '12345678909'
```

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance94

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

4

Last Release

36d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/562202fef9515226531f2d5c3b8cfc6a0a3a3bb61616204e56e3d93eaec3ed5f?d=identicon)[letkode.app](/maintainers/letkode.app)

---

Top Contributors

[![tjcalma](https://avatars.githubusercontent.com/u/4671171?v=4)](https://github.com/tjcalma "tjcalma (9 commits)")

---

Tags

validationrutdocumentNIFcpfDNIcurplatam

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/letkode-latam-documents/health.svg)

```
[![Health](https://phpackages.com/badges/letkode-latam-documents/health.svg)](https://phpackages.com/packages/letkode-latam-documents)
```

###  Alternatives

[tecnickcom/tc-lib-pdf

PHP PDF Library

1.8k489.4k10](/packages/tecnickcom-tc-lib-pdf)[faisalman/simple-excel-php

Easily parse / convert / write between Microsoft Excel XML / CSV / TSV / HTML / JSON / etc formats

580606.4k1](/packages/faisalman-simple-excel-php)[netcarver/textile

Textile markup language parser

2291.5M16](/packages/netcarver-textile)[api-platform/state

API Platform state interfaces

244.3M111](/packages/api-platform-state)[stevebauman/autodoc-facades

Auto-generate PHP doc annotations for Laravel facades

98205.3k12](/packages/stevebauman-autodoc-facades)[rockett/weasyprint

A feature-rich WeasyPrint wrapper for generating PDFs from HTML and CSS, with support for PDF/A, PDF/UA, attachments, and optional Laravel integration.

29217.1k](/packages/rockett-weasyprint)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
