Download the PHP package aeunius/laravel-numero-a-letras without Composer

On this page you can find all versions of the php package aeunius/laravel-numero-a-letras. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-numero-a-letras

Laravel Número a Letras

Convierte montos a letras con el formato de los comprobantes peruanos de la SUNAT: 1250.50 → MIL DOSCIENTOS CINCUENTA CON 50/100 SOLES.

El núcleo es PHP puro y funciona sin Laravel; la integración con Laravel (facade, helper y configuración) es opcional.

tests Versión en Packagist

Requisitos

Instalación

Uso en Laravel

El paquete se registra solo. Usa el facade o el helper:

En una plantilla Blade:

Configuración

Las opciones por defecto del facade y del helper se cambian publicando la configuración:

Las opciones que encadenas en una llamada (NumeroALetras::dolares()->...) solo valen para esa llamada; la siguiente vuelve a usar la configuración.

Uso sin Laravel

El núcleo no depende de Laravel. El helper numero_a_letras() también funciona, con las opciones por defecto.

Opciones

Estas opciones valen igual para new Conversor y para el facade. El conversor es inmutable: cada opción devuelve uno nuevo y el original no cambia.

Opción Efecto
moneda(string\|Moneda) Código ISO 4217 ('PEN', 'USD', 'EUR'), el enum Enums\Moneda o una moneda propia. Por defecto, soles
soles(), dolares(), euros() Atajos de moneda()
mayusculas() / minusculas() Por defecto, mayúsculas
soloTexto() Solo la parte entera en palabras, sin moneda ni centavos. Descarta los decimales después de redondear: 21.75 → VEINTIUNO
formatoCentavos('fraccion'\|'texto') CON 50/100 SOLES (por defecto) o SOLES CON CINCUENTA CÉNTIMOS
conector('con'\|'y') La palabra entre el entero y los centavos. Por defecto, con

Monedas

Código Singular Plural Centavos
PEN SOL SOLES CÉNTIMOS
USD DÓLAR AMERICANO DÓLARES AMERICANOS CENTAVOS
EUR EURO EUROS CÉNTIMOS

Para otra moneda, implementa Contracts\Moneda:

Solo las palabras

Si solo necesitas las palabras de un entero, en minúsculas:

Reglas

Caso Resultado
Centavos Siempre dos dígitos como fracción: CON 05/100
Cero 0.50 → CERO CON 50/100 SOLES
Cien CIEN, pero CIENTO UNO
Mil MIL, no UN MIL
"Uno" al final, en fracción VEINTIUNO CON 00/100 SOLES: la moneda va después de la fracción, así que el número no se apocopa
"Uno" delante de la moneda, en texto UN SOL, VEINTIÚN SOLES, UN DÓLAR AMERICANO
"Uno" delante de mil, millón o billón VEINTIÚN MIL, UN MILLÓN, TREINTA Y UN MILLONES
Millón o billón exactos, en texto UN MILLÓN DE SOLES, pero UN MILLÓN CIEN SOLES
Moneda femenina, en texto VEINTIUNA LIBRAS, DOSCIENTAS MIL LIBRAS, pero DOSCIENTOS MILLONES DE LIBRAS (concuerda con "millón")
Escala Larga, la del español: MIL MILLONES (10⁹), UN BILLÓN (10¹²)
Tildes Se escriben: DIECISÉIS, VEINTIDÓS, MILLÓN

Qué acepta

Redondeo

A dos decimales, con el medio hacia arriba: 1.005 → UNO CON 01/100, 0.995 → UNO CON 00/100.

Un float se redondea tal como se escribió, no como lo guarda la máquina: para PHP 1.005 es en realidad 1.00499999…, pero aquí se toma como 1.005.

Máximo

999 999 999 999 999,99 (justo debajo de mil billones). Por encima se lanza NumeroFueraDeRango.

Un float pierde precisión en los centavos a partir de unos 15 dígitos en total. Para montos tan grandes, pasa el monto como string.

En el comprobante electrónico

El monto en letras va en la leyenda con código 1000 del catálogo 52 (<cbc:Note languageLocaleID="1000">). La SUNAT no fija la redacción: la leyenda es opcional y sus propias guías usan tanto CON 59/100 Soles como Y 00/100. Por eso el conector se puede cambiar.

Lo que sí fija es el largo: cbc:Note admite hasta 100 caracteres. Hasta 999 999,99 el texto nunca pasa de 86, pero desde las decenas de millones puede superarlo (777777777.77 da 113 caracteres, y los dólares suman 13 más que los soles). El paquete no recorta el texto, porque un monto cortado sería un monto equivocado: si emites comprobantes por esos montos, comprueba el largo antes de enviarlo.

En JavaScript

@aeunius/monto-en-letras da el mismo texto en el navegador o en Node, porque se prueba contra los datasets de este paquete (tests/Datasets/). Sirve para mostrar el monto en letras en un formulario sin llamar al servidor:

Si cambias una regla, cambia primero el dataset aquí y publica un tag: el paquete de JavaScript fija sus datasets a un tag de este repositorio.

Pruebas

Todo corre en Docker; no hace falta PHP instalado.

Licencia

MIT. Ver LICENSE.md.


All versions of laravel-numero-a-letras with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-mbstring Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package aeunius/laravel-numero-a-letras contains the following files

Loading the files please wait ...